Plany zakupów za pomocą interfejsu API

Wyświetlasz dokumentację Apigee Edge.
Zapoznaj się z dokumentacją Apigee X.
Informacje

Ta sekcja zawiera informacje o tym, jak za pomocą interfejsu API kupić opublikowany plan stawek oraz w razie potrzeby wygasić lub anulować zakupiony abonament.

Kupowanie opublikowanego planu cenowego za pomocą interfejsu API

Po opublikowaniu planu stawek deweloper lub firma może go kupić (albo „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 za konfigurację podczas zakupu abonamentu, ustaw parametr zapytania waivefees na true. Ten parametr jest przydatny podczas migracji deweloperów do generowania przychodu, jak opisano w artykule Migrating developers to monetization (w języku angielskim).

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 oraz informacje o tym, czy są wymagane.

Nazwa Opis Domyślny Wymagany?
startDate

Data rozpoczęcia abonamentu. Przykład: 2017-03-24.

Nie dotyczy Tak
endDate

Data zakończenia obowiązywania planu cenowego. Na przykład: 2017-09-24.

Plan stawek będzie obowiązywać do końca dnia wskazanego w dacie. Jeśli chcesz, aby ważność planu cenowego wygasła np. 1 grudnia 2017 r., ustaw wartość parametru endDate na 2017-11-30. W tym przypadku abonament wygaśnie 30 listopada 2017 r. Wszystkie prośby z 1 grudnia 2017 r. zostaną zablokowane.

Nie dotyczy Nie
developer

Właściwość id, która określa identyfikator dewelopera lub firmy kupującej plan taryfowy.

Nie dotyczy Tak
quotaTarget

Docelowa liczba transakcji dozwolonych dla dewelopera aplikacji. Możesz skonfigurować, czy i kiedy mają być wysyłane powiadomienia na podstawie procentu wartości docelowej, np. 90%, 100% lub 150%. Po osiągnięciu liczby docelowej dodatkowe transakcje nie są blokowane.

Ustaw tę wartość na dodatnią liczbę całkowitą lub 0, aby wyłączyć powiadomienia dla dewelopera aplikacji.

0 Nie
ratePlan

Właściwość id, która określa identyfikator abonamentu.

Identyfikator abonamentu jest inny niż wyświetlana nazwa. Aby wyświetlić szczegóły abonamentu, w tym jego identyfikator, zapoznaj się z artykułem Eksplorowanie strony abonamentów.

Nie dotyczy Tak
suppressWarning

Flaga określająca, czy chcesz wyeliminować błąd, jeśli deweloper próbuje kupić abonament, który pokrywa się z innym kupionym abonamentem. Wartość może być jedną z tych:

  • true – monetyzacja kończy wszystkie zakupione abonamenty, które deweloper ma w pakietach interfejsów API zawierających kolidujące produkty API. Następnie kupuje nowy pakiet interfejsu API dla dewelopera.
  • false – w przypadku pokrywających się planów stawek pojawia się błąd.
Nie dotyczy Nie
waveTerminationCharge

Flaga określająca, czy opłaty za rozwiązanie są zwolnione, gdy aktywny abonament zostanie zakończony w ramach aktywacji nowego abonamentu. Wartość może być jedną z tych:

  • true – zrzeczenie się opłaty za rozwiązanie umowy w przypadku rozwiązania aktywnego planu stawek w ramach aktywacji nowego planu stawek.
  • false – nie zrzekaj się opłaty za rozwiązanie, jeśli aktywny abonament zostanie zakończony w ramach aktywowania 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 jest ustawiona na false. W takim przypadku w przypadku konfliktu wystąpi błąd. Jeśli na przykład deweloper spróbuje kupić abonament, który pokrywa się z innym kupionym abonamentem, wystąpi błąd. Umożliwia to aplikacji, która udostępnia interfejs do generowania przychodu, przechwycenie błędu i wyświetlenie deweloperowi produktów, które się ze sobą wykluczają, w celu potwierdzenia (w odpowiednich przypadkach). Jeśli opcja suppressWarning jest ustawiona na true, zarabianie kończy się w przypadku wszystkich zakupionych przez dewelopera abonamentów pakietów interfejsu API, które zawierają usługi wchodzące w sprzeczność. Następnie kupuje nowy pakiet interfejsu API dla dewelopera.

W tym żądaniu kupowany jest plan z regulowaną częstotliwością powiadomień, a docelowa liczba transakcji jest ustawiana 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
  }'

W każdym z tych przykładów, jeśli zwrócony zostanie ten komunikat o błędzie:

Developer legal name not specified. 

Następnie musisz ustawić atrybuty zarabiania MINT_DEVELOPER_ADDRESS i MINT_DEVELOPER_LEGAL_NAME, a następnie powtórzyć wywołanie interfejsu API.

Wygaśnięcie abonamentu zakupionego przez dewelopera za pomocą interfejsu API

Aby wygasić (lub anulować) abonament zakupiony przez dewelopera, zaktualizuj szczegóły zakupionego abonamentu i wskaż właściwość endDate w ciele żądania w zaproszeniu PUT do zasobu /organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans/{developer_rateplan_id}.

Plan stawek będzie obowiązywać do końca dnia podanego w dacie zakończenia. Jeśli na przykład chcesz wygasnąć 1 grudnia 2017 r., ustaw wartość endDate na 2017-11-30. W tym przypadku abonament wygaśnie 30 listopada 2017 r. Wszystkie prośby z 1 grudnia 2017 r. zostaną zablokowane.

Gdy kupisz opublikowany plan stawek, wartość {developer_rateplan_id} jest zwracana w odpowiedzi.

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 planu stawek dla deweloperów, wysyłając żądanie GET do usługi /organizations/{org_name}/developers/{developer_id}/developer-accepted-rateplans, gdzie {developer_id} to adres e-mail dewelopera. Więcej informacji znajdziesz w artykule Wyświetlanie wszystkich planów stawek zakupionych przez dewelopera.

Ta prośba zmienia datę końcową na 1 grudnia 2017 roku. Oznacza to, że abonament wygaśnie 30 listopada 2017 r. Wszystkie prośby z 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
  }'