Konfigurowanie planu stawek za pomocą atrybutów niestandardowych

Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

Wstęp

W niektórych przypadkach licznik transakcji musi być oparty na zmiennej lub wartości niestandardowej. Konieczne może być na przykład:

  • Opłaty są naliczane od programistów w zależności od wartości podanej w komunikacie wywołania interfejsu API. Możesz na przykład naliczać opłaty od deweloperów aplikacji na podstawie liczby bajtów przesłanych w żądaniu do interfejsu API.
  • Połącz wiele wywołań interfejsu API w jedną transakcję.

Korzystając z planów stawek z atrybutami niestandardowymi, możesz zidentyfikować wartość w wiadomości wywołania interfejsu API, która działa jako licznik, i co służy do obliczania liczby transakcji i obciążeń.

Obsługiwane są te abonamenty z atrybutami niestandardowymi:

  • Arkusz stawek z atrybutem niestandardowym
  • Powiadomienia dostosowywane z atrybutem niestandardowym

Na każdy abonament możesz ustawić maksymalnie 10 atrybutów niestandardowych.

Obliczenia atrybutów niestandardowych

Uwzględnienie wartości atrybutu niestandardowego w liczbie transakcji i opłatach w ramach abonamentu zależy od modelu naliczania opłat. Szczegóły znajdziesz w tabeli poniżej.

Model ładowania Obliczanie atrybutów niestandardowych
Stała opłata i objętościowe

custom attribute number * rate = charge to developer

W przypadku stałej stawki numer atrybutu niestandardowego staje się liczbą transakcji mnożonych przez stawkę. W przypadku zakresu z ograniczeniem ilościową liczba transakcji w zakresie jest zwiększana o numer niestandardowego atrybutu, 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 opłatą za 10 transakcji, a 10 transakcji zostanie dodanych do bieżącej liczby pasm. Jeśli w bieżącym zakresie aplikacji zostało jeszcze tylko 6 transakcji dewelopera, 6 jest mnożone przez stawkę dla tego zakresu. Pozostałe 4 muszą przechodzić do następnego pasma i mnożyć przez jego stawkę.

W przypadku abonamentu z pasmem ilościowym, jeśli ostatni zakres woluminu ma limit (nie jest „nieograniczony”), a transakcja go przekracza, mają miejsce 2 rzeczy:

Pakiety

Ponieważ opłaty za pakiety są naliczane przez grupę, a nie transakcję, wykonywane są te obliczenia:

custom attribute number = amount added to bundle count

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 w obecnym pakiecie pozostało tylko 6 transakcji dewelopera, zostanie on uzupełniony, a liczba kolejnych pakietów wzrośnie o 4. Zapłacisz stawkę za kolejny pakiet, jeśli taki istnieje.

Jeśli ostatni pakiet ma limit (nie jest „nieograniczony”), a transakcja go przekroczy, wydarzą się 2 wyniki:

Regulowane powiadomienia

W przypadku powiadomienia, które można dostosować, wykonywane są następujące obliczenia:

custom attribute number = amount added to transaction count

Jeśli na przykład numer atrybutu niestandardowego w wiadomości to 10, do łącznej liczby transakcji zostanie dodanych 10.

Miejsce, w którym plan stawek otrzymuje wartość atrybutu niestandardowego

Zasady rejestrowania transakcji (w pakiecie usług API) informują zarabianie o tym, gdzie szukać wartości atrybutu niestandardowego w wiadomości. Atrybut niestandardowy definiuje się w sekcji Atrybuty niestandardowe w zasadach rejestrowania transakcji dla pakietu produktów API.

Następnie możesz wybrać ten atrybut niestandardowy w planie stawek po utworzeniu pakietu produktów API, który zawiera zasady rejestrowania transakcji ze zdefiniowanym atrybutem niestandardowym.

Oto ogólne omówienie tego procesu:

  1. Atrybuty niestandardowe określ podczas dodawania usługi API.
  2. Utwórz pakiet produktów API zawierający ten produkt.
    W zasadach rejestrowania transakcji dla pakietu produktów API dodaj atrybuty niestandardowe, które będą służyć do definiowania planów stawek.
  3. Utwórz plan stawek typu arkusz stawek lub powiadomienie z możliwością dostosowania dla pakietu produktów interfejsu API i określ parametr oceny niestandardowej.

Poniższy rysunek przedstawia związek między atrybutem niestandardowym zdefiniowanym w zasadzie rejestrowania transakcji a konfiguracją planu arkusza stawek. Powiadomienie, które można dostosować ze relacją abonamentu stawki atrybutów niestandardowych, jest podobne, ale wartość zależna od ilości nie ma zastosowania.

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

Zasada rejestrowania transakcji może szukać wartości atrybutu niestandardowego w kilku miejscach, takich jak nagłówek odpowiedzi, jej treść lub wstępnie zdefiniowane zmienne przepływu w odpowiedzi. (Żądanie nie jest dostępne, ponieważ transakcja nie jest oficjalna, dopóki nie otrzymasz pomyślnej odpowiedzi). Poniżej znajdziesz przykłady dodawania do wiadomości nagłówka odpowiedzi z jego wartością liczbową. W obu przypadkach w połączeniu ze zmiennymi skorzystamy z zasad przypisywania wiadomości.

Dodanie rozmiaru ładunku żądania do nagłówka odpowiedzi

Każde żądanie wiadomości zawiera zmienną client.received.content.length zawierającą liczbę bajtów w ładunku żądania. Dołączając zasadę przypisywania wiadomości do odpowiedzi punktu końcowego serwera proxy, możemy wygenerować nagłówek odpowiedzi o nazwie messageSize zawierający 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>

Dodanie do nagłówka wartości niestandardowego atrybutu aplikacji

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

Gdy używasz zasady weryfikacji klucza interfejsu API (wymaganej do zarabiania), ta wartość jest przechowywana w zmiennej o nazwie verifyapikey.{policy_name}.apprating. Korzystając z zasady przypisywania wiadomości dołączonej do odpowiedzi punktu końcowego serwera 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 atrybutów niestandardowych abonament jest konfigurowany w taki sam sposób jak zwykle (w przypadku abonamentów bez atrybutów niestandardowych), ale musi spełniać podane niżej wymagania.

Konfigurowanie planu arkusza stawek z atrybutem niestandardowym za pomocą interfejsu

Skonfiguruj abonamenty arkusza stawek za pomocą atrybutów niestandardowych za pomocą interfejsu Edge lub Classic Edge w sposób opisany w poniższych sekcjach.

Edge

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

  1. Atrybuty niestandardowe określ podczas dodawania usługi API.
  2. Utwórz pakiet produktów API zawierający ten produkt. Zobacz Tworzenie pakietów produktów przy użyciu interfejsu API.
    W zasadach rejestrowania transakcji dla pakietu produktów API dodaj atrybuty niestandardowe, które będą używane do definiowania planów stawek. Szczegółowe informacje znajdziesz we wprowadzeniu w tym temacie i w sekcji Tworzenie zasad rejestrowania transakcji.
  3. Utwórz plan stawek dla pakietu produktów interfejsu API i określ parametr oceny niestandardowej.

Więcej informacji znajdziesz w artykule Konfigurowanie szczegółów abonamentu arkusza stawek za pomocą interfejsu.

Klasyczna wersja Edge (Private Cloud)

Aby utworzyć arkusz stawek z planem atrybutów niestandardowych za pomocą klasycznego interfejsu Edge, wykonaj te czynności:

  1. Do zasady rejestrowania transakcji w usłudze API dodaj atrybuty niestandardowe, które będą używane do definiowania planów stawek. Szczegółowe informacje znajdziesz we wprowadzeniu w tym temacie oraz w sekcji Tworzenie zasad rejestrowania transakcji. Zrób to w przypadku każdej usługi API, którą chcesz umieścić w pakiecie API.
  2. Gdy produkty przez interfejs API i zasady rejestrowania transakcji będą skonfigurowane dokładnie tak, jak chcesz, utwórz pakiet API zawierający produkt. Zobacz Tworzenie pakietów interfejsu API.
  3. Utwórz plan stawek dla pakietu interfejsu API, wybierając typ abonamentu Arkusz stawek z atrybutem niestandardowym.
  4. Kliknij link Arkusz stawek. Otworzy się okno Arkusz stawek.

  5. Wybierz atrybut niestandardowy w menu 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 = obciążenie dewelopera)
  6. Opcjonalnie skonfiguruj abonament freemium zgodnie z opisem w sekcji Określanie szczegółów abonamentu arkusza stawek.
  7. Skonfiguruj model opłat zgodnie z opisem w sekcji Określanie szczegółów abonamentu w arkuszu stawek. Pamiętaj jednak, że w przypadku typu abonamentu arkusza stawek z atrybutami niestandardowymi model opłat jest oparty na wybranym przez Ciebie atrybucie niestandardowym. Jeśli na przykład wybierzesz model opłat ze stałą opłatą, deweloper będzie obciążany stałą opłatą na podstawie atrybutu niestandardowego, takiego jak liczba bajtów przesłanych w każdej transakcji (nie stała opłata za każdą transakcję). Więcej informacji znajdziesz w sekcji Obliczenia.
  8. Kliknij Zapisz wersję roboczą.
    Opublikuj plan tylko wtedy, gdy masz całkowitą pewność, że jest ostateczny. Informacje o ustawianiu daty publikacji i publikowaniu planu znajdziesz w sekcji Publikowanie planów stawek.

Więcej informacji znajdziesz w sekcji Określanie szczegółów abonamentu arkusza stawek za pomocą interfejsu.

Konfigurowanie możliwego do dostosowania planu powiadomień z użyciem atrybutów niestandardowych przy użyciu interfejsu użytkownika

Skonfiguruj plany powiadomień z możliwością dostosowania za pomocą atrybutów niestandardowych, jak opisano poniżej.

Edge

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

  1. Atrybuty niestandardowe określ podczas dodawania usługi API.
  2. Utwórz pakiet produktów API zawierający ten produkt. Zobacz Tworzenie pakietów produktów przy użyciu interfejsu API.
    W zasadach rejestrowania transakcji dla pakietu produktów API dodaj atrybuty niestandardowe, które będą używane do definiowania planów stawek. Szczegółowe informacje znajdziesz we wprowadzeniu w tym temacie i w sekcji Tworzenie zasad rejestrowania transakcji.
  3. Utwórz plan stawek dla pakietu produktów interfejsu API i określ parametr oceny niestandardowej.

Więcej informacji znajdziesz w artykule Konfigurowanie dostosowywanego planu powiadomień za pomocą interfejsu.

Klasyczna wersja Edge (Private Cloud)

Aby skonfigurować plan arkusza stawek z atrybutami niestandardowymi przy użyciu klasycznego interfejsu Edge:

  1. Do zasady rejestrowania transakcji w usłudze API dodaj atrybuty niestandardowe, które będą używane do definiowania planów stawek. Szczegółowe informacje znajdziesz we wprowadzeniu w tym temacie oraz w sekcji Tworzenie zasad rejestrowania transakcji. Zrób to w przypadku każdej usługi API, którą chcesz umieścić w pakiecie API.
  2. Gdy produkty przez interfejs API i zasady rejestrowania transakcji będą skonfigurowane dokładnie tak, jak chcesz, utwórz pakiet API zawierający produkt. Zobacz Tworzenie pakietów interfejsu API.
  3. Utwórz plan taryfowy dla pakietu interfejsu API, wybierając typ planu stawek Adjustable Notification with Custom Attribute (Dostosowanie powiadomienia z atrybutem niestandardowym).
  4. Kliknij link Szczegóły. Otworzy się okno dostosowywanego powiadomienia.

  5. Wybierz atrybut niestandardowy w menu Atrybut niestandardowy. To 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.
  6. Jako podstawę agregacji ustaw okres, za który obliczana jest liczba transakcji. Wybierz liczbę od 1 do 24 miesięcy. Domyślna wartość to 1 miesiąc.
  7. Kliknij Zastosuj i zamknij.
  8. Kliknij Zapisz wersję roboczą.
    Opublikuj plan tylko wtedy, gdy masz całkowitą pewność, że jest ostateczny. Informacje o ustawianiu daty publikacji i publikowaniu planu znajdziesz w sekcji Publikowanie planów stawek.

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

Określanie za pomocą interfejsu API szczegółów abonamentu za pomocą atrybutów niestandardowych

Wykonaj te czynności wstępne:

  1. Do zasady rejestrowania transakcji w usłudze API dodaj atrybuty niestandardowe, które będą używane do definiowania planów stawek. Szczegółowe informacje znajdziesz we wprowadzeniu w tym temacie oraz w sekcji Tworzenie zasad rejestrowania transakcji. Zrób to w przypadku każdej usługi API, którą chcesz umieścić w pakiecie API.
  2. Gdy produkty przez interfejs API i zasady rejestrowania transakcji będą skonfigurowane dokładnie tak, jak chcesz, utwórz pakiet API zawierający produkt. Zobacz Tworzenie pakietów interfejsu API.

Następnie utwórz plan taryfowy przy użyciu interfejsu API.

Szczegóły abonamentu podajesz za pomocą atrybutów niestandardowych podczas tworzenia planu stawek. Szczegółowe informacje określasz we właściwości ratePlanDetails w treści żądania w wywołaniu funkcji /organizations/{org_name}/monetization-packages/{package_id}/rate-plans. W szczegółach określasz 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 planu stawek znajdziesz w sekcji Ustawienia konfiguracji szczegółów planu stawek.

Poniżej możesz na przykład utworzyć arkusz stawek z abonamentem z atrybutami niestandardowymi na podstawie atrybutu niestandardowego o nazwie messageSize (elementy wyróżnione pogrubieniem).

$ 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żej utworzysz dostosowywane powiadomienie z planem stawek atrybutów niestandardowych na podstawie atrybutu niestandardowego o nazwie messageSize (zobacz element wyróżniony pogrubieniem).

$ 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