Plany zakupów za pomocą interfejsu API

Wyświetlasz dokumentację Apigee Edge.
Przejdź do dokumentacji Apigee X.
info

W tej sekcji opisujemy, jak za pomocą interfejsu API kupić opublikowany plan taryfowy oraz w razie potrzeby anulować lub wycofać zakupiony plan taryfowy.

Kupowanie opublikowanego planu taryfowego za pomocą interfejsu API

Gdy plan taryfowy zostanie opublikowany, 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 podczas kupowania planu taryfowego, ustaw parametr zapytania waivefees na true. Ta flaga jest przydatna podczas przenoszenia deweloperów do zarabiania, jak opisano w Przenoszenie deweloperów do zarabiania.

W tabeli poniżej znajdziesz podsumowanie właściwości konfiguracyjnych, 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 planu taryfowego. Na przykład: 2017-03-24.

Nie dotyczy Tak
endDate

Data zakończenia planu taryfowego. Na przykład: 2017-09-24.

Plan taryfowy będzie obowiązywać do końca dnia w podanej dacie. Jeśli na przykład chcesz, aby plan taryfowy wygasł 1 grudnia 2017 r., ustaw wartość endDate na 2017-11-30. W takim przypadku plan taryfowy wygaśnie o północy 30 listopada 2017 r., a wszystkie żądania z 1 grudnia 2017 r. zostaną zablokowane.

Nie dotyczy Nie
developer

Właściwość id określająca identyfikator dewelopera lub firmy, która kupuje 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 tego, jaki procent docelowej liczby został osiągnięty, np. 90%, 100% lub 150%. Po osiągnięciu docelowej liczby dodatkowe transakcje nie są blokowane.

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

0 Nie
ratePlan

Właściwość id określająca identyfikator planu taryfowego.

Identyfikator planu taryfowego różni się od nazwy wyświetlanej. Aby wyświetlić szczegóły planu taryfowego w tym jego identyfikator, zobacz Przeglądanie strony planów taryfowych.

Nie dotyczy Tak
suppressWarning

Flaga określająca, czy należy pominąć błąd, jeśli deweloper próbuje kupić plan taryfowy, który pokrywa się z innym zakupionym planem taryfowym. Wartość może być jedną z tych:

  • true - zarabianie kończy wszystkie zakupione plany taryfowe, które deweloper ma w pakietach interfejsów API zawierających sprzeczne usługi API. Następnie kupuje dla dewelopera nowy pakiet interfejsów API.
  • false – w przypadku nakładającego się planu taryfowego zgłaszany jest błąd.
Nie dotyczy Nie
waveTerminationCharge

Flaga określająca, czy opłaty za rozwiązanie umowy są pomijane, gdy aktywny plan taryfowy jest rozwiązywany w ramach aktywacji nowego planu taryfowego. Wartość może być jedną z tych:

  • true – opłata za rozwiązanie umowy jest pomijana, gdy aktywny plan taryfowy jest rozwiązywany w ramach aktywacji nowego planu taryfowego.
  • false – opłata za rozwiązanie umowy nie jest pomijana, gdy aktywny plan taryfowy jest rozwiązywany w ramach aktywacji nowego planu taryfowego.
Nie dotyczy Nie

Na przykład to żądanie kupuje plan taryfowy 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 razie konfliktu zostanie zgłoszony błąd. Jeśli na przykład deweloper spróbuje kupić plan taryfowy, który pokrywa się z innym zakupionym planem taryfowym, zostanie zgłoszony błąd. Umożliwia to aplikacji, która udostępnia interfejs użytkownika do zarabiania, przechwycenie błędu i wyświetlenie deweloperowi sprzecznych produktów w celu potwierdzenia (w razie potrzeby). Jeśli suppressWarning jest ustawiona na true, zarabianie kończy wszystkie zakupione plany taryfowe, które deweloper ma w pakietach interfejsów API zawierających sprzeczne produkty. Następnie kupuje dla dewelopera nowy pakiet interfejsów API.

To żądanie kupuje plan taryfowy z regulowanymi powiadomieniami 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órymkolwiek z powyższych przykładów zostanie zwrócony ten komunikat o błędzie:

Developer legal name not specified. 

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

Wycofywanie planu taryfowego kupionego przez dewelopera za pomocą interfejsu API

Aby wycofać (lub anulować) plan taryfowy kupiony przez dewelopera, zaktualizuj szczegóły zakupionego planu taryfowego i określ właściwość endDate w treści żądania PUT do zasobu /organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans/{developer_rateplan_id}.

Plan taryfowy będzie obowiązywać do końca dnia w podanej dacie zakończenia. Jeśli na przykład chcesz, aby plan taryfowy wygasł 1 grudnia 2017 r., powinieneś ustawić wartość endDate na 2017-11-30. W takim przypadku plan taryfowy wygaśnie o północy 30 listopada 2017 r., a wszystkie żądania z 1 grudnia 2017 r. zostaną zablokowane.

W odpowiedzi na zakup opublikowanego planu taryfowego zwracany jest identyfikator {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 planu taryfowego dewelopera, 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 artykule Wyświetlanie wszystkich planów taryfowych kupionych przez dewelopera.

To żądanie aktualizuje datę zakończenia na 1 grudnia 2017 r. Oznacza to, że plan taryfowy wygaśnie o północy 30 listopada 2017 r., a wszystkie żądania 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
  }'