Konfigurowanie planu stawek za pomocą atrybutów niestandardowych

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

Wprowadzenie

W niektórych przypadkach liczniki transakcji muszą być oparte na zmiennej lub wartości niestandardowej. Może być na przykład konieczne:

  • obciążanie deweloperów zmienną kwotą na podstawie wartości podanej w wiadomości wywołania interfejsu API call; możesz na przykład obciążać deweloperów aplikacji na podstawie liczby bajtów przesłanych w żądaniu do interfejsu API;
  • grupowanie wielu wywołań interfejsu API w jedną transakcję.

Korzystając z planów taryfowych z atrybutami niestandardowymi, możesz zidentyfikować wartość w wiadomości wywołania interfejsu API API, która będzie działać jako licznik i będzie używana do obliczania liczby transakcji i opłat.

Obsługiwane są te plany taryfowe z atrybutami niestandardowymi:

  • Cennik z atrybutem niestandardowym
  • Powiadomienie z możliwością dostosowania z atrybutem niestandardowym

W przypadku każdego planu taryfowego możesz ustawić maksymalnie 10 atrybutów niestandardowych.

Obliczanie atrybutów niestandardowych

Sposób uwzględniania wartości atrybutu niestandardowego w liczbie transakcji i opłatach w planie taryfowym zależy od modelu rozliczeń, co podsumowano w tabeli poniżej.

Model rozliczeń Obliczanie atrybutu niestandardowego
Stawka stała i stawka zależna od ilości

custom attribute number * rate = charge to developer

W przypadku stawki stałej liczba atrybutów niestandardowych staje się liczbą transakcji, która jest mnożona przez stawkę. W przypadku stawki zależnej od ilości liczba transakcji w przedziale 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, deweloper zostanie obciążony za 10 transakcji, a do bieżącej liczby transakcji w przedziale zostanie dodanych 10 transakcji. Jeśli deweloperowi pozostało tylko 6 transakcji w bieżącym przedziale, 6 zostanie pomnożone przez stawkę dla tego przedziału. Pozostałe 4 transakcje zostaną przeniesione do następnego przedziału i pomnożone przez stawkę tego przedziału.

Jeśli w planie taryfowym zależnym od ilości ostatni przedział ilościowy ma limit (nie jest "nieograniczony"), a transakcja przekracza ten limit, dzieją się 2 rzeczy:

Pakiety

Ponieważ opłaty za pakiety są naliczane za grupę, a nie za transakcję, wykonywane jest to obliczenie:

custom attribute number = amount added to bundle count

Jeśli na przykład liczba atrybutów niestandardowych w wiadomości wynosi 10, do liczby transakcji użytych w pakiecie zostanie dodana liczba 10. Jeśli deweloperowi pozostało tylko 6 transakcji w bieżącym pakiecie, pakiet zostanie wypełniony, a liczba następnego pakietu zostanie zwiększona o 4. Zostanie naliczona stawka za ten następny pakiet (jeśli istnieje) .

Jeśli ostatni pakiet ma limit (nie jest „nieograniczony”), a transakcja przekracza ten limit, dzieją się 2 rzeczy:

Powiadomienia z możliwością dostosowania

W przypadku powiadomienia z możliwością dostosowania wykonywane jest to obliczenie:

custom attribute number = amount added to transaction count

Jeśli na przykład liczba atrybutów niestandardowych w wiadomości wynosi 10, do łącznej liczby transakcji zostanie dodana liczba 10.

Skąd plan taryfowy pobiera wartość atrybutu niestandardowego

Zasady rejestrowania transakcji (w pakiecie usług API) informują usługę zarabiania, gdzie w wiadomości szukać wartości atrybutu niestandardowego. Atrybut niestandardowy definiujesz w sekcji Atrybuty niestandardowe zasad rejestrowania transakcji w pakiecie usług API.

Następnie możesz wybrać ten atrybut niestandardowy w planie taryfowym – po utworzeniu pakietu usług API który zawiera zasady rejestrowania transakcji z zdefiniowanym atrybutem niestandardowym.

Oto ogólny proces:

  1. Podczas dodawania usługi API zdefiniuj atrybuty niestandardowe.
  2. Utwórz pakiet usług API, który zawiera usługę.
    W zasadach rejestrowania transakcji w pakiecie usług API dodaj atrybuty niestandardowe, które będą używane do definiowania planów taryfowych.
  3. Utwórz plan taryfowy typu cennik lub powiadomienie z możliwością dostosowania dla pakietu usług API i określ parametr niestandardowej wyceny.

Na ilustracji poniżej przedstawiono relację między atrybutem niestandardowym zdefiniowanym w zasadach rejestrowania transakcji a konfiguracją planu cennika. Relacja planu taryfowego powiadomienia z możliwością dostosowania z atrybutem niestandardowym jest podobna, chociaż wartość zależna od ilości nie ma zastosowania.

Jak wygenerować wartość atrybutu niestandardowego w wiadomości

Zasady rejestrowania transakcji mogą szukać wartości atrybutu niestandardowego w kilku miejscach, np. w nagłówku odpowiedzi, treści odpowiedzi lub predefiniowanych zmiennych przepływu w odpowiedzi. (Żądanie jest niedostępne, ponieważ transakcja jest oficjalna dopiero po otrzymaniu odpowiedzi z kodem powodzenia ). Poniżej znajdziesz przykłady dodawania nagłówka odpowiedzi z jego wartością liczbową do wiadomości. W obu przypadkach użyjemy zasady przypisywania wiadomości w połączeniu ze zmiennymi.

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 zasadę przypisywania wiadomości do odpowiedzi punktu końcowego proxy, 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 wartości atrybutu niestandardowego aplikacji do nagłówka

W podobny sposób możemy wygenerować nagłówek z wartością atrybutu niestandardowego w aplikacji. Jeśli na przykład w każdej aplikacji dewelopera uwzględnisz atrybut niestandardowy o nazwie apprating, tak jak poniżej:

W przypadku korzystania z 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 punktu końcowego proxy możesz wygenerować nagłówek o nazwie apprating zawierający 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 taryfowego

Oprócz opisanej powyżej konfiguracji atrybutu niestandardowego plan taryfowy jest konfigurowany w taki sam sposób jak zwykle (w przypadku planów taryfowych bez atrybutów niestandardowych), ale musi spełniać te wymagania.

Konfigurowanie planu cennika z atrybutem niestandardowym za pomocą interfejsu

Plany cennika z atrybutami niestandardowymi skonfiguruj za pomocą interfejsu Edge lub klasycznego interfejsu Edge zgodnie z opisem w sekcjach poniżej.

Edge

Aby skonfigurować plan cennika z atrybutami niestandardowymi za pomocą interfejsu Edge:

  1. Podczas dodawania usługi API zdefiniuj atrybuty niestandardowe.
  2. Utwórz pakiet usług API, który zawiera usługę. Przeczytaj artykuł Tworzenie pakietów usług API.
    W zasadach rejestrowania transakcji w pakiecie usług API dodaj atrybuty niestandardowe, które będą używane do definiowania planów taryfowych. Więcej informacji znajdziesz we wprowadzeniu do tego artykułu oraz w artykule Tworzenie zasad rejestrowania transakcji.
  3. Utwórz plan taryfowy dla pakietu usług API i określ parametr niestandardowej wyceny.

Więcej informacji znajdziesz w artykule Konfigurowanie szczegółów planu cennika za pomocą interfejsu.

Klasyczny interfejs Edge (Private Cloud)

Aby utworzyć plan cennika z atrybutem niestandardowym za pomocą klasycznego interfejsu Edge:

  1. W zasadach rejestrowania transakcji usługi API dodaj atrybuty niestandardowe, które będą używane do definiowania planów taryfowych. Więcej informacji znajdziesz we wprowadzeniu do tego artykułu oraz w artykule Tworzenie zasad rejestrowania transakcji. Zrób to w przypadku każdej usługi API, którą chcesz uwzględnić w pakiecie API.
  2. Gdy usługi API i zasady rejestrowania transakcji będą skonfigurowane dokładnie tak, jak ty chcesz, utwórz pakiet API, który zawiera usługę. Przeczytaj artykuł Tworzenie pakietów API.
  3. Utwórz plan taryfowy dla pakietu API, wybierając typ planu taryfowego Cennik z atrybutem niestandardowym.
  4. Kliknij link Cennik. Otworzy się okno Cennik.

  5. W menu Atrybut niestandardowy wybierz atrybut niestandardowy. Menu zawiera atrybuty niestandardowe utworzone dla usługi 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)
  6. Opcjonalnie skonfiguruj plan freemium zgodnie z opisem w artykule Określanie szczegółów planu cennika.
  7. Skonfiguruj model rozliczeń zgodnie z opisem w artykule Określanie szczegółów planu cennika. Pamiętaj jednak, że w przypadku planu taryfowego Cennik z atrybutem niestandardowym model rozliczeń jest oparty na wybranym atrybucie niestandardowym. Jeśli na przykład wybierzesz model rozliczeń Stawka stała jako model rozliczeń, deweloper będzie obciążany stałą stawką na podstawie atrybutu niestandardowego , np. liczby bajtów przesłanych w każdej transakcji (a nie stałą stawką za każdą transakcję). Więcej informacji znajdziesz w sekcji Obliczenia.
  8. Kliknij Zapisz kopię roboczą.
    Opublikuj plan dopiero wtedy, gdy będziesz mieć pewność, że jest ostateczny. Informacje o ustawianiu daty publikacji i publikowaniu planu znajdziesz w artykule Publikowanie planów taryfowych.

Więcej informacji znajdziesz w artykule Określanie szczegółów planu cennika za pomocą interfejsu.

Konfigurowanie planu powiadomień z możliwością dostosowania z atrybutami niestandardowymi za pomocą interfejsu

Skonfiguruj plany powiadomień z możliwością dostosowania z atrybutami niestandardowymi zgodnie z opisem poniżej.

Edge

Aby skonfigurować plan cennika z atrybutami niestandardowymi za pomocą interfejsu Edge:

  1. Podczas dodawania usługi API zdefiniuj atrybuty niestandardowe.
  2. Utwórz pakiet usług API, który zawiera usługę. Przeczytaj artykuł Tworzenie pakietów usług API.
    W zasadach rejestrowania transakcji w pakiecie usług API dodaj atrybuty niestandardowe, które będą używane do definiowania planów taryfowych. Więcej informacji znajdziesz we wprowadzeniu do tego artykułu oraz w artykule Tworzenie zasad rejestrowania transakcji.
  3. Utwórz plan taryfowy dla pakietu usług API i określ parametr niestandardowej wyceny.

Więcej informacji znajdziesz w artykule Konfigurowanie planu powiadomień z możliwością dostosowania za pomocą interfejsu.

Klasyczny interfejs Edge (Private Cloud)

Aby skonfigurować plan cennika z atrybutami niestandardowymi za pomocą klasycznego interfejsu Edge:

  1. W zasadach rejestrowania transakcji usługi API dodaj atrybuty niestandardowe, które będą używane do definiowania planów taryfowych. Więcej informacji znajdziesz we wprowadzeniu do tego artykułu oraz w artykule Tworzenie zasad rejestrowania transakcji. Zrób to w przypadku każdej usługi API, którą chcesz uwzględnić w pakiecie API.
  2. Gdy usługi API i zasady rejestrowania transakcji będą skonfigurowane dokładnie tak, jak ty chcesz, utwórz pakiet API, który zawiera usługę. Przeczytaj artykuł Tworzenie pakietów API.
  3. Utwórz plan taryfowy dla pakietu API, wybierając typ planu taryfowego Powiadomienie z możliwością dostosowania z atrybutem niestandardowym.
  4. Kliknij link Szczegóły. Otworzy się okno Powiadomienie z możliwością dostosowania window.

  5. W menu Atrybut niestandardowy wybierz atrybut niestandardowy. Menu zawiera atrybuty niestandardowe utworzone dla usługi w zasadach rejestrowania transakcji. Łączna liczba transakcji dewelopera jest obliczana na podstawie wartości wybranego atrybutu niestandardowego w każdej transakcji.
  6. W polu Podstawa agregacji ustaw okres, w którym agregowana jest liczba transakcji. Wybierz liczbę od 1 do 24 miesięcy. Domyślnie jest to 1 miesiąc.
  7. Kliknij Zastosuj i zamknij.
  8. Kliknij Zapisz kopię roboczą.
    Opublikuj plan dopiero wtedy, gdy będziesz mieć pewność, że jest ostateczny. Informacje o ustawianiu daty publikacji i publikowaniu planu znajdziesz w artykule Publikowanie planów taryfowych.

Więcej informacji znajdziesz w artykule Określanie szczegółów planu powiadomień z możliwością dostosowania za pomocą interfejsu.

Określanie szczegółów planu taryfowego z atrybutami niestandardowymi za pomocą interfejsu API

Wykonaj te czynności wstępne:

  1. W zasadach rejestrowania transakcji usługi API dodaj atrybuty niestandardowe, które będą używane do definiowania planów taryfowych. Więcej informacji znajdziesz we wprowadzeniu do tego artykułu oraz w artykule Tworzenie zasad rejestrowania transakcji. Zrób to w przypadku każdej usługi API, którą chcesz uwzględnić w pakiecie API.
  2. Gdy usługi API i zasady rejestrowania transakcji będą skonfigurowane dokładnie tak, jak ty chcesz, utwórz pakiet API, który zawiera usługę. Przeczytaj artykuł Tworzenie pakietów API.

Następnie użyj interfejsu API, aby utworzyć plan taryfowy.

Szczegóły planu taryfowego z atrybutami niestandardowymi określasz podczas tworzenia planu taryfowego. Szczegóły określasz 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 określasz wartość parametru wyceny, która identyfikuje nazwę atrybutu niestandardowego. Możesz też określić wartość parametru wyceny, która agreguje atrybut niestandardowy w określonym przedziale czasu.

Pełną listę opcji szczegółów planu taryfowego znajdziesz w artykule Ustawienia konfiguracji szczegółów planu taryfowego.

Na przykład poniższy kod tworzy plan cennika z atrybutem niestandardowym na podstawie atrybutu niestandardowego o nazwie messageSize (zobacz elementy 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

Poniższy kod tworzy plan taryfowy powiadomienia z możliwością dostosowania z atrybutem niestandardowym na podstawie a atrybutu niestandardowego o nazwie messageSize (zobacz element w pogrubiony).

$ 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