Plany zakupów za pomocą interfejsu API

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

id, która określa identyfikator dewelopera lub firmy, która kupuje abonament.

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

id, która określa identyfikator planu taryfowego.

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:

  • true – funkcja zarabiania powoduje zakończenie wszystkich zakupionych abonamentów, które deweloper musi przejść do interfejsów API, które zawierają produkty API będące w konflikcie. Następnie kupuje nowy pakiet interfejsu API dla dewelopera.
  • false – w przypadku nakładania się planu stawek pojawia się błąd.
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:

  • true – zrezygnuj z opłaty za zerwanie umowy po zakończeniu aktywnego abonamentu w ramach aktywacji nowego abonamentu.
  • false – Nie zrzekaj się opłaty za zerwanie umowy, gdy aktywny abonament zostanie zakończony w ramach aktywacji nowego abonamentu.
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
  }'