Preispläne mithilfe der API kaufen

Sie sehen sich die Dokumentation zu Apigee Edge an.
Sehen Sie sich die Apigee X-Dokumentation an.
info

In diesem Abschnitt wird beschrieben, wie Sie ein veröffentlichtes Tarifpaket kaufen und ein gekauftes Tarifpaket bei Bedarf mithilfe der API verlängern oder kündigen.

Veröffentlichte Tarifpakete über die API kaufen

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

Wenn Sie beim Kauf eines Tarifpakets 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 sind die Konfigurationseigenschaften zusammengefasst, die Sie im Anfragetext angeben können, ihre Standardwerte und ob sie erforderlich sind.

Name Beschreibung Standard Erforderlich?
startDate

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

Ja
endDate

Das Datum, an dem das Preispaket endet. Beispiel: 2017-09-24.

Das Tarifpaket ist bis zum Ende des Tages des angegebenen Datums gültig. Wenn ein Tarif beispielsweise am 1. Dezember 2017 ablaufen soll, sollten Sie den Wert endDate auf 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.

Nein
developer

id-Property, die die ID des Entwicklers oder Unternehmens definiert, der bzw. das den Tarif kauft.

Ja
quotaTarget

Zielzahl der Transaktionen, die für den App-Entwickler zulässig sind. Sie können festlegen, ob und wann Benachrichtigungen gesendet werden, je nachdem, welcher Prozentsatz der Zielzahl erreicht wurde, z. B. 90%, 100 % oder 150%. Zusätzliche Transaktionen werden nicht blockiert, nachdem die Zielanzahl erreicht wurde.

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

0 Nein
ratePlan

id-Attribut, das die ID des Tarifpakets definiert.

Die Preisplan-ID unterscheidet sich vom Anzeigenamen. Details zum Tarifpaket, einschließlich der ID, finden Sie unter Die Seite „Tarifpakete“.

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. Der Wert kann einer der folgenden sein:

  • true – Durch die Monetarisierung werden alle erworbenen Tarife für API-Pakete, die die in Konflikt stehenden API-Produkte enthalten, für den Entwickler beendet. 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 Kündigungsgebühren erlassen werden, wenn ein aktiver Tarifplan im Rahmen der Aktivierung des neuen Tarifplans gekündigt wird. Folgende Werte sind möglich:

  • true – Verzicht auf die Kündigungsgebühr, wenn ein aktives Tarifpaket im Rahmen der Aktivierung des neuen Tarifpakets gekündigt wird.
  • false – Verzichte nicht auf die Kündigungsgebühr, wenn ein aktives Tarifpaket im Rahmen der Aktivierung eines neuen Tarifpakets gekündigt wird.
Nein

Mit der folgenden Anfrage wird beispielsweise das Tarifpaket 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 die Property suppressWarning auf false festgelegt. In diesem Fall wird bei einem Konflikt 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 zur Bestätigung (sofern zutreffend) anzeigen. Wenn suppressWarning auf true festgelegt ist, werden durch die Monetarisierung alle gekauften Tarife beendet, die der Entwickler für API-Pakete hat, die die in Konflikt stehenden Produkte enthalten. Anschließend wird ein neues API-Paket für den Entwickler gekauft.

Mit der folgenden Anfrage wird ein anpassbarer Benachrichtigungstarif erworben und die Zielanzahl der Transaktionen auf 4.000 festgelegt.

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

Wenn in einem der obigen Beispiele die folgende Fehlermeldung zurückgegeben wird:

Developer legal name not specified. 

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

Ablauf eines Tarifs, der von einem Entwickler über die API gekauft wurde

Wenn Sie ein von einem Entwickler gekauftes Tarifpaket aufheben (oder kündigen) möchten, aktualisieren Sie die Details des gekauften Tarifpakets und geben Sie die endDate-Eigenschaft im Anfragetext in einer PUT-Anfrage an die /organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans/{developer_rateplan_id}-Ressource an.

Der Preisplan gilt bis zum Ende des Tages des angegebenen Enddatums. Wenn ein Tarif beispielsweise am 1. Dezember 2017 ablaufen soll, sollten Sie den Wert endDate auf 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 das veröffentlichte Preispaket kaufen.

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 Entwicklertarif mit einer GET-Anfrage an /organizations/{org_name}/developers/{developer_id}/developer-accepted-rateplans abrufen. Dabei ist {developer_id} die E-Mail-Adresse des Entwicklers. Weitere Informationen finden Sie unter Alle von einem Entwickler gekauften Preispläne ansehen.

Mit der folgenden Anfrage wird das Enddatum auf den 1. Dezember 2017 aktualisiert. Das heißt, der Preisplan läuft am 30. November 2017 am Ende des Tages aus. 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
  }'