Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Umieść co najmniej 1 usługę API w jednym kontenerze umożliwiającym zarabianie, nazywanym pakietem usług API, jak opisano w dalszej części tego artykułu.
Co to jest pakiet produktów API?
Pakiet produktów interfejsów API to zbiór usług interfejsu API, który jest prezentowany deweloperom jako grupa i zwykle jest powiązany z co najmniej 1 abonamentem służącym do zarabiania. Możesz utworzyć wiele pakietów produktów API i uwzględniać w nich co najmniej 1 produkt API. Te same produkty i usługi API możesz umieścić w różnych pakietach i powiązać je z różnymi (lub takimi samymi) planami stawek.
Deweloperzy mogą zarejestrować swoje aplikacje, aby korzystać z pakietu usług API tylko przez zakup jednego z obecnie obowiązujących abonamentów. Pakiet produktów interfejsu API nie jest widoczny dla deweloperów, dopóki nie dodasz i nie opublikujesz (jako publicznego) planu stawek dla pakietu produktów. (z datą rozpoczęcia przypadającą w bieżącej lub przyszłości) zgodnie z opisem w artykule Zarządzanie planami stawek. Gdy dodasz i opublikujesz plan stawek, deweloperzy logujący się w Twoim portalu dla deweloperów będą mogli wybrać pakiet usług API i wybierz abonament. Możesz też zaakceptować abonament dewelopera za pomocą interfejsu API do zarządzania. Więcej informacji znajdziesz w artykule Kupowanie opublikowanych abonamentów przy użyciu interfejsu API.
Po dodaniu produktu API do pakietu produktów API może być konieczne ustawienie pułapów cenowych dla i usługa API. Jest to konieczne tylko wtedy, gdy są spełnione wszystkie te warunki:
- Konfigurujesz plan udziału w przychodach dla usługi API.
- Deweloperzy obciążają firmy zewnętrzne za korzystanie z zasobów interfejsu API.
- Istnieje minimalne lub maksymalne ograniczenie kwoty, którą programiści mogą pobierać, i chcesz, , aby powiadomić deweloperów o ograniczeniach.
Ceny minimalne i maksymalne są wyświetlane w szczegółach pakietu produktów API.
Omówienie strony Pakiety produktów
Otwórz stronę Pakiety produktów w sposób opisany poniżej.
Edge
Aby uzyskać dostęp do strony pakietów produktów API za pomocą interfejsu Edge, wybierz Opublikuj > Zarabianie > Pakiety produktów na pasku nawigacyjnym po lewej stronie.
Jak zaznaczyliśmy na poprzednim wykresie, na stronie Pakiety produktów możesz:
- Wyświetlanie podsumowania informacji o wszystkich pakietach produktów, w tym nazw pakietów i zawartych w nich usług interfejsu API
- Dodawanie pakietu produktów
- Edytowanie pakietu produktów
- Przeszukaj listę pakietów produktów w dowolnym widocznym polu
Możesz zarządzać produktami w pakiecie API lub usunąć pakiet produktów (jeśli nie zdefiniowano żadnych abonamentów) tylko za pomocą interfejsu API.
Classic Edge (Private Cloud)
Aby uzyskać dostęp do strony pakietów interfejsów API w interfejsie Classic Edge, wybierz Opublikuj > Pakiety na górnym pasku nawigacyjnym.
Strona Pakiety interfejsów API umożliwia:
- Wyświetlanie podsumowania informacji o wszystkich pakietach interfejsów API, w tym o ich usługach i powiązanych planach stawek
- Dodaj pakiet interfejsu API
- Edytuj pakiet interfejsu API
- Dodawanie planów stawek i zarządzanie nimi
- Przełącz ustawienie dostępu do abonamentu (publiczny/prywatny)
- Filtrowanie listy pakietów
Możesz zarządzać usługami interfejsu API w pakiecie interfejsów API lub usunąć pakiet API (jeśli nie zdefiniowano żadnych abonamentów) tylko za pomocą interfejsu API.
Dodawanie pakietu produktów
Aby dodać pakiet produktów API:
- Na stronie Pakiety produktów kliknij + Pakiet usług API.
- Wpisz nazwę pakietu produktów interfejsu API.
W polu Dodaj produkt wpisz nazwę usługi interfejsu API.
Gdy zaczniesz wpisywać nazwę usługi API, pojawi się lista usług interfejsu API, które zawierają ten ciąg znaków. Kliknij nazwę usługi API, aby dodać ją do pakietu. Powtórz te czynności, aby dodać kolejne produkty do interfejsu API.
- Powtórz krok 3, aby dodać kolejne nazwy usług do interfejsu API.
- W przypadku każdej dodanej usługi API skonfiguruj zasady rejestrowania transakcji.
- Kliknij Zapisz pakiet produktów.
Edytowanie pakietu produktów
Aby edytować pakiet produktów:
Na stronie Pakiety produktów kliknij wiersz pakietu, który chcesz edytować.
Pojawi się panel pakietu produktów.
Zmień odpowiednio pola pakietu produktów.
Więcej informacji znajdziesz w artykule na temat konfigurowania zasady rejestrowania transakcji.
- Kliknij Zaktualizuj pakiet produktów.
Zarządzanie pakietami produktów interfejsu API za pomocą interfejsu API
W sekcjach poniżej opisujemy, jak zarządzać pakietami produktów interfejsu API za pomocą interfejsu API.
Tworzenie pakietu produktów interfejsu API przy użyciu interfejsu API
Aby utworzyć pakiet produktów API, wyślij żądanie POST do
/organizations/{org_name}/monetization-packages
Gdy przesyłasz prośbę,
musi:
- Określ produkty API, które chcesz uwzględnić w pakiecie produktów API.
- Podaj nazwę i opis pakietu produktów interfejsu API.
- Ustaw wskaźnik stanu dla pakietu produktów interfejsu API. Wskaźnik stanu może mieć jedną z te wartości: CREATED, ACTIVE, INACTIVE. Obecnie podana wartość wskaźnika stanu jest zachowany w pakiecie produktów API, ale nie jest używany do żadnych celów.
Opcjonalnie możesz określić organizację.
Listę opcji dostępnych dla użytkowników znajdziesz w sekcji Właściwości konfiguracji pakietu usług API. interfejs API.
Na przykład:
$ curl -H "Content-Type:application/json" -X POST -d \ '{ "description": "payment messaging package", "displayName": "Payment Messaging Package", "name": "Payment Messaging Package", "organization": { "id": "{org_name}" }, "product": [ { "id": "messaging" }, { "id": "payment" } ], "status": "CREATED" }' \ "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages" \ -u email:password
Oto przykład takiej odpowiedzi:
{ "description" : "payment messaging package", "displayName" : "Payment Messaging Package", "id" : "payment_messaging_package", "name" : "Payment Messaging Package", "organization" : { "id" : "{org_name}", "separateInvoiceForFees" : false }, "product" : [ { "customAtt1Name" : "user", "description" : "Messaging", "displayName" : "Messaging", "id" : "messaging", "name" : "messaging", "organization" : { "id" : "{org_name}", "separateInvoiceForFees" : false }, "status" : "CREATED" }, { "customAtt1Name" : "user", "description" : "Payment", "displayName" : "Payment", "id" : "payment", "name" : "payment", "organization" : { "id" : "{org_name}", "separateInvoiceForFees" : false }, "status" : "CREATED" }], "status" : "CREATED" }
Zwróć uwagę, że odpowiedź zawiera dodatkowe informacje o usługach API i wszelkie niestandardowe określonych dla tych produktów API. (Atrybuty niestandardowe są określane podczas tworzenia i usługi API). Niestandardowe atrybuty produktu API można uwzględniać w różnych planach stawek. Dla: Jeśli np. skonfigurujesz plan arkusza stawek, w którym obciążasz dewelopera za każdą transakcję, może ustawić stawkę w ramach abonamentu na podstawie atrybutu niestandardowego, takiego jak liczba przesyłanych bajtów w transakcji.
Zarządzanie produktami w pakiecie API za pomocą interfejsu API
Możesz dodać lub usunąć produkt API z pakietu produktów za pomocą interfejsu API w sposób opisany w poniższych sekcji.
Dodawanie usługi API do pakietu produktów interfejsu API
Aby dodać usługę API do pakietu produktów interfejsu API, wyślij żądanie POST do
organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}
,
gdzie {org_name}
określa nazwę Twojej organizacji ({package_id}
)
określa nazwę pakietu produktów API, a {product_id}
określa identyfikator API
usługi.
Na przykład:
$ curl -H "Accept:application/json" -X POST -d \ '{}'\ "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \ -u email:password
Dodawanie usługi API do pakietu produktów interfejsu API za pomocą interfejsu API plany stawek dla poszczególnych usług
Aby dodać usługę API do pakietu usług API, który ma co najmniej 1 abonament dla poszczególnych usług API
(arkusz stawek lub udział w przychodach), wyślij żądanie POST do
organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}
,
gdzie {org_name}
określa nazwę Twojej organizacji ({package_id}
)
określa nazwę pakietu produktów API, a {product_id}
określa identyfikator API
usługi.
Musisz przekazać w treści żądania szczegóły abonamentu nowej usługi API. Z wyjątkiem
w tablicy ratePlanRates
, wartości abonamentu muszą być zgodne z tymi określonymi dla wszystkich
i innych usług API. Więcej informacji o atrybutach planu stawek, które można zdefiniować, znajdziesz na stronie
Właściwości konfiguracji
w przypadku planów stawek.
Na przykład:
$ curl -H "Content-Type:application/json" -X POST -d \ '{ "ratePlan": [ { "id": "mypackage_rateplan1", "ratePlanDetails": [ { "currency": { "id": "usd" }, "duration": 1, "durationType": "MONTH", "meteringType": "UNIT", "organization" : { "id": "{org_name}", "paymentDueDays": "30", "ratePlanRates": [ { "rate": "1.99", "startUnit": "0", "type": "RATECARD" } ], "ratingParameter": "VOLUME", "type": "RATECARD" } ] } ] }' \ "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \ -u email:password
Usuwanie usługi API z pakietu produktów API
Aby usunąć produkt API z pakietu produktów API, wyślij żądanie DELETE do
organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}
,
gdzie {org_name}
określa nazwę Twojej organizacji ({package_id}
)
określa nazwę pakietu produktów API, a {product_id}
określa identyfikator API
usługi.
Na przykład:
$ curl -H "Accept:application/json" -X DELETE \ "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \ -u email:password
Wyświetlanie pakietów produktów interfejsu API przy użyciu interfejsu API
Możesz pobrać określony pakiet produktów API lub wszystkie pakiety usług API w organizacji. Możesz też pobierania pakietów produktów API, które zawierają transakcje w danym zakresie dat, tj. tylko pakiety dla którzy użytkownicy wywołują aplikacje korzystające z interfejsów API w tych pakietach na określonym początku i końcu datę.
Wyświetlanie określonego pakietu produktów interfejsu API: aby pobrać określony pakiet produktów interfejsu API, wyślij żądanie GET
do /organizations/{org_name}/monetization-packages/{package_id}
, gdzie
{package_id} oznacza pakiet produktów API (identyfikator jest zwracany w
podczas tworzenia pakietu produktów interfejsu API). Na przykład:
$ curl -H "Accept:application/json" -X GET \ "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/payment_messaging_package" \ -u email:password
Wyświetlanie wszystkich pakietów produktów API: aby pobrać wszystkie pakiety usług API dla organizacji, wyślij metodę GET
żądanie do: /organizations/{org_name}/monetization-packages
. Na przykład:
$ curl -H "Accept:application/json" -X GET \ "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages" \ -u email:password
Aby filtrować wyniki, możesz przekazać te parametry zapytania:
Parametr zapytania | Opis |
---|---|
all |
Flaga, która określa, czy mają zostać zwrócone wszystkie pakiety produktów interfejsu API. Jeśli ma wartość false, liczba pakietów produktów API zwróconych na stronę wynosi
zdefiniowane przez parametr zapytania size . Wartość domyślna to false. |
size |
Liczba pakietów produktów API zwróconych na stronę. Wartość domyślna to 20. Jeśli zapytanie all
ma wartość true , jest on ignorowany. |
page |
Numer strony, którą chcesz zwrócić (jeśli treść jest podzielona na strony). Jeśli
parametr zapytania all ma wartość true , to
jest ignorowany. |
Odpowiedź dotycząca wyświetlenia wszystkich pakietów produktów API w organizacji powinna wyglądać tak (tylko część odpowiedzi):
{ "monetizationPackage" : [ { "description" : "payment messaging package", "displayName" : "Payment Messaging Package", "id" : "payment_messaging_package", "name" : "Payment Messaging Package", "organization" : { ... }, "product" : [ { "customAtt1Name" : "user", "description" : "Messaging", "displayName" : "Messaging", "id" : "messaging", "name" : "messaging", "organization" : { ... }, "status" : "CREATED" }, { "customAtt1Name" : "user", "description" : "Payment", "displayName" : "Payment", "id" : "payment", "name" : "payment", "organization" : { ... }, "status" : "CREATED" } ], "status" : "CREATED" }, { "description" : "Communications", "displayName" : "Communications", "id" : "communications", "name" : "Communications", "organization" : { ... }, "product" : [ { "customAtt1Name" : "user", "description" : "Location", "displayName" : "Location", "id" : "location", "name" : "location", "organization" : { ... }, "status" : "CREATED" }, { "customAtt1Name" : "user", "description" : "Messaging", "displayName" : "Messaging", "id" : "messaging", "name" : "messaging", "organization" : { ... }, "status" : "CREATED" } ], "status" : "CREATED" }, { "description" : "Payment", "displayName" : "Payment", "id" : "payment", "name" : "Payment", "organization" : { ... }, "product" : [ { "customAtt1Name" : "user", "description" : "Payment", "displayName" : "Payment", "id" : "payment", "name" : "payment", "organization" : { ... }, "status" : "CREATED" } ], "status" : "CREATED" } ], "totalRecords" : 3 }
Wyświetlanie pakietów produktów API z transakcjami: aby pobrać pakiety produktów API z transakcjami w
wybranego zakresu dat, wyślij żądanie GET do
/organizations/{org_name}/packages-with-transactions
Gdy przesyłasz prośbę,
Trzeba podać jako parametry zapytania datę rozpoczęcia i zakończenia zakresu dat. Dla:
Poniższe żądanie pobiera na przykład pakiety produktów interfejsu API z transakcjami w miesiącu
Sierpień 2013 r.
$ curl -H "Accept:application/json" -X GET \ "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/packages-with-transactions?START_DATE=2013-08-01&END_DATE=2013-08-31" \ -u email:password
Odpowiedź powinna wyglądać mniej więcej tak (widoczna jest tylko jej część):
{ "monetizationPackage" : [ { "description" : "Payment Package", "displayName" : "Payment Package", "id" : "payment_package", "name" : "Payment Package", "organization" : { ... }, "product" : [ { "customAtt1Name" : "user", "customAtt2Name" : "response size", "customAtt3Name" : "content-length", "description" : "payment api product", "displayName" : "payment", "id" : "payment", "name" : "payment", "organization" : { ... }, "status" : "CREATED", "transactionSuccessCriteria" : "status == 'SUCCESS'" } ], "status" : "CREATED" }, { "description" : "messaging package", "displayName" : "Messaging Package", "id" : "messaging_package", "name" : "Messaging Package", "organization" : { ... }, "product" : [ { "customAtt1Name" : "user", "customAtt2Name" : "response size", "customAtt3Name" : "content-length", "description" : "messaging api product", "displayName" : "messaging", "id" : "messaging", "name" : "messaging", "organization" : { ... }, "status" : "CREATED", "transactionSuccessCriteria" : "status == 'SUCCESS'" } ], "status" : "CREATED" }, ... } ] }
Wyświetlanie pakietów usług interfejsu API zaakceptowanych przez dewelopera lub firmę za pomocą interfejsu API
Wyświetlanie pakietów usług API zaakceptowanych przez określonego dewelopera lub firmę za pomocą metody GET do następujących interfejsów API:
/organizations/{org_name}/developers/{developer_id}/monetization-packages
, gdzie {developer_id} to identyfikator (adres e-mail) dewelopera./organizations/{org_name}/companies/{company_id}/monetization-packages
, gdzie {company_id} to identyfikator firmy.
W żądaniu możesz opcjonalnie określić te parametry zapytania:
Parametr zapytania | Opis | Domyślny |
---|---|---|
current |
Flaga określająca, czy chcesz pobrać tylko aktywne pakiety produktów interfejsu API (current=true ), czy wszystkie
pakiety (current=false ). Wszystkie plany stawek w aktywnym pakiecie są uznawane za
i dostępności informacji. |
current=false |
allAvailable |
Flaga określająca, czy należy pobrać wszystkie dostępne pakiety produktów interfejsu API (allAvailable=true ) czy
tylko pakiety usług API dostępne specjalnie dla dewelopera lub firmy (allAvailable=false ).
„Wszystkie dostępne” dotyczą pakietów usług API, które są dostępne dla określonego dewelopera lub firmy oprócz
z innymi deweloperami lub firmami. Pakiety usług API dostępne specjalnie dla firmy lub dewelopera zawierają tylko plany stawek
które są dostępne wyłącznie dla tej firmy lub dewelopera. |
allAvailable=true |
Na przykład poniższe żądanie pobiera wszystkie pakiety produktów API zaakceptowane przez określony deweloper:
$ curl -H "Accept:application/json" -X GET \ "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/dev1@myorg.com/monetization-packages" \ -u email:password
To żądanie pobiera tylko aktywne pakiety API zaakceptowane przez określoną firmę:
$ curl -H "Accept:application/json" -X GET \ "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/companies/myCompany/monetization-packages?current=true" \ -u email:password
Usuwanie pakietu produktów z interfejsem API za pomocą interfejsu API
Pakiet produktów interfejsu API możesz usunąć tylko wtedy, gdy nie ma zdefiniowanych żadnych planów stawek.
Aby usunąć pakiet produktów API, który nie ma zdefiniowanych żadnych planów stawek, wyślij żądanie DELETE
do: organizations/{org_name}/monetization-packages/{package_id}
,
gdzie {org_name}
określa nazwę Twojej organizacji
a {package_id}
określa nazwę pakietu produktów interfejsu API.
Na przykład:
$ curl -H "Accept:application/json" -X DELETE \ "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}" \ -u email:password
Właściwości konfiguracji pakietu produktów interfejsu API dla interfejsu API
Interfejs API ma dostęp do tych opcji konfiguracji pakietów produktów:
Nazwa | Opis | Domyślny | Wymagana? |
---|---|---|---|
description |
Opis pakietu produktów interfejsu API. |
Nie dotyczy | Tak |
displayName |
Nazwa wyświetlana dla pakietu produktów interfejsu API (na przykład w katalogu interfejsów API pakiety). |
Nie dotyczy | Tak |
name |
Nazwa pakietu produktów interfejsu API. |
Nie dotyczy | Tak |
organization |
Organizacja, która zawiera pakiet usług API. |
Nie dotyczy | Nie |
product |
Tablica z co najmniej jednym produktem w pakiecie produktów API. |
Nie dotyczy | Nie |
status |
Wskaźnik stanu pakietu produktów interfejsu API. Wskaźnik stanu może mieć jedną z te wartości: CREATED, ACTIVE, INACTIVE. |
Nie dotyczy | Tak |