Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. info
Wprowadzenie
W niektórych przypadkach liczniki transakcji mogą być oparte na zmiennej lub wartości niestandardowej. Możesz na przykład:
- obciążają deweloperów zmienną kwotę na podstawie wartości podanej w komunikacie wywołania interfejsu API. Możesz na przykład pobierać opłaty od deweloperów aplikacji na podstawie liczby bajtów przesyłanych w żądaniu interfejsu API.
- Połącz wiele wywołań interfejsu API w ramach jednej transakcji.
Dzięki planom stawek z atrybutami niestandardowymi możesz określić wartość w komunikacie wywołania interfejsu API, która działa jak licznik, która służy do obliczania liczby transakcji i opłat.
Obsługiwane są te plany cenowe z atrybutami niestandardowymi:
- Arkusz stawek z atrybutem niestandardowym
- Dostosowanie powiadomienia z niestandardowym atrybutem
W każdym planie stawek możesz ustawić maksymalnie 10 atrybutów niestandardowych.
Obliczanie atrybutów niestandardowych
Sposób, w jaki wartość atrybutu niestandardowego jest uwzględniana w liczbie transakcji i opłatach w ramach abonamentu, zależy od modelu naliczania opłat, jak podano w poniższej tabeli.
Model ładowania | Obliczanie atrybutów niestandardowych |
---|---|
Stałe stawki i zakresy objętości |
W przypadku stawki stałej liczba atrybutu niestandardowego staje się liczbą transakcji, które są mnożone przez stawkę. W przypadku opcji „Pasma objętości” liczba transakcji w danym paśmie jest zwiększana o liczbę atrybutów niestandardowych, a deweloper jest obciążany za tę liczbę transakcji. Jeśli na przykład wartość atrybutu niestandardowego w wiadomości wynosi 10, deweloperowi zostanie naliczona opłata za 10 transakcji, a do bieżącego zakresu zostanie doliczonych 10 transakcji. Jeśli w bieżącym przedziale czasu deweloperowi pozostało tylko 6 transakcji, wartość 6 jest mnożona przez stawkę obowiązującą w tym przedziale. Pozostałe 4 cyfry trafiają do następnego zakresu i są mnożone przez jego współczynnik. W przypadku planu z limitem objętości, jeśli ostatni przedział objętości ma limit (nie jest „nieograniczony”), a transakcja przekracza ten limit, dzieją się 2 rzeczy:
|
Pakiety |
Ponieważ za pakiety pobierana jest opłata za grupę, a nie za transakcję, obowiązuje to obliczenie:
Jeśli na przykład numer atrybutu niestandardowego w wiadomości to 10, do liczby transakcji użytych w pakiecie zostanie dodana wartość 10. Jeśli deweloperowi pozostało w bieżącym pakiecie tylko 6 transakcji, ten pakiet zostanie wypełniony, a liczba następnego wzrośnie o 4. Stawka za kolejny pakiet (jeśli dotyczy) zostanie naliczona. Jeśli ostatni pakiet ma limit (nie jest „nieograniczony”), a transakcja przekracza ten limit, dzieją się 2 rzeczy:
|
Powiadomienia z możliwością regulacji |
W przypadku powiadomienia z możliwością zmiany obowiązuje to obliczenie:
Jeśli na przykład numer atrybutu niestandardowego w wiadomości to 10, do łącznej liczby transakcji zostanie dodane 10. |
Gdzie plan stawek otrzymuje wartość atrybutu niestandardowego
Zasady rejestrowania transakcji (w pakiecie usług interfejsu API) podają, gdzie w wiadomości o transakcji należy szukać wartości atrybutu niestandardowego. Atrybut niestandardowy definiujesz w sekcji Atrybuty niestandardowe w zasadach rejestrowania transakcji dotyczących pakietu usług API.
Następnie możesz wybrać ten atrybut niestandardowy w planie stawek – po utworzeniu pakietu usług API zawierającego zasadę rejestrowania transakcji ze zdefiniowanym atrybutem niestandardowym.
Oto ogólny przepływ danych:
- Określ atrybuty niestandardowe podczas dodawania usługi API.
- Utwórz pakiet produktów API zawierający produkt.
W zasadach rejestrowania transakcji dotyczących pakietu usług API dodaj atrybuty niestandardowe, które będą używane do definiowania planów stawek. - Utwórz plan taryfowy typu karta taryfowa lub powiadomienie z możliwością regulacji dla pakietu usług API i określ niestandardowy parametr oceny.
Rysunek poniżej przedstawia związek między atrybutem niestandardowym zdefiniowanym w zasadach rejestrowania transakcji a konfiguracją planu stawek. Powiadomienie o możliwości zmiany z uwzględnieniem relacji między ceną a planem dotyczącym niestandardowego atrybutu jest podobne, ale wartość w ramach przedziału wolumenu nie ma zastosowania.
Jak wygenerować wartość atrybutu niestandardowego w wiadomości
Zasada rejestrowania transakcji może wyszukiwać wartość atrybutu niestandardowego w kilku miejscach, takich jak nagłówek odpowiedzi, treść odpowiedzi lub wstępnie zdefiniowane zmienne procesu w odpowiedzi. (żądanie nie jest dostępne, ponieważ transakcja nie jest oficjalna, dopóki nie otrzymasz odpowiedzi). Poniżej znajdziesz przykłady pokazujące, jak dodać do wiadomości nagłówek odpowiedzi z wartością liczbową. W obu przypadkach w połączeniu ze zmiennymi używamy zasady przypisywania wiadomości.
Dodawanie rozmiaru ładunku żądania do nagłówka odpowiedzi
W każdym żądaniu wiadomości znajduje się zmienna client.received.content.length
, która zawiera liczbę bajtów w ładunku żądania. Dołączając do odpowiedzi Proxy Endpoint zasadę przypisywania wiadomości, możemy wygenerować nagłówek odpowiedzi o nazwie messageSize
, który zawiera wartość długości:
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Message-1"> <DisplayName>Assign Message 1</DisplayName> <Set> <Headers> <Header name="messageSize">{client.received.content.length}</Header> </Headers> </Set> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <AssignTo createNew="false" transport="http" type="request"/> </AssignMessage>
Dodawanie do nagłówka wartości atrybutu niestandardowego aplikacji
W podobny sposób możemy wygenerować nagłówek z wartością atrybutu niestandardowego w aplikacji.
Jeśli np. w każdej aplikacji dewelopera uwzględnisz atrybut niestandardowy o nazwie apprating
, wygląda to tak:
Jeśli używasz zasady weryfikacji klucza interfejsu API (która jest wymagana do zarabiania), ta wartość jest przechowywana w zmiennej o nazwie verifyapikey.{policy_name}.apprating
. Za pomocą zasady przypisywania wiadomości dołączonej do odpowiedzi Proxy Endpoint możesz wygenerować nagłówek o nazwie apprating
, który zawiera wartość apprating
aplikacji:
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Message-1"> <DisplayName>Assign Message 1</DisplayName> <Set> <Headers> <Header name="apprating">{verifyapikey.Verify-API-Key-1.apprating}</Header> </Headers> </Set> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <AssignTo createNew="false" transport="http" type="request"/> </AssignMessage>
Konfigurowanie planu cenowego
Poza konfiguracją atrybutu niestandardowego opisaną powyżej abonament jest konfigurowany w taki sam sposób jak zwykle (w przypadku abonamentów bez atrybutów niestandardowych), ale musi spełniać te wymagania.
Konfigurowanie planu w arkuszu stawek za pomocą atrybutu niestandardowego w interfejsie
Skonfiguruj plany arkusza stawek z atrybutami niestandardowymi za pomocą interfejsu Edge lub klasycznego Edge zgodnie z opisem w kolejnych sekcjach.
Edge
Aby skonfigurować plan cennika z atrybutami niestandardowymi za pomocą interfejsu Edge:
- Zdefiniuj atrybuty niestandardowe podczas dodawania usługi interfejsu API.
- Utwórz pakiet produktów API zawierający produkt. Przeczytaj artykuł Tworzenie pakietów produktów API.
W zasadach rejestrowania transakcji dotyczących pakietu usług interfejsu API dodaj atrybuty niestandardowe, które będą służyć do definiowania planów cenowych. Szczegółowe informacje znajdziesz we wstępie do tego tematu oraz w artykule Tworzenie zasad rejestrowania transakcji. - Utwórz plan opłat dla pakietu produktów interfejsu API i określ niestandardowy parametr oceny.
Więcej informacji znajdziesz w artykule Konfigurowanie szczegółów planu cenowego za pomocą interfejsu użytkownika.
Classic Edge (Private Cloud)
Aby utworzyć cennik z planem atrybutów niestandardowych w interfejsie klasycznej wersji Edge:
- W zasadach rejestrowania transakcji usługi interfejsu API dodaj atrybuty niestandardowe, które będą używane do definiowania planów cenowych. Szczegółowe informacje znajdziesz we wstępie do tego tematu oraz w artykule Tworzenie zasad rejestrowania transakcji. Zrób to w przypadku każdego produktu interfejsu API, który chcesz uwzględnić w pakiecie interfejsu API.
- Gdy usługi API i zasady rejestrowania transakcji zostaną skonfigurowane dokładnie tak, jak chcesz, utwórz pakiet interfejsów API zawierający produkt. Zobacz Tworzenie pakietów interfejsu API.
- Utwórz plan stawek dla pakietu API, wybierając typ planu stawek Arkusz stawek z atrybutem niestandardowym.
-
Kliknij link Arkusz stawek. Otworzy się okno Arkusz stawek.
- W menu Atrybut niestandardowy wybierz atrybut niestandardowy. Menu zawiera listę atrybutów niestandardowych utworzonych dla produktu w zasadach rejestrowania transakcji. Deweloper jest obciążany na podstawie wartości wybranego atrybutu niestandardowego w każdej transakcji.
(wartość atrybutu * stawka = opłata dla dewelopera) - Opcjonalnie skonfiguruj plan typu freemium zgodnie z opisem w sekcji Określanie szczegółów planu w karcie stawek.
- Skonfiguruj model pobierania opłat zgodnie z instrukcjami w artykule Określanie szczegółów karty taryfowej. Pamiętaj jednak, że w przypadku typu planu cenowego Karta cenowa z atrybutem niestandardowym model naliczania opłat jest oparty na wybranym przez Ciebie atrybucie niestandardowym. Jeśli na przykład wybierzesz stawkę płaską jako model naliczania opłat, deweloper będzie obciążany stałą stawką na podstawie atrybutu niestandardowego, np. liczby bajtów przesyłanych w ramach każdej transakcji (a nie stałej stawki za każdą transakcję). Więcej informacji znajdziesz w sekcji Obliczenia.
-
Kliknij Zapisz jako wersję roboczą.
Publikuj plan tylko wtedy, gdy masz pewność, że jest on ostateczny. Informacje o ustawianiu daty publikacji i publikowaniu planu znajdziesz w artykule Publikowanie planów stawek.
Więcej informacji znajdziesz w artykule Określanie szczegółów planu stawek za pomocą interfejsu użytkownika.
Konfigurowanie możliwych do dostosowania planu powiadomień z atrybutami niestandardowymi za pomocą interfejsu użytkownika
Skonfiguruj plany powiadomień z możliwością zmiany za pomocą atrybutów niestandardowych, jak opisano poniżej.Edge
Aby skonfigurować plan cennika z atrybutami niestandardowymi za pomocą interfejsu Edge:
- Określ atrybuty niestandardowe podczas dodawania usługi API.
- Utwórz pakiet produktów API zawierający produkt. Zobacz Tworzenie pakietów usług API.
W zasadach rejestrowania transakcji dotyczących pakietu usług interfejsu API dodaj atrybuty niestandardowe, które będą służyć do definiowania planów cenowych. Szczegółowe informacje znajdziesz we wstępie do tego tematu oraz w artykule Tworzenie zasad rejestrowania transakcji. - Utwórz plan stawek dla pakietu produktów API i określ niestandardowy parametr oceny.
Więcej informacji znajdziesz w artykule Konfigurowanie elastycznego planu powiadomień za pomocą interfejsu użytkownika.
Classic Edge (Private Cloud)
Aby skonfigurować plan cennika z atrybutami niestandardowymi w klasycznym interfejsie Edge:
- W zasadach rejestrowania transakcji usługi interfejsu API dodaj atrybuty niestandardowe, które będą używane do definiowania planów cenowych. Szczegółowe informacje znajdziesz we wstępie do tego tematu oraz w artykule Tworzenie zasad rejestrowania transakcji. Zrób to w przypadku każdego produktu interfejsu API, który chcesz uwzględnić w pakiecie interfejsu API.
- Gdy produkty interfejsu API i zasady rejestrowania transakcji zostaną skonfigurowane zgodnie z Twoimi oczekiwaniami, utwórz pakiet interfejsu API zawierający produkt. Zobacz Tworzenie pakietów interfejsu API.
- Utwórz plan taryfowy dla pakietu interfejsu API, wybierając typ planu taryfowego Powiadomienie z możliwością zmiany z atrybutem niestandardowym.
-
Kliknij link Szczegóły. Otworzy się okno powiadomień z możliwością dostosowania.
- W menu Atrybut niestandardowy wybierz atrybut niestandardowy. Menu zawiera listę atrybutów niestandardowych utworzonych dla produktu w zasadach rejestrowania transakcji. Łączna liczba transakcji dewelopera jest obliczana na podstawie wartości wybranego atrybutu niestandardowego w każdej transakcji.
- Jako Podstawę agregacji ustaw okres, z którego ma być agregowana liczba transakcji. Wybierz liczbę od 1 do 24 miesięcy. Wartość domyślna to 1 miesiąc.
- Kliknij Zastosuj i zamknij.
-
Kliknij Zapisz jako wersję roboczą.
Publikuj plan tylko wtedy, gdy masz pewność, że jest on ostateczny. Informacje o ustawianiu daty publikacji i publikowaniu planu znajdziesz w artykule Publikowanie planów stawek.
Więcej informacji znajdziesz w artykule Określanie szczegółów planu powiadomień z możliwością zmiany za pomocą interfejsu użytkownika.
Określanie szczegółów planu cenowego za pomocą atrybutów niestandardowych w interfejsie API
Wykonaj te czynności wstępne:
- W zasadach rejestrowania transakcji usługi interfejsu API dodaj atrybuty niestandardowe, które będą używane do definiowania planów cenowych. Szczegółowe informacje znajdziesz we wstępie do tego tematu oraz w artykule Tworzenie zasad rejestrowania transakcji. Zrób to w przypadku każdego produktu interfejsu API, który chcesz uwzględnić w pakiecie interfejsu API.
- Gdy usługi API i zasady rejestrowania transakcji zostaną skonfigurowane dokładnie tak, jak chcesz, utwórz pakiet interfejsów API zawierający produkt. Zobacz Tworzenie pakietów interfejsów API.
Następnie tworzysz plan stawek za pomocą interfejsu API.
Podczas tworzenia planu cenowego określasz jego szczegóły za pomocą atrybutów niestandardowych. Szczegóły określa się we właściwości ratePlanDetails
w treści żądania w wywołaniu /organizations/{org_name}/monetization-packages/{package_id}/rate-plans
. W szczegółach podajesz wartość parametru oceny, która identyfikuje nazwę atrybutu niestandardowego. Możesz też podać wartość parametru oceny, która agreguje atrybut niestandardowy w określonym przedziale czasu.
Pełną listę opcji szczegółów abonamentu znajdziesz w sekcji Ustawienia konfiguracji szczegółów abonamentu.
Poniższy przykład pokazuje, jak utworzyć arkusz stawek z planem atrybutów niestandardowych na podstawie atrybutu niestandardowego o nazwie messageSize
(elementy są pogrubione).
$ curl -H "Content-Type:application/json" -X POST -d \ '{ "name": "Custom attribute-based rate card plan", "developer":null, "developerCategory":null, "currency": { "id" : "usd" }, "description": "Custom attribute-based rate card plan", "displayName" : "Custom attribute-based rate card plan", "frequencyDuration": "1", "frequencyDurationType": "MONTH", "earlyTerminationFee": "10", "monetizationPackage": { "id": "location" }, "organization": { "id": "{org_name}" }, "paymentDueDays": "30", "prorate": "false", "published": "false", "ratePlanDetails":[ { "currency":{ "id":"usd" }, "duration":1, "durationType":"MONTH", "meteringType":"VOLUME", "paymentDueDays":"30", "ratingParameter":"messageSize", "ratingParameterUnit":"MB", "organization":{ "id":"{org_name}" }, "ratePlanRates":[ { "rate":0.15, "startUnit":0, "type":"RATECARD", "endUnit":1000 }, { "rate":0.1, "startUnit":1000, "type":"RATECARD", "endUnit":null } ], "freemiumUnit":0, "freemiumDuration":0, "freemiumDurationType":"MONTH", "type":"RATECARD", "customPaymentTerm":false } ], "freemiumUnit":0, "freemiumDuration":0, "freemiumDurationType":"MONTH", "contractDuration":"1", "contractDurationType":"YEAR", "recurringStartUnit": 1, "recurringType": "CALENDAR", "recurringFee": "10", "setUpFee": "10", "startDate": "2013-09-15 00:00:00", "type": "STANDARD" }' \ "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location/rate-plans" \ -u email:password
Ten kod tworzy powiadomienie z regulowanymi ustawieniami i planem stawek na podstawie atrybutu niestandardowego o nazwie messageSize
(patrz element w pogrubieniu).
$ curl -H "Content-Type:application/json" -X POST -d \ '{ "name": "AdjustableNotification", "displayName": "Custom attribute-based adjustable notification plan", "description": "Custom attribute-based adjustable notification plan", "published": "true", "organization": { "id": "myorg" }, "startDate": "2016-04-15 00:00:00", "type": "STANDARD", "monetizationPackage": { "id": "p1", "name": "test" }, "currency": { "id" : "usd", "name" : "USD" }, "ratePlanDetails": [ { "type": "USAGE_TARGET", "meteringType": "DEV_SPECIFIC", "duration": 1, "durationType": "MONTH", "ratingParameter": "messageSize", "ratingParameterUnit": "MB", "organization": { "id": "myorg" }, "currency": { "id": "usd", "name": "USD" } } ] }' \ "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/monetization-packages/p1/rate-plans" \ -u email:password