Wenn Kunden ein Preismodell für Ihre Software auswählen, erstellt Google ein entitlement gibt an, dass der Kunde Ihr Produkt bei Cloud Marketplace In diesem Abschnitt wird beschrieben, wie Sie über die Partner Procurement API Ansprüche für Ihre Kunden erstellen und verwalten können.
Weitere Informationen zum Verwalten von Berechtigungen finden Sie in der Referenzdokumentation.
Hinweis
- Richten Sie den Zugriff auf die Cloud Commerce Partner Procurement API ein, wie unter App einbinden:
Wenn Sie mehrere Bestellungen desselben Produkts aktiviert haben, kann die Partner Procurement API mehrere Ereignisse mit dem Ereignistyp ENTITLEMENT_ACTIVE
für denselben Wert ACCOUNT_ID
senden, jeweils mit einer eindeutigen ENTITLEMENT_ID
, die ein anderes Angebot darstellt. Das bedeutet, dass Sie
Achte darauf, dass die Ereignisverarbeitungslogik deiner App auf den ENTITLEMENT_ID
reagieren kann.
anstelle von ACCOUNT_ID
oder PRODUCT_ID
.
Sie müssen dafür sorgen, dass Ihre Front-End-Integration den neuen orders
verarbeiten kann.
in der JWT-Nutzlast enthalten ist. Weitere Informationen finden Sie unter
Binden Sie das Front-End Ihrer Anwendung ein.
Weitere Informationen zum Aktivieren mehrerer Bestellungen desselben Produkts finden Sie unter Mehrere Bestellungen desselben Produkts aktivieren.
Berechtigung genehmigen
Wenn ein Kunde ein Preismodell auswählt, erstellt Cloud Marketplace ein Berechtigung und sendet die folgende Pub/Sub-Nachricht an die Anwendung:
{ "eventId": "...", "eventType": "ENTITLEMENT_CREATION_REQUESTED", "providerId": "YOUR_PARTNER_ID", "entitlement": { "id": "ENTITLEMENT_ID", "updateTime": "...", "newOfferDuration": "P2Y3M", // Contract duration for offer-based entitlements }, }
Dabei ist ENTITLEMENT_ID eine von Cloud Marketplace erstellte ID. Hat das Angebot eine bestimmte Dauer, wird diese in Jahren und Monate. Wenn für das Angebot anstelle einer Dauer ein Enddatum angegeben ist, wird im Feld gibt an, dass die Dauer leer ist.
Aktualisieren Sie in Ihrem System das Konto des Nutzers, um anzuzeigen, dass er ein Abo erworben hat. Senden Sie zum Genehmigen der Berechtigung eine HTTP POST
-Anfrage an die Partnerbeschaffungs-API und senden Sie die ENTITLEMENT_ID, die Sie genehmigen:
POST v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID:approve
Berechtigung ablehnen
Um eine Berechtigung abzulehnen, senden Sie eine HTTP POST
-Anfrage an den
Partner Procurement API und verwenden Sie in Ihrer Anfrage die Methode reject
:
POST v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID:reject
Wenn Sie im Anfragetext einen Grund für die Ablehnung der Berechtigung angeben möchten, verwenden Sie das folgende Format:
{ "reason": "..." }
Berechtigungsmodell ändern
Je nachdem, wie Sie Ihr Preismodell eingerichtet haben, können Ihre Kunden gegebenenfalls ein anderes Angebot wählen. Wenn ein Kunde einen neuen Preismodell auswählt, erhalten Sie eine Pub/Sub-Nachricht im folgenden Format:
{ "eventId": "...", "eventType": "ENTITLEMENT_PLAN_CHANGE_REQUESTED", "providerId": "YOUR_PARTNER_ID", "entitlement": { "id": "ENTITLEMENT_ID", "newPlan": "ultimate", // New plan "updateTime": "...", "newOfferDuration": "P2Y3M", // Contract duration for the new offer, for offer-based entitlements }, }
Wenn das Angebot eine bestimmte Dauer hat, wird diese in Jahren und Monaten angegeben. Wenn für das Angebot anstelle einer Dauer ein Enddatum angegeben ist, wird im Feld gibt an, dass die Dauer leer ist.
Stellen Sie zum Genehmigen des Tarifwechsels die folgende HTTP POST
-Anfrage an die Partner-API:
POST v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID:approvePlanChange
Die Antragsstelle muss den Tarif haben, der genehmigt wird:
{
"pendingPlanName": PLAN_NAME
}
Nachdem der Wechsel genehmigt wurde, erhalten Sie eine weitere Pub/Sub-Nachricht, wenn der Wechsel wirksam wird. In der Nachricht ändert sich das Feld eventType
in ENTITLEMENT_PLAN_CHANGED
. Stellen Sie zum Prüfen des Status eines Tarifs die folgende HTTP GET
-Anfrage an die Partnerbeschaffungs-API.
GET v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID
Die Antwort ähnelt der folgenden: Das Feld state
gibt an, ob der neue Tarif aktiv ist oder ob der Tarifwechsel noch aussteht.
{ "name": "providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID", "provider": "YOUR_PARTNER_ID", "account": "USER_ACCOUNT_ID", "product": "example-server", "plan": "pro", "state": "ENTITLEMENT_PENDING_PLAN_CHANGE", "newPendingPlan": "ultimate", ... }
Berechtigung kündigen
Wenn ein Nutzer sich entscheidet, seine Berechtigung zu stornieren, erhalten Sie eine Cloud Pub/Sub-Benachrichtigung. Ähnlich wie bei einem Wechsel des Preismodells kann die tatsächliche Stornierung am Ende des aktuellen Abrechnungszyklus wirksam werden.
Die Benachrichtigung hat folgendes Format:
{ "eventId": "...", // If the entitlement is canceled at the end of the month, // eventType is ENTITLEMENT_PENDING_CANCELLATION "eventType": "ENTITLEMENT_CANCELLED", "providerId": "YOUR_PARTNER_ID", "entitlement": { "id": "ENTITLEMENT_ID", "updateTime": "..." }, }
Berechtigung löschen
Wenn ein Nutzer eine direkte Anfrage an den Google-Support stellt oder das Google werden ihre Berechtigungen sofort widerrufen und ihre Berechtigung und Konten werden nach einem Kulanzzeitraum von 60 Tagen gelöscht. Sie müssen die Daten von Ihren Servern löschen, sobald Sie benachrichtigt wurden, um die Privatsphäre des Nutzers zu schützen.
Wenn die Berechtigungen storniert und das Konto gelöscht wird, erhalten Sie Benachrichtigungen, die den folgenden ähneln:
{ "eventId": "...", "eventType": "ENTITLEMENT_DELETED", "providerId": "YOUR_PARTNER_ID", "entitlement": { "id": "ENTITLEMENT_ID", "updateTime": "...", }, }
{ "eventId": "...", "eventType": "ACCOUNT_DELETED", "providerId": "YOUR_PARTNER_ID", "account": { "id": "USER_ACCOUNT_ID", "updateTime": "...", }, }
Liste der Ereignistypen für Kontoaufgaben
Das Folgende ist eine Liste der eventType
s, die Ihre Anwendung möglicherweise in Pub/Sub-Nachrichten empfängt:
eventType | Beschreibung |
---|---|
ACCOUNT_CREATION_REQUESTED | Veraltet |
ACCOUNT_ACTIVE | Zeigt an, dass das Kundenkonto erstellt wurde. |
ACCOUNT_DELETED | Zeigt an, dass das Kundenkonto aus Google Cloud-Systemen gelöscht wurde. |
ENTITLEMENT_CREATION_REQUESTED | Zeigt an, dass ein Kunde einen Ihrer Preispläne ausgewählt hat. |
ENTITLEMENT_OFFER_ACCEPTED | Gibt an, dass ein Angebot von einem Kunden angenommen wurde. Enthält den geplanten Beginn des Angebots, falls vorhanden. Dieses Ereignis wird sowohl für private als auch für Standardangebote (öffentliche Käufe) gesendet. |
ENTITLEMENT_ACTIVE | Zeigt an, dass der von einem Kunden ausgewählte Tarif jetzt aktiv ist. |
ENTITLEMENT_PLAN_CHANGE_REQUESTED | Zeigt an, dass ein Kunde einen neuen Tarif ausgewählt hat. |
ENTITLEMENT_PLAN_CHANGED | Zeigt an, dass der Tarifwechsel eines Kunden genehmigt wurde und die Änderungen wirksam wurden. |
ENTITLEMENT_PLAN_CHANGE_CANCELLED | Zeigt an, dass der Tarifwechsel eines Kunden abgebrochen wurde, entweder weil er nicht genehmigt wurde oder weil er zu seinem alten Tarif zurückgekehrt ist. |
ENTITLEMENT_PENDING_CANCELLATION | Zeigt an, dass ein Kunde seinen Tarif storniert hat und die Stornierung bis zum Ende des Abrechnungszyklus aussteht. |
ENTITLEMENT_CANCELLATION_REVERTED | Zeigt an, dass die ausstehende Stornierung eines Kunden zurückgesetzt wurde. Beachten Sie, dass Stornierungen nicht mehr rückgängig gemacht werden können, nachdem sie endgültig sind. |
ENTITLEMENT_CANCELLED | Zeigt an, dass der Tarif eines Kunden storniert wurde. |
ENTITLEMENT_CANCELLING | Zeigt an, dass der Tarif eines Kunden gerade storniert wird. |
ENTITLEMENT_RENEWED | Zeigt an, dass die Berechtigung eines Kunden um einen anderen Zeitraum verlängert wurde. Sie müssen nichts unternehmen, um die Verlängerung abzuschließen. |
ENTITLEMENT_OFFER_ENDED | Zeigt an, dass das private Angebot eines Kunden beendet wurde. Wenn die Berechtigung des Kunden storniert wurde, wird ein separates ENTITLEMENT_CANCELLED -Ereignis ausgelöst. Wenn die Berechtigung des Kunden noch aktiv ist, wird das Abo auf die nicht rabattierten Preise zurückgesetzt. |
ENTITLEMENT_DELETED | Zeigt an, dass Informationen zum Tarif eines Kunden aus dem Cloud Marketplace gelöscht wurden. |