Preisplan mit benutzerdefinierten Attributen konfigurieren

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

Einführung

In einigen Fällen müssen Transaktionszähler auf einer Variablen oder einem benutzerdefinierten Wert basieren. Sie müssen z. B. Folgendes tun:

  • Entwicklern einen variablen Betrag auf Grundlage eines in der Nachricht einer API angegebenen Werts in Rechnung stellen aufrufen. Beispielsweise können Sie App-Entwicklern Gebühren basierend auf der Anzahl der Byte in Rechnung stellen. in der API-Anfrage übertragen werden.
  • Bündeln Sie mehrere API-Aufrufe in einer einzigen Transaktion.

Wenn Sie Preispläne mit benutzerdefinierten Attributen verwenden, können Sie einen Wert in der Nachricht einer API identifizieren. -Aufruf, der als Zähler fungiert und zur Berechnung von Transaktionszahlen und Gebühren verwendet wird.

Die folgenden Preispläne mit benutzerdefinierten Attributen werden unterstützt:

  • Preisliste mit benutzerdefiniertem Attribut
  • Anpassbare Benachrichtigung mit benutzerdefiniertem Attribut

Pro Preisplan können maximal zehn benutzerdefinierte Attribute festgelegt werden.

Informationen zu Berechnungen für benutzerdefinierte Attribute

Wie der Wert des benutzerdefinierten Attributs in die Anzahl der Transaktionen und Gebühren des Preisplans einbezogen wird hängt vom Lademodell ab, wie in der folgenden Tabelle zusammengefasst.

Lademodell Berechnung benutzerdefinierter Attribute
Pauschalpreis und Banded Volumen

custom attribute number * rate = charge to developer

Bei einer konstanten Rate wird aus dem benutzerdefinierten Attribut die Anzahl der Transaktionen, mit dem Preis multipliziert. Bei „Volumen mit Band“ die Anzahl der Transaktionen in einem Band wird um die Nummer des benutzerdefinierten Attributs erhöht, die dem Entwickler in Rechnung gestellt wird. Anzahl der Transaktionen. Beispiel: Wenn der Wert eines benutzerdefinierten Attributs in der Nachricht 10 ist, werden dem Entwickler 10 Transaktionen in Rechnung gestellt und 10 Transaktionen werden dem aktuelle Bandanzahl. Wenn der Entwickler nur sechs Transaktionen im aktuellen wird 6 mit der Rate für dieses Band multipliziert. Die restlichen 4 kommen in den nächsten Bereich. und mit der Rate dieses Bandes multipliziert.

Wenn das letzte Volumenband einen Grenzwert hat (nicht „unbegrenzt“) und eine Transaktion dieses Limit überschreitet, passieren zwei Dinge:

Pakete

Da Pakete nach der Gruppe und nicht nach der Transaktion in Rechnung gestellt werden, gilt Folgendes: die Berechnung erfolgt:

custom attribute number = amount added to bundle count

Wenn die benutzerdefinierte Attributnummer in der Nachricht beispielsweise 10 lautet, wird 10 zu die Anzahl der im Bundle verwendeten Transaktionen. Wenn der Entwickler nur sechs Transaktionen im aktuellen Bundle, dann wird dieses Set gefüllt und Die Bundle-Anzahl wird um 4 erhöht. Der Preis für das nächste Bundle, falls vorhanden, beträgt geladen wurde.

Wenn das letzte Bundle ein Limit hat (nicht „unbegrenzt“) und eine Transaktion dieses Limit überschreitet gibt es zwei Dinge:

Anpassbare Benachrichtigungen

Für anpassbare Benachrichtigungen wird die folgende Berechnung durchgeführt:

custom attribute number = amount added to transaction count

Wenn die benutzerdefinierte Attributnummer in der Nachricht beispielsweise 10 lautet, wird 10 zu Gesamtzahl der Transaktionen.

Woher stammen die Wert des benutzerdefinierten Attributs

Die Richtlinie zur Transaktionsaufzeichnung (im API-Produktpaket) teilt der Monetarisierung mit, wo im für den benutzerdefinierten Attributwert. Sie definieren das benutzerdefinierte Attribut in den benutzerdefinierten Attributen der Richtlinie zur Transaktionsaufzeichnung für das API-Produktset.

Anschließend können Sie dieses benutzerdefinierte Attribut im Preisplan auswählen, nachdem Sie eine API erstellt haben. Produktset, das die Richtlinie zur Transaktionsaufzeichnung mit dem benutzerdefiniertes Attribut definiert.

Hier ist der allgemeine Ablauf:

  1. Definieren Sie die benutzerdefinierten Attribute, wenn Sie ein API-Produkt hinzufügen.
  2. Erstellen Sie ein API-Produktset, das das Produkt enthält.
    Fügen Sie in der Richtlinie zur Transaktionsaufzeichnung für das API-Produktset die benutzerdefinierten Attribute hinzu, die zum Definieren von Tarifplänen.
  3. Erstellen Sie einen Preisplan vom Typ "Preisliste" oder einer anpassbaren Benachrichtigung. für das API-Produktset und geben Sie einen benutzerdefinierten Bewertungsparameter an.

Die folgende Abbildung zeigt die Beziehung zwischen dem benutzerdefinierten Attribut, das in der die Richtlinie zur Transaktionsaufzeichnung und die Konfiguration des Preislistenplans. Die Die anpassbare Benachrichtigung mit der Preisplan-Beziehung für ein benutzerdefiniertes Attribut ist ähnlich, obwohl der Wert für die Volumenband-Kennzeichnung nicht anwendbar ist.

So erstellen Sie die benutzerdefinierte Attributwert in der Nachricht

Die Richtlinie zur Transaktionsaufzeichnung kann an verschiedenen Stellen nach dem benutzerdefinierten Attributwert suchen: wie der Antwortheader, den Antworttext oder die vordefinierten Flussvariablen in der Antwort. (Die Anfrage ist nicht verfügbar, da eine Transaktion erst offiziell ist, wenn Sie eine response.) Im Folgenden finden Sie Beispiele, die zeigen, wie Sie einen Antwortheader mit ihren numerischen Wert in die Nachricht ein. In beiden Fällen verwenden wir die Richtlinie zum Zuweisen von Nachrichten in in Verbindung mit Variablen.

Größe der Anfragenutzlast zum Antwortheader hinzufügen

In jeder Nachrichtenanfrage gibt es eine client.received.content.length-Variable, die enthält die Anzahl der Byte in der Anfragenutzlast. Wenn Sie die Richtlinie „Nachricht zuweisen“ an die Proxy-Endpunktantwort erhalten, können wir einen Antwortheader namens messageSize generieren, der enthält den Wert für die Länge:

<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>

Wert eines benutzerdefinierten App-Attributs zum Header hinzufügen

Auf ähnliche Weise können wir in einer App einen Header mit dem Wert eines benutzerdefinierten Attributs generieren. Angenommen, Sie fügen jedem Entwickler ein benutzerdefiniertes Attribut namens apprating hinzu. App:

Wenn du die Richtlinie „API-Schlüssel überprüfen“ verwendest, die für die Monetarisierung erforderlich ist, lautet dieser Wert in der Variablen verifyapikey.{policy_name}.apprating gespeichert. Mithilfe der Funktion an die Antwort des Proxy-Endpunkts angehängt ist, können Sie einen Header namens apprating, der den apprating-Wert der App enthält:

<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>

Tarifplan einrichten

Abgesehen von der oben beschriebenen Einrichtung für benutzerdefinierte Attribute wird der Preisplan auf die gleiche Weise eingerichtet. wie gewohnt (für Preispläne ohne benutzerdefinierte Attribute), müssen jedoch die die folgenden Anforderungen erfüllen.

<ph type="x-smartling-placeholder">

Preislistenplan mit benutzerdefiniertem Attribut über die Benutzeroberfläche konfigurieren

Konfigurieren Sie Preislistenpläne mit benutzerdefinierten Attributen mithilfe der Edge-Benutzeroberfläche oder der Classic Edge-Benutzeroberfläche, wie in den folgenden Abschnitten beschrieben.

Edge

So konfigurieren Sie einen Preislistenplan mit benutzerdefinierten Attributen mithilfe der Edge-Benutzeroberfläche:

  1. Definieren Sie die benutzerdefinierten Attribute, wenn Sie ein API-Produkt hinzufügen.
  2. Erstellen Sie ein API-Produktset, das das Produkt enthält. Siehe API-Produktpakete erstellen.
    Fügen Sie in der Richtlinie zur Transaktionsaufzeichnung für das API-Produktset die benutzerdefinierten Attribute hinzu, die zum Definieren von Tarifplänen. Weitere Informationen finden Sie in der Einführung zu diesem Thema sowie in Erstellen Sie eine Richtlinie für die Transaktionsaufzeichnung.
  3. Erstellen Sie einen Tarif für das API-Produktpaket und einen benutzerdefinierten Bewertungsparameter angeben.

Weitere Informationen finden Sie unter Details zu Preislistenplänen über die Benutzeroberfläche konfigurieren.

Classic Edge (Private Cloud)

Führen Sie die folgenden Schritte aus, um eine Preisliste mit einem Plan mit benutzerdefinierten Attributen mithilfe der Classic Edge-Benutzeroberfläche zu erstellen:

  1. Fügen Sie in der Richtlinie zur Transaktionsaufzeichnung eines API-Produkts die benutzerdefinierten Attribute hinzu, zum Definieren von Tarifplänen. Weitere Informationen finden Sie in der Einführung in diesem Thema sowie in der Anleitung zum Erstellen einer Transaktion. Aufzeichnungsrichtlinie Wiederholen Sie diese Schritte für jedes API-Produkt, das Sie im API-Paket enthalten möchten.
  2. Sobald die API-Produkte und Richtlinien zur Transaktionsaufzeichnung genau so konfiguriert sind, erstellen Sie ein API-Paket, das das Produkt enthält. Siehe API-Pakete erstellen.
  3. Erstellen Sie einen Preisplan für das API-Paket und wählen Sie den Preisplantyp Preisliste aus. mit benutzerdefiniertem Attribut.
  4. Klicken Sie auf den Link Preisliste. Das Fenster mit der Preisliste wird geöffnet.

  5. Wählen Sie im Dropdown-Menü Benutzerdefiniertes Attribut ein benutzerdefiniertes Attribut aus. Im Menü werden benutzerdefinierte Attribute, die für das Produkt in einer Richtlinie zur Transaktionsaufzeichnung erstellt wurden. Dem Entwickler wird ein Betrag in Rechnung gestellt. basierend auf dem Wert des ausgewählten benutzerdefinierten Attributs in jeder Transaktion.
    (Attributwert × Preis = Gebühr für den Entwickler)
  6. Richten Sie optional einen Freemium-Plan ein wie unter Preislistenplan angeben beschrieben. Details.
  7. Richten Sie ein Abrechnungsmodell ein wie unter Preislistenplan angeben beschrieben. Details. Beachten Sie jedoch, dass für die Preisliste mit dem Preisplantyp "Benutzerdefiniertes Attribut" der Wert Abrechnungsmodell auf Basis des von Ihnen ausgewählten benutzerdefinierten Attributs. Wenn Sie z. B. „Flach“ auswählen, Preis als Abrechnungsmodell. Dem Entwickler wird ein fester Preis basierend auf der benutzerdefinierten wie die Anzahl der bei jeder Transaktion übertragenen Byte (keine feste Rate für jede Transaktion). Weitere Informationen finden Sie unter Berechnungen.
  8. Klicken Sie auf Speichern Entwurf:
    Veröffentlichen Sie den Plan nur, wenn Sie absolut sicher sind, dass er endgültig ist. Weitere Informationen finden Sie unter Veröffentlichen finden Sie Informationen zum Festlegen des Veröffentlichungsdatums und zum Veröffentlichen der zu erstellen.

Weitere Informationen finden Sie unter Details zum Preislistenplan über die Benutzeroberfläche angeben

Über die Benutzeroberfläche einen anpassbaren Benachrichtigungsplan mit benutzerdefinierten Attributen konfigurieren

Konfigurieren Sie wie unten beschrieben anpassbare Benachrichtigungspläne mit benutzerdefinierten Attributen.

Edge

So konfigurieren Sie einen Preislistenplan mit benutzerdefinierten Attributen mithilfe der Edge-Benutzeroberfläche:

  1. Definieren Sie die benutzerdefinierten Attribute, wenn Sie ein API-Produkt hinzufügen.
  2. Erstellen Sie ein API-Produktset, das das Produkt enthält. Siehe API-Produktpakete erstellen.
    Fügen Sie in der Richtlinie zur Transaktionsaufzeichnung für das API-Produktset die benutzerdefinierten Attribute hinzu, die zum Definieren von Tarifplänen. Weitere Informationen finden Sie in der Einführung zu diesem Thema sowie in Erstellen Sie eine Richtlinie für die Transaktionsaufzeichnung.
  3. Erstellen Sie einen Tarif für das API-Produktpaket und einen benutzerdefinierten Bewertungsparameter angeben.

Weitere Informationen finden Sie unter Anpassbaren Benachrichtigungsplan über die Benutzeroberfläche konfigurieren.

Classic Edge (Private Cloud)

So konfigurieren Sie einen Preislistenplan mit benutzerdefinierten Attributen mithilfe der Classic Edge-Benutzeroberfläche:

  1. Fügen Sie in der Richtlinie zur Transaktionsaufzeichnung eines API-Produkts die benutzerdefinierten Attribute hinzu, zum Definieren von Tarifplänen. Weitere Informationen finden Sie in der Einführung in diesem Thema sowie in der Anleitung zum Erstellen einer Transaktion. Aufzeichnungsrichtlinie Führen Sie diesen Schritt für jedes API-Produkt aus, das Sie im API-Paket enthalten möchten.
  2. Sobald die API-Produkte und Richtlinien zur Transaktionsaufzeichnung genau so konfiguriert sind, erstellen Sie ein API-Paket, das das Produkt enthält. Siehe API-Pakete erstellen.
  3. Erstellen Sie einen Preisplan für das API-Paket und wählen Sie als Preisplantyp Anpassbar Benachrichtigung mit benutzerdefiniertem Attribut.
  4. Klicken Sie auf den Link Details. Dadurch wird die anpassbare Benachrichtigung geöffnet, .

  5. Wählen Sie im Drop-down-Menü Benutzerdefiniertes Attribut ein benutzerdefiniertes Attribut aus. Das Menü Listet benutzerdefinierte Attribute auf, die für das Produkt in einer Richtlinie zur Transaktionsaufzeichnung erstellt wurden. Die wird die Gesamtzahl der Transaktionen des Entwicklers anhand des Werts der ausgewählten benutzerdefiniertes Attribut in jeder Transaktion verwenden.
  6. Legen Sie als Aggregationsbasis den Zeitraum fest, über den das Volumen der Transaktionen zusammengefasst. Wählen Sie eine Zahl zwischen 1 und 24 Monaten aus. Der Standardwert für diesen Wert ist 1. Monat.
  7. Klicken Sie auf Übernehmen und schließen.
  8. Klicken Sie auf Speichern Entwurf:
    Veröffentlichen Sie den Plan nur, wenn Sie absolut sicher sind, dass er endgültig ist. Weitere Informationen finden Sie unter Veröffentlichen finden Sie Informationen zum Festlegen des Veröffentlichungsdatums und zum Veröffentlichen der zu erstellen.

Weitere Informationen finden Sie unter Anpassbare Details zum Benachrichtigungsplan über die Benutzeroberfläche angeben

Mit der API Details für einen Preisplan mit benutzerdefinierten Attributen angeben

Führen Sie die folgenden erforderlichen Schritte aus:

  1. Fügen Sie in der Richtlinie zur Transaktionsaufzeichnung eines API-Produkts die benutzerdefinierten Attribute hinzu, zum Definieren von Tarifplänen. Weitere Informationen finden Sie in der Einführung in diesem Thema sowie in der Anleitung zum Erstellen einer Transaktion. Aufzeichnungsrichtlinie Wiederholen Sie diese Schritte für jedes API-Produkt, das Sie im API-Paket enthalten möchten.
  2. Sobald die API-Produkte und Richtlinien zur Transaktionsaufzeichnung genau so konfiguriert sind, erstellen Sie ein API-Paket, das das Produkt enthält. Siehe API-Pakete erstellen.

Als Nächstes erstellen Sie den Preisplan mithilfe der API.

Details für einen Preisplan geben Sie mit benutzerdefinierten Attributen an, wenn Sie den Preisplan erstellen. Ich geben Sie die Details im Attribut ratePlanDetails im Anfragetext in einem an /organizations/{org_name}/monetization-packages/{package_id}/rate-plans. In zu den Details geben Sie einen Wert für den Bewertungsparameter an, der den Namen des benutzerdefinierten . Sie können auch einen Wert für den Bewertungsparameter angeben, mit dem das benutzerdefinierte Attribut in einem bestimmten Zeitintervall.

Siehe Preisplan Konfigurationseinstellungen für Details finden Sie eine vollständige Liste der Detailoptionen für Preispläne.

Mit dem folgenden Code wird beispielsweise eine Preisliste mit einem Plan mit benutzerdefinierten Attributen erstellt, der auf einem benutzerdefinierten mit dem Namen messageSize (siehe Artikel in Fettschrift).

$ 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

Mit den folgenden Schritten wird eine anpassbare Benachrichtigung mit einem Preisplan mit benutzerdefiniertem Attribut auf der Grundlage eines Benutzerdefiniertes Attribut mit dem Namen messageSize (siehe Artikel in Fettschrift).

$ 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