Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Skonfiguruj zasady rejestrowania transakcji dla każdej usługi API w pakiecie usług API zgodnie z opisem w kolejnych sekcjach.
Wprowadzenie
Zasady rejestrowania transakcji umożliwiają zarabianie na przechwytywaniu parametrów transakcji. atrybutów niestandardowych. Funkcja zarabiania potrzebuje tych informacji do przetworzenia zarabiania np. przez stosowanie abonamentów.
Jeśli na przykład skonfigurujesz plan stawek udziału w przychodach, wartość procentowa część przychodów wygenerowanych z każdej transakcji dotyczącej usługi API generującej przychody jest dzielona z deweloperem aplikacji, która go przesłała. Udział w przychodach jest obliczany na podstawie wartości netto lub brutto cenę transakcji (wskazaną przez użytkownika), czyli procent ceny brutto lub netto; z każdej transakcji jest wykorzystywane do określenia udziału w przychodach. Z tego powodu zarabianie musi ceny brutto lub netto transakcji. Wyświetla cenę brutto lub netto na podstawie ustawień w zasadach rejestrowania transakcji.
Jeśli konfigurujesz arkusz stawek Gdy pobierasz od dewelopera opłaty za każdą transakcję, możesz określić stawkę dla wybranego abonamentu. na podstawie atrybutu niestandardowego, takiego jak liczba bajtów przesyłanych w transakcji. Funkcja zarabiania musi wiedzieć, co to jest atrybut niestandardowy i gdzie go znaleźć. Trzeba więc określić atrybut niestandardowy w zasadach rejestrowania transakcji.
Poza określeniem atrybutów transakcji w zasadzie rejestrowania transakcji możesz też określ kryteria powodzenia transakcji w celu określenia, czy transakcja zakończyła się powodzeniem (na w celach związanych z ładowaniem). Przykłady ustawiania kryteriów powodzenia transakcji znajdziesz w sekcji Przykłady ustawiania kryteriów powodzenia transakcji w nagrywaniu transakcji . Możesz również określić atrybuty niestandardowe dla produktu API (na podstawie którego określasz stawkę podstawową) opłaty za abonament).
Konfigurowanie zasady rejestrowania transakcji
Otwórz stronę Pakiety produktów w sposób opisany poniżej.
Edge
Gdy dodajesz pakiet produktów API w interfejsie Edge, musisz skonfigurować zasady nagrywania transakcji wykonując te czynności:
- Wybierz usługę API, którą chcesz skonfigurować w sekcji Zasady rejestrowania transakcji (jeśli w pakiecie produktów znajduje się wiele usług interfejsu API).
- Skonfiguruj atrybuty transakcji.
- Skonfiguruj atrybuty niestandardowe.
- Łączenie zasobów z unikalnymi identyfikatorami transakcji.
- Skonfiguruj zwroty środków
- Powtórz te czynności dla każdego produktu API zdefiniowanego w pakiecie produktów API.
Classic Edge (Private Cloud)
Aby skonfigurować zasadę rejestrowania transakcji w interfejsie Classic Edge:
- Zaloguj się w aplikacji
http://ms-ip:9000
, gdzie ms-ip to adres Adres IP lub nazwa DNS węzła serwera zarządzania. - Kliknij Opublikuj > Produkty na górnym pasku nawigacyjnym.
- Kliknij + Zasady rejestrowania transakcji w wierszu odpowiedniego interfejsu API. usługi. Wyświetli się okno Nowe zasady rejestrowania transakcji.
- Aby skonfigurować zasadę rejestrowania transakcji:
- Kliknij Zapisz.
Konfigurowanie atrybutów transakcji
W sekcji Atrybuty transakcji określ kryteria wskazujące na udaną transakcję zarabiania.
- W polu Transaction Success Criteria (Kryteria sukcesu transakcji) określ wyrażenie oparte na wartości atrybutu Status.
(opisane poniżej) w celu określenia, czy transakcja została zrealizowana (do celów naliczania opłat). Transakcje zakończone niepowodzeniem
(czyli nie spełniają kryteriów określonych w wyrażeniu) są rejestrowane, ale plany stawek nie są do nich stosowane. Na przykład:
txProviderStatus == 'OK'
- Atrybut Status zawiera wartość używaną przez wyrażenie skonfigurowane w
w polu Transaction Success Criteria (Kryteria sukcesu transakcji). Skonfiguruj atrybut Status (Stan), definiując te pola:
Pole Opis Zasób API Wzorce URI zdefiniowane w usłudze API, które będą używane do identyfikowania transakcji generujących przychody. Lokalizacja odpowiedzi Lokalizacja odpowiedzi, w której określono atrybut. Prawidłowe wartości to: zmienna przepływu, nagłówek, treść JSON i treść XML. Wartość Wartość odpowiedzi. Aby podać więcej niż jedną wartość, kliknij + Dodaj x (np. + Dodaj zmienną przepływu). - Aby skonfigurować opcjonalne atrybuty transakcji, włącz przełącznik Użyj atrybutów opcjonalnych i skonfiguruj
dowolny z atrybutów transakcji zdefiniowanych w tej tabeli.
Atrybut Opis Cena brutto Ten atrybut ma zastosowanie tylko w przypadku planów stawek, które korzystają z modelu udziału w przychodach. W przypadku takich planów musisz podać cenę brutto lub cenę netto. Upewnij się, że parametr jest wyrażona jako typ ciągu. Cena brutto za transakcję. Dla: planów udziału w przychodach, musisz podać atrybut Cena brutto lub Cena netto. . To, który atrybut jest wymagany, zależy od udziału w przychodach. Dla: można na przykład skonfigurować plan stawek udziału w przychodach na podstawie ceny brutto produktu transakcji. W takim przypadku pole Cena brutto jest wymagane.
Cena ostateczna Ten atrybut ma zastosowanie tylko w przypadku planów stawek, które korzystają z modelu udziału w przychodach. W przypadku takich planów musisz podać cenę brutto lub cenę netto. Upewnij się, że parametr jest wyrażona jako typ ciągu. Cena netto transakcji. Dla: plany udziału w przychodach, musisz wprowadzić pole Cena netto lub Cena brutto . To, które pole jest wymagane, zależy od udziału w przychodach. Przykład: możesz skonfigurować plan udziału w przychodach na podstawie ceny netto transakcji. W takim przypadku wymagane jest pole Cena netto.
Waluta Ten atrybut jest wymagany w przypadku planów stawek, które korzystają z modelu udziału w przychodach. Typ waluty odnoszącej się do transakcji.
Kod błędu Kod błędu powiązany z transakcją. Zapewnia też informacje o nieudanej transakcji.
Opis produktu Opis transakcji.
Podatek Ten atrybut ma zastosowanie tylko w przypadku modeli dzielenia się przychodami i tylko wtedy, kwota podatku jest rejestrowana w wywołaniach interfejsu API. Upewnij się, że wartość liczbowa jest wyrażona jako typ ciągu znaków. Kwota podatku od zakupu. Cena netto plus podatek = cena brutto.
Jeśli na przykład ustawisz te wartości, funkcja zarabiania będzie pobierać wartość zmiennej procesu z odpowiedzi na wiadomość w tagu
o nazwie response.reason.phrase
. Jeśli wartość jest prawidłowa, a
zasada Sprawdzanie limitów zarabiania to
powiązane z żądaniem ProxyEndpoint serwera proxy interfejsu API, funkcja zarabiania liczy to jako transakcję.
Pole | Wartość |
---|---|
Kryteria powodzenia transakcji | txProviderStatus == 'OK' |
Stan: zasób API | ** |
Stan: lokalizacja odpowiedzi | Zmienna przepływu |
Stan: zmienna przepływu | response.reason.phrase |
Konfigurowanie atrybutów niestandardowych
W sekcji Atrybuty niestandardowe możesz określić atrybuty niestandardowe, które należy uwzględnić w atrybucie zasad rejestrowania transakcji. Jeśli na przykład skonfigurujesz plan arkusza stawek, w którym będziesz pobierać opłaty od dewelopera za każdą możesz określić stawkę dla planu na podstawie atrybutu niestandardowego, takiego jak liczba bajtów przesłanych w transakcji. Następnie musisz umieścić ten atrybut niestandardowy w atrybucie zasad rejestrowania transakcji.
Każdy z tych atrybutów jest przechowywany w dzienniku transakcji, do którego możesz wysyłać zapytania. Są też wyświetlane podczas tworzenia planu stawek (aby można było wybrać co najmniej jeden z tych atrybutów która stanowi podstawę stawki).
W przychodach możesz uwzględnić atrybuty niestandardowe zdefiniowane w zasadach rejestrowania transakcji raportów podsumowujących, jak opisano w Z uwzględnieniem transakcji niestandardowej w raportach z podsumowaniem przychodów.
Aby skonfigurować atrybuty niestandardowe, włącz przełącznik Użyj atrybutów niestandardowych i zdefiniuj do 10 atrybutów niestandardowych. Dla każdego atrybutu niestandardowego uwzględnionego w zasadach rejestrowania transakcji musisz podać poniższe informacje.
Pole | Opis |
---|---|
Nazwa atrybutu niestandardowego | Wpisz nazwę opisującą atrybut niestandardowy. Jeśli plan stawek opiera się na atrybucie niestandardowym, ta nazwa jest wyświetlana użytkownikowi w szczegółach abonamentu. Jeśli na przykład atrybut niestandardowy rejestruje czas trwania, musisz nadać atrybutowi czas trwania. Rzeczywiste jednostki atrybutu niestandardowego (np. godziny, minuty lub sekundy) są ustawiane w polu jednostki oceny podczas tworzenia planu stawek dla atrybutów niestandardowych. (zobacz Określanie abonamentu ze szczegółami atrybutów niestandardowych). |
Zasób API | Wybierz co najmniej 1 sufiks identyfikatora URI (czyli fragment identyfikatora URI występujący po ścieżce podstawowej) zasobu API, do którego uzyskano dostęp w transakcji. Dostępne zasoby są takie same jak w przypadku atrybutów transakcji. |
Lokalizacja odpowiedzi | Wybierz lokalizację w odpowiedzi, w której określony jest atrybut. Prawidłowe wartości to: zmienna przepływu, nagłówek, treść JSON i treść XML. |
Wartość | Podaj wartość atrybutu niestandardowego. Każda podana wartość odpowiada polu, parametrowi
lub element content, który zawiera atrybut niestandardowy w podanej lokalizacji. Aby podać więcej niż jedną wartość, kliknij + Dodaj x (np. + Dodaj zmienną przepływu).
Jeśli na przykład skonfigurujesz atrybut niestandardowy o nazwie Długość treści i wybierzesz Nagłówek jako lokalizację odpowiedzi,
jeśli w polu Długość treści HTTP podana jest wartość Długość treści, jako wartość wpisz |
Połącz zasoby z unikalnym identyfikatorem transakcji
Niektóre transakcje są proste, wymagają wywołania interfejsu API do jednego zasobu. Jednak inne może być bardziej skomplikowana. Załóżmy na przykład, że transakcja zakupu w aplikacji produkt w grach mobilnych wiąże się z wieloma wywołaniami zasobów:
- Wywołanie interfejsu API Reserve, które zapewnia, że użytkownik przedpłacony ma wystarczającą ilość środków do zakupu i przeznaczają na zakup („rezerwuje”) środki.
- Wywołanie interfejsu API do obciążenia, które pobiera środki z konta użytkownika rozliczanego w ramach przedpłaty.
Aby można było przetworzyć całą transakcję, zarabianie musi mieć sposób na połączenie pierwszego zasobu (czyli wywołaniem i odpowiedzią do i z interfejsu API rezerwacji) z drugim zasobem (wywołaniem i odpowiedzią i za pomocą interfejsu API Charge). Służą do tego informacje określone przez Ciebie w Połącz zasoby z unikalnym identyfikatorem transakcji.
Aby skonfigurować atrybuty niestandardowe, włącz przełącznik Użyj unikalnych identyfikatorów transakcji i połącz transakcji. W przypadku każdej transakcji określasz zasób, lokalizację odpowiedzi i wartość atrybutu, która połączone z odpowiednimi wartościami w innej transakcji.
Załóżmy na przykład, że wywołanie interfejsu API Reserve i Charge API są powiązane w następujący sposób:
pole o nazwie session_id
w nagłówku odpowiedzi z interfejsu API Reserve odpowiada
nagłówek odpowiedzi o nazwie reference_id
z interfejsu API Charge. W takim przypadku możesz ustawić
w sekcji Połącz zasoby z unikalnym identyfikatorem transakcji w następujący sposób:
Zasób | Lokalizacja odpowiedzi | Wartość |
---|---|---|
reserve/{id}** |
Nagłówek |
session_id |
/charge/{id}** |
Nagłówek |
reference_id |
Konfigurowanie zwrotów środków
W sekcji Zwroty środków określasz atrybuty, które: funkcji zarabiania do przetworzenia zwrotu środków.
Załóżmy, że użytkownik kupuje produkt w sklepie aplikacja mobilna, która korzysta z interfejsów API generujących przychody. Transakcja generuje przychody na podstawie udostępnionego . Załóżmy jednak, że użytkownik nie jest zadowolony z produktu i chce go zwrócić. Jeśli do zwrotu środków za pomocą wywołania interfejsu API, które dokonuje zwrotu, funkcja zarabiania niezbędne korekty zarabiania. Robi się to na podstawie informacji, które określasz w Sekcja dotycząca zwrotów w zasadach dotyczących rejestrowania transakcji.
Aby skonfigurować zwroty środków, włącz przełącznik Używanie atrybutów zwrotu środków i określ szczegóły zwrotu środków:
- Zdefiniuj kryteria zwrotu środków, definiując te pola:
Pole Opis Lokalizacja odpowiedzi Zasób dla transakcji zwrotu środków. Jeśli usługa API udostępnia wielu zasobów, możesz wybrać tylko zasób, który dokonuje zwrotu środków. Kryteria zwrotu środków Wyrażenie oparte na wartości atrybutu Stan (opisany poniżej) do określania, czy zwrot środków został zrealizowany (naliczanie opłat) ). Transakcje, których zwrot nie został zakończony (niespełniające kryteriów opisanych w ), ale plany stawek nie są do nich stosowane. Na przykład: txProviderStatus == 'OK'
- Skonfiguruj atrybut Status (Stan), definiując te pola:
Pole Opis Lokalizacja odpowiedzi Lokalizacja odpowiedzi, w której określono atrybut. Prawidłowe wartości to: zmienna przepływu, nagłówek, treść JSON i treść XML. Wartość Wartość odpowiedzi. Aby podać więcej niż jedną wartość, kliknij + Dodaj x (np. + Dodaj zmienną przepływu). - Skonfiguruj atrybut Parent ID (Identyfikator nadrzędny), definiując te pola:
Pole Opis Lokalizacja odpowiedzi Lokalizacja odpowiedzi, w której określono atrybut. Prawidłowe wartości to: zmienna przepływu, nagłówek, treść JSON i treść XML. Wartość Identyfikator transakcji, w której przypadku przetwarzany jest zwrot środków. Jeśli np. użytkownik kupi produkt, a następnie poprosi o zwrot środków, Identyfikator transakcji nadrzędnej to identyfikator transakcji zakupu. Aby podać więcej niż jedną wartość, kliknij + Dodaj x (np. + Dodaj zmienną przepływu). - Aby skonfigurować opcjonalne atrybuty zwrotu środków, włącz przełącznik Użyj opcjonalnych atrybutów zwrotu środków i skonfiguruj i atrybuty. Opcjonalne atrybuty zwrotu środków są takie same jak opcjonalne atrybuty transakcji, zdefiniowane w Konfigurowanie atrybutów transakcji
Zarządzanie zasadami rejestrowania transakcji przy użyciu interfejsu API
W sekcjach poniżej opisujemy, jak zarządzać zasadami rejestrowania transakcji za pomocą interfejsu API.
Tworzenie zasady rejestrowania transakcji przy użyciu interfejsu API
Określasz zasadę rejestrowania transakcji jako atrybut produktu API. Wartość klucza identyfikuje:
- Sufiks identyfikatora URI zasobu produktu, do którego odnoszą się zasady rejestrowania transakcji
załączony. Przyrostek zawiera zmienną wzorca umieszczoną w nawiasach klamrowych. Wzór
jest oceniana przez usługi API w czasie działania. Na przykład ten sufiks identyfikatora URI
zawiera zmienną wzorca
{id}
./reserve/{id}**
W tym przypadku usługi API ocenia sufiks identyfikatora URI zasobu jako
/reserve
, po którym znajduje się dowolny podkatalog zaczynający się od identyfikatora zdefiniowanego przez interfejs API dostawcy usług. - Zasób w odpowiedzi, do której jest dołączony. Usługa API może mieć wiele zasobów, a każdy z nich może mieć do odpowiedzi z poziomu zapytania dołączoną zasadę rejestrowania transakcji dla tego zasobu.
- Wyodrębnianie zasady dotyczącej zmiennych, która umożliwia zasadzie rejestrowania transakcji wyodrębnianie treści z komunikatu z odpowiedzią dla parametrów transakcji, które chcesz przechwytywać.
Dodajesz atrybut zasady rejestrowania transakcji do usługi API, wysyłając żądanie PUT
do interfejsu API zarządzania
https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id}
(a nie do interfejsu API do zarabiania).
Określanie kryteriów powodzenia transakcji za pomocą interfejsu API
Możesz określić kryteria sukcesu transakcji, które będą brane pod uwagę. (do ładowania). transakcji nieudanych (niespełniających kryteriów), w wyrażeniu) są rejestrowane, ale plany stawek nie są do nich stosowane. Przykłady ustawień kryteria sukcesu transakcji, zobacz Przykłady ustawiania kryteriów powodzenia transakcji w zasadach rejestrowania transakcji
Kryteria powodzenia transakcji określasz jako atrybut produktu API. Zrób to do
wysyłanie żądań PUT do interfejsu API zarządzania.
https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id}
(a nie do interfejsu API do zarabiania).
Na przykład w tym żądaniu transakcja jest udana, jeśli wartość
txProviderStatus
to success
(kryteria sukcesu transakcji związane
dane techniczne).
$ curl -H "Content-Type: application/json" -X PUT -d \ '{ "apiResources": [ "/reserve/{id}**" ], "approvalType": "auto", "attributes": [ { "name": "MINT_TRANSACTION_SUCCESS_CRITERIA", "value": "txProviderStatus == 'OK'" } ], "description": "Payment", "displayName": "Payment", "environments": [ "dev" ], "name": "payment", "proxies": [], "scopes": [ "" ] }' \ "https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/payment" \ -u email:password
Określanie atrybutów niestandardowych przy użyciu interfejsu API
Możesz określić atrybuty niestandardowe usługi API, za którą naliczane są opłaty za abonament podstawowy. Dla: Jeśli np. skonfigurujesz plan arkusza stawek, w którym obciążasz dewelopera za każdą transakcję, może ustawić stawkę w ramach abonamentu na podstawie atrybutu niestandardowego, takiego jak liczba przesyłanych bajtów w transakcji. Podczas tworzenia planu stawek możesz określić co najmniej 1 atrybut niestandardowy która będzie podstawą stawki w ramach planu. Jednak każdy produkt w planie stawek może mieć tylko jeden atrybut niestandardowy, na podstawie którego zostanie obliczona stawka w ramach planu.
Atrybuty niestandardowe określasz jako atrybuty produktu API. Zrób to przez wysłanie PUT
żądanie do interfejsu zarządzania API
https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id}
(a nie do interfejsu API do zarabiania).
W przypadku każdego atrybutu niestandardowego dodawanego do produktu API musisz podać nazwę i atrybut
. Imię i nazwisko musi mieć format MINT_CUSTOM_ATTRIBUTE_{num}
, gdzie
{num} jest liczbą całkowitą.
Na przykład to żądanie określa 3 atrybuty niestandardowe.
$ curl -H "Content-Type: application/json" -X PUT -d \ '{ "apiResources": [ "/reserve/{id}**", "/charge/{id}**" ], "approvalType": "auto", "attributes": [ { "name": "MINT_CUSTOM_ATTRIBUTE_1", "value": "test1" }, { "name": "MINT_CUSTOM_ATTRIBUTE_2", "value": "test2" } ], "name": "payment", "proxies": [], "scopes": [ "" ] }' \ "https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/payment" \ -u email:password
Przykłady ustawiania kryteriów powodzenia transakcji zasady nagrywania
W tabeli poniżej znajdziesz przykłady udanych i nieudanych transakcji.
wyrażenie kryteriów sukcesu transakcji i zwróconą wartość txProviderStatus
,
przez serwer proxy API. txProviderStatus
to zmienna wewnętrzna używana przez funkcję zarabiania
aby określić
sukces transakcji.
Wyrażenie kryteriów sukcesu | Prawidłowe wyrażenie? | Wartość txProviderStatus z serwera proxy interfejsu API | Wynik oceny |
---|---|---|---|
null |
prawda | "200" |
fałsz |
"" |
fałsz | "200" |
fałsz |
" " |
fałsz | "200" |
fałsz |
"sdfsdfsdf" |
fałsz | "200" |
fałsz |
"txProviderStatus =='100'" |
prawda | "200" |
fałsz |
"txProviderStatus =='200'" |
prawda | "200" |
prawda |
"true" |
prawda | "200" |
prawda |
"txProviderStatus=='OK' OR |
prawda | "OK" |
prawda |
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" |
prawda | "OK" |
prawda |
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" |
prawda | "Not Found" |
prawda |
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" |
prawda | "Bad Request" |
prawda |
"(txProviderStatus?:'') matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
prawda | "Bad Request" |
prawda |
"(txProviderStatus?:'') matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
prawda | null |
fałsz |
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
prawda | "bad request" |
prawda |
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
prawda | "Redirect" |
fałsz |
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
prawda | "heeeelllooo" |
fałsz |
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
prawda | null |
fałsz |
"txProviderStatus == 100" |
prawda | "200" |
fałsz |