Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
Z tej sekcji dowiesz się, jak kupić opublikowany abonament i w razie potrzeby anulować lub wygasić kupiony abonament za pomocą interfejsu API.
Kupowanie opublikowanego planu stawek przy użyciu interfejsu API
Po opublikowaniu planu cenowego deweloper lub firma może go kupić (lub „zaakceptować”), wysyłając żądanie POST do /mint/organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans
, gdzie {org_name}
to nazwa organizacji, a {developer_or_company_id}
to identyfikator dewelopera lub firmy.
Aby zrezygnować z opłat konfiguracyjnych przy zakupie abonamentu, ustaw parametr zapytania waivefees
na true
. Ta flaga jest przydatna, gdy przenosisz deweloperów do funkcji zarabiania zgodnie z opisem w sekcji Przenoszenie deweloperów do funkcji zarabiania.
W tabeli poniżej znajdziesz podsumowanie właściwości konfiguracji, które możesz określić w treści żądania, ich wartości domyślne i informacji o tym, czy są wymagane.
Nazwa | Opis | Domyślne | Wymagana? |
---|---|---|---|
startDate |
Data rozpoczęcia abonamentu. Przykład: 2017-03-24. |
Nie dotyczy | Tak |
endDate |
Data zakończenia abonamentu. Przykład: 2017-09-24. Abonament będzie obowiązywał do końca dnia w określonym dniu. Jeśli chcesz wygasnąć, na przykład 1 grudnia 2017 roku, ustaw wartość endDate na 2017-11-30. W takim przypadku abonament wygasa 30 listopada 2017 roku. Wszystkie żądania wysłane z dnia 1 grudnia 2017 roku zostaną zablokowane. |
Nie dotyczy | Nie |
developer |
|
Nie dotyczy | Tak |
quotaTarget |
Docelowa liczba transakcji dozwolona przez dewelopera aplikacji. Możesz określić, czy i kiedy powiadomienia mają być wysyłane w zależności od tego, jaki procent liczby docelowej został osiągnięty, np. 90%, 100% lub 150%. Po osiągnięciu docelowej liczby dodatkowe transakcje nie są blokowane. Ustaw tę wartość na dodatnią liczbę całkowitą lub 0, aby wyłączyć powiadomienia od dewelopera aplikacji. |
0 |
Nie |
ratePlan |
Identyfikator planu stawek różni się od wyświetlanej nazwy. Informacje o tym, jak wyświetlić szczegóły abonamentu, w tym jego identyfikator, znajdziesz w sekcji Informacje o stronie z planami stawek. |
Nie dotyczy | Tak |
suppressWarning |
Flaga określająca, czy zablokować błąd, jeśli deweloper spróbuje kupić abonament, który pokrywa się z innym kupionym abonamentem. Możliwe wartości:
|
Nie dotyczy | Nie |
waveTerminationCharge |
Flaga określająca, czy opłaty za zerwanie umowy są zwalniane po zakończeniu aktywnego abonamentu w ramach aktywacji nowego abonamentu. Możliwe wartości:
|
Nie dotyczy | Nie |
Na przykład to żądanie kupuje abonament location_&_messaging
dla określonego dewelopera:
curl "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/5cTWgdUvdr6JW3xU/developer-rateplans" \ -X POST \ -H "Content-Type:application/json" \ -u email:password \ -d '{ "developer":{ "id":"5cTWgdUvdr6JW3xU" }, "startDate":"2017-08-30", "ratePlan":{ "id":"location_&_messaging" }, "suppressWarning":false }'
W tym przykładzie właściwość suppressWarning
ma wartość false
. W takim przypadku w przypadku konfliktu zostanie zgłoszony błąd. Jeśli na przykład deweloper spróbuje kupić abonament, który pokrywa się z innym kupionym abonamentem, wystąpi błąd. Dzięki temu aplikacja udostępniająca interfejs zarabiania będzie mogła przechwycić błąd i w razie potrzeby wyświetlić deweloperowi produkty powodujące konflikt, aby je potwierdzić. Jeśli suppressWarning
ma wartość true
, funkcja zarabiania kończy wszystkie zakupione plany cenowe, które deweloper musi użyć interfejsu API, aby dodać produkty, które są w konflikcie. Następnie kupuje nowy pakiet interfejsu API dla dewelopera.
To żądanie kupuje plan z możliwością dostosowania stawki powiadomień i ustawia docelową liczbę transakcji na 4000.
curl "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/5cTWgdUvdr6JW3xU/developer-rateplans" \ -X POST \ -H "Content-Type:application/json" \ -u email:password \ -d '{ "developer":{ "id":"5cTWgdUvdr6JW3xU" }, "ratePlan":{ "id":"adjustable-notification-plan" }, "startDate": "2017-03-24", "quotaTarget": 4000, "suppressWarning":false }'
Jeśli w którymś z powyższych przykładów zostanie zwrócony następujący komunikat o błędzie:
Developer legal name not specified.
Następnie musisz ustawić atrybuty zarabiania MINT_DEVELOPER_ADDRESS
i MINT_DEVELOPER_LEGAL_NAME
, a potem powtórzyć wywołanie interfejsu API.
Wygaśnięcie abonamentu kupionego przez dewelopera przy użyciu interfejsu API
Aby wygasić (lub anulować) abonament kupiony przez dewelopera, zaktualizuj szczegóły zakupionego abonamentu i określ właściwość endDate
w treści żądania w żądaniu PUT do zasobu /organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans/{developer_rateplan_id}
.
Abonament będzie obowiązywać do końca dnia w określonym dniu zakończenia. Jeśli chcesz zakończyć abonament np. 1 grudnia 2017 roku, ustaw wartość endDate na 2017-11-30. W tym przypadku abonament wygasa 30 listopada 2017 roku. Wszystkie żądania wysłane z dnia 1 grudnia 2017 r. zostaną zablokowane.
Gdy kupisz opublikowany abonament, w odpowiedzi wyświetli się {developer_rateplan_id}
.
Na przykład:
{ "created": "2017-03-31 18:59:54", "developer": { ... }, "id": "b1c600b8-f871-496d-8173-12b9950d6ab1", "quotaTarget": 3000, "ratePlan": { ... }, "startDate": "2017-03-31 00:00:00", "updated": "2017-03-31 18:59:54", "waiveTerminationCharge": false }
Możesz też uzyskać {developer-rateplan-id}
dla abonamentu dla deweloperów, wysyłając żądanie GET
do /organizations/{org_name}/developers/{developer_id}/developer-accepted-rateplans
,
gdzie {developer_id}
to adres e-mail dewelopera. Więcej informacji znajdziesz w sekcji Wyświetlanie wszystkich abonamentów zakupionych przez dewelopera.
Ta prośba zmienia datę zakończenia na 1 grudnia 2017 roku. Oznacza to, że abonament wygaśnie z końcem dnia 30 listopada 2017 r. Wszystkie żądania przypadające na 1 grudnia 2017 r. zostaną zablokowane.
curl "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/developer-rateplans/b1c600b8-f871-496d-8173-12b9950d6ab1" -X PUT \ -H "Content-Type:application/json" \ -u email:password \ -d '{ "id" : "b1c600b8-f871-496d-8173-12b9950d6ab1", "developer":{ "id":"dev@mycompany.com" }, "ratePlan":{ "id":"p1_adjustable-notification-plan" }, "startDate": "2017-04-15 00:00:00", "endDate": "2017-11-30", "quotaTarget": 3000, "suppressWarning":false }'