Preispläne mithilfe der API kaufen

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

In diesem Abschnitt wird beschrieben, wie Sie einen veröffentlichten Preisplan erwerben und einen gekauften Tarif über die API bei Bedarf ablaufen oder kündigen.

Veröffentlichten Preisplan über die API erwerben

Nachdem ein Preisplan veröffentlicht wurde, kann ein Entwickler oder Unternehmen ihn kaufen (oder „akzeptieren“), indem er eine POST-Anfrage an /mint/organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans sendet, wobei {org_name} der Name der Organisation und {developer_or_company_id} die ID des Entwicklers oder Unternehmens ist.

Wenn Sie beim Kauf eines Preisplans auf die Einrichtungsgebühren verzichten möchten, setzen Sie den Abfrageparameter waivefees auf true. Dieses Flag ist nützlich, wenn Sie Entwickler zur Monetarisierung migrieren, wie unter Entwickler zur Monetarisierung migrieren beschrieben.

In der folgenden Tabelle werden die Konfigurationsattribute, die Sie im Anfragetext angeben können, sowie ihre Standardwerte zusammengefasst und die Angabe, ob sie erforderlich sind.

Name Beschreibung Standard Erforderlich?
startDate

Datum, an dem der Preisplan beginnt. Beispiel: 2017-03-24.

Ja
endDate

Datum, an dem der Preisplan endet. Beispiel: 2017-09-24.

Der Preisplan gilt bis zum Ende des Tages des angegebenen Datums. Wenn Sie beispielsweise einen Preisplan am 1. Dezember 2017 auslaufen lassen möchten, sollten Sie den Wert endDate auf 2017-11-30 setzen. In diesem Fall läuft der Preisplan am Ende des Tages am 30. November 2017 ab. Alle Anfragen am 1. Dezember 2017 werden blockiert.

Nein
developer

id-Property mit der ID des Entwicklers oder Unternehmens, der den Preisplan erwirbt.

Ja
quotaTarget

Zielanzahl der für den App-Entwickler zulässigen Transaktionen. Sie können konfigurieren, ob und wann Benachrichtigungen gesendet werden, je nachdem, wie viel Prozent der Zielanzahl erreicht wurden, z. B. 90%, 100 % oder 150%. Zusätzliche Transaktionen werden nicht blockiert, nachdem die Zielanzahl erreicht ist.

Setzen Sie diesen Wert auf eine positive Ganzzahl oder auf 0, um Benachrichtigungen für einen App-Entwickler zu deaktivieren.

0 Nein
ratePlan

id-Property, die die ID des Preisplans definiert.

Die Preisplan-ID unterscheidet sich vom Anzeigenamen. Informationen zu den Preisplandetails, einschließlich der ID, finden Sie unter Die Seite „Preispläne“ entdecken.

Ja
suppressWarning

Flag, das angibt, ob der Fehler unterdrückt werden soll, wenn der Entwickler versucht, einen Preisplan zu kaufen, der sich mit einem anderen gekauften Preisplan überschneidet. Folgende Werte sind möglich:

  • true: Durch die Monetarisierung werden alle gekauften Tarifpläne beendet, die der Entwickler an API-Paketen mit den in Konflikt stehenden API-Produkten hat. Anschließend wird ein neues API-Paket für den Entwickler erworben.
  • false: Wenn sich ein Preisplan überschneidet, wird ein Fehler ausgegeben.
Nein
waveTerminationCharge

Flag, das angibt, ob auf Kündigungsgebühren verzichtet wird, wenn ein aktiver Tarifplan im Rahmen der Aktivierung des neuen Tarifplans beendet wird. Folgende Werte sind möglich:

  • true: Es entfällt die Kündigungsgebühr, wenn ein aktiver Tarifplan im Rahmen der Aktivierung des neuen Tarifplans beendet wird.
  • false: Verzichten Sie nicht auf die Kündigungsgebühr, wenn ein aktiver Tarifplan im Rahmen der Aktivierung eines neuen Tarifplans beendet wird.
Nein

Mit der folgenden Anfrage wird beispielsweise der Preisplan location_&_messaging für den angegebenen Entwickler erworben:

curl "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/5cTWgdUvdr6JW3xU/developer-rateplans" \
  -X POST \
  -H "Content-Type:application/json" \
  -u email:password \
  -d '{
   "developer":{
     "id":"5cTWgdUvdr6JW3xU"
   },
   "startDate":"2017-08-30",
   "ratePlan":{
     "id":"location_&_messaging"
   },
   "suppressWarning":false
  }'

In diesem Beispiel ist das Attribut suppressWarning auf false festgelegt. Im Fall eines Konflikts wird in diesem Fall ein Fehler ausgegeben. Wenn der Entwickler beispielsweise versucht, einen Preisplan zu kaufen, der sich mit einem anderen gekauften Preisplan überschneidet, wird ein Fehler ausgegeben. Dadurch kann eine Anwendung, die eine Benutzeroberfläche für die Monetarisierung bereitstellt, den Fehler abfangen und dem Entwickler die in Konflikt stehenden Produkte gegebenenfalls zur Bestätigung anzeigen. Wenn suppressWarning auf true gesetzt ist, beendet die Monetarisierung alle erworbenen Preispläne, die der Entwickler an API-Pakete mit den in Konflikt stehenden Produkten hat. Anschließend wird ein neues API-Paket für den Entwickler erworben.

Die folgende Anfrage kauft einen anpassbaren Benachrichtigungstarif und legt die Zielanzahl von Transaktionen auf 4.000 fest.

curl "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/5cTWgdUvdr6JW3xU/developer-rateplans" \
  -X POST \
  -H "Content-Type:application/json" \
  -u email:password \
  -d '{
   "developer":{
     "id":"5cTWgdUvdr6JW3xU"
   },
   "ratePlan":{
     "id":"adjustable-notification-plan"
   },
   "startDate": "2017-03-24",
   "quotaTarget": 4000,
   "suppressWarning":false
  }'

In jedem der obigen Beispiele wird die folgende Fehlermeldung zurückgegeben:

Developer legal name not specified. 

Anschließend müssen Sie die Monetarisierungsattribute MINT_DEVELOPER_ADDRESS und MINT_DEVELOPER_LEGAL_NAME festlegen und dann den API-Aufruf wiederholen.

Ablauf eines Tarifplans, der von einem Entwickler über die API erworben wurde

Wenn Sie einen von einem Entwickler erworbenen Preisplan ablaufen oder kündigen möchten, aktualisieren Sie die Details des erworbenen Preisplans und geben Sie in einer PUT-Anfrage an die Ressource /organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans/{developer_rateplan_id} das Attribut endDate im Anfragetext an.

Der Preisplan gilt bis zum Ende des Tages des angegebenen Enddatums. Wenn Sie beispielsweise einen Preisplan am 1. Dezember 2017 auslaufen lassen möchten, müssen Sie für endDate den Wert 2017-11-30 festlegen. In diesem Fall läuft der Preisplan am Ende des Tages am 30. November 2017 ab. Alle Anfragen am 1. Dezember 2017 werden blockiert.

Der {developer_rateplan_id} wird in der Antwort zurückgegeben, wenn Sie den veröffentlichten Preisplan erwerben.

Beispiel:

{
  "created": "2017-03-31 18:59:54",
  "developer": {
    ...
  },
  "id": "b1c600b8-f871-496d-8173-12b9950d6ab1",
  "quotaTarget": 3000,
  "ratePlan": {
    ...
  },
  "startDate": "2017-03-31 00:00:00",
  "updated": "2017-03-31 18:59:54",
  "waiveTerminationCharge": false
}

Alternativ können Sie die {developer-rateplan-id} für den Preisplan für Entwickler abrufen, indem Sie eine GET-Anfrage an /organizations/{org_name}/developers/{developer_id}/developer-accepted-rateplans senden, wobei {developer_id} die E-Mail-Adresse des Entwicklers ist. Weitere Informationen finden Sie unter Alle von einem Entwickler erworbenen Preispläne ansehen.

Mit der folgenden Anfrage wird das Enddatum auf den 1. Dezember 2017 geändert. Das heißt, der Preisplan läuft am Ende des Tages am 30. November 2017 ab. Alle Anfragen am 1. Dezember 2017 werden blockiert.

curl "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/developer-rateplans/b1c600b8-f871-496d-8173-12b9950d6ab1"
  -X PUT \
  -H "Content-Type:application/json" \
  -u email:password \
  -d '{
   "id" : "b1c600b8-f871-496d-8173-12b9950d6ab1",
   "developer":{
     "id":"dev@mycompany.com"
   },
   "ratePlan":{
     "id":"p1_adjustable-notification-plan"
   },
   "startDate": "2017-04-15 00:00:00",
   "endDate": "2017-11-30",
   "quotaTarget": 3000,
   "suppressWarning":false
  }'