Auf übergeordneter Ebene muss Ihre Anwendung für das folgende Szenario geeignet sein:
Ein Nutzer stellt eine Anfrage oder Änderung im Cloud Marketplace, z. B. die Anmeldung für Ihr Produkt.
Cloud Marketplace sendet Ihrer App eine Benachrichtigung über Pub/Sub mit Informationen zu der Anfrage im
eventType
. Wenn ein Nutzer beispielsweise seine Berechtigung ändert, isteventType
ENTITLEMENT_PLAN_CHANGED
.Siehe die vollständige Liste der möglichen
eventType
s.Zum Genehmigen der Anfrage sendet Ihre Anwendung eine
HTTP POST
-Anfrage an die Partner Procurement API.
In den folgenden Abschnitten wird beschrieben, auf welche Arten die Nutzer Anfragen stellen können und was Ihre Anwendung tun muss, um die Anfragen zu bearbeiten.
Verwenden Sie für die in diesem Abschnitt beschriebenen API-Aufrufe diesen Endpunkt:
https://cloudcommerceprocurement.googleapis.com/
Hinweis
- Richten Sie den Zugriff auf die Cloud Commerce Partner Procurement API ein, wie unter Anwendung einbinden beschrieben.
Konto für einen neuen Nutzer erstellen
Wenn ein Nutzer Ihr Produkt zum ersten Mal kauft, erstellt Cloud Marketplace ein Kontoressource, die die Beziehung des Nutzers zu Ihnen verfolgt. Wenn die Kontoressource erstellt wird, werden Sie über das für Sie erstellte Pub/Sub-Thema benachrichtigt. Die Pub/Sub-Nachricht hat das folgende Format:
{ "eventId": "...", "providerId": "YOUR_PARTNER_ID", "account": { "id": "USER_ACCOUNT_ID", "updateTime": "..." } }
USER_ACCOUNT_ID ist in diesem Fall die vom Cloud Marketplace erstellte Konto-ID. YOUR_PARTNER_ID ist eine ID, die Ihnen zugewiesen wird, wenn Ihr Partnerentwickler den Zugriff auf die Partner Procurement API ermöglicht.
Gleichzeitig wird der Nutzer zu Ihrer Anmeldeseite weitergeleitet, wo er ein Konto in Ihrem System erstellt. Wie Sie die Anmeldeseite erstellen, erfahren Sie unter Frontend Ihrer Anwendung einbinden.
Nutzerkonto genehmigen
Nach der erfolgreichen Anmeldung des Nutzers muss Ihre Anwendung die Partner-API aufrufen und angeben, dass das Konto genehmigt wurde.
Konten werden im Status ACCOUNT_ACTIVE
erstellt, haben jedoch einen PENDING
-Eintrag im Feld approvals
mit dem Namen signup
, der angibt, dass der Nutzer noch nicht angemeldet ist. Verwenden Sie zum Genehmigen des Kontos nach der Anmeldung des Nutzers die folgende HTTP POST
-Anfrage:
POST v1/providers/YOUR_PARTNER_ID/accounts/USER_ACCOUNT_ID:approve {'approvalName': 'signup'}
Status des Kontos eines Nutzers prüfen
Verwenden Sie zum Prüfen des Status eines verknüpften Kontos die folgende HTTP GET
-Anforderung:
GET v1/providers/YOUR_PARTNER_ID/accounts/USER_ACCOUNT_ID
Die Antwort hat das folgende Format:
{ "name": "providers/YOUR_PARTNER_ID/accounts/USER_ACCOUNT_ID", "provider": "acme-services", "state": "ACCOUNT_ACTIVE", "approvals": [{ "name": "signup", "state": "APPROVED", "updateTime": "...", }], "updateTime": "...", "createTime": "..." }
Eine Liste möglicher Kontostatus finden Sie in der providers.accounts
API-Referenz.