A livello generale, l'app deve gestire il seguente scenario:
Un utente invia una richiesta o una modifica in Cloud Marketplace, ad esempio firmando per il tuo prodotto.
Cloud Marketplace invia una notifica alla tua app tramite Pub/Sub, contenente informazioni sulla richiesta nel campo
eventType
. Ad esempio, se un utente modifica il proprio diritto,eventType
èENTITLEMENT_PLAN_CHANGED
.Consulta l'elenco completo dei possibili
eventType
.Per approvare la richiesta, l'app invia una richiesta
HTTP POST
al API Partner Procurement.
Le sezioni seguenti descrivono i tipi di richieste che gli utenti possono effettuare e cosa deve fare la tua app per gestirle.
Per le chiamate API descritte in questa sezione, utilizza questo endpoint:
https://cloudcommerceprocurement.googleapis.com/
Prima di iniziare
- Configura l'accesso all'API Cloud Commerce Partner Procurement, come descritto in Integrare l'app.
Creare un account per un nuovo utente
Quando un utente acquista per la prima volta il tuo prodotto, Cloud Marketplace crea un risorsa di account che tenga traccia della relazione dell'utente con te. Quando l'account viene creata una risorsa, riceverai una notifica tramite l'argomento Pub/Sub creato per te. Il messaggio Pub/Sub è nel seguente formato:
{ "eventId": "...", "providerId": "YOUR_PARTNER_ID", "account": { "id": "USER_ACCOUNT_ID", "updateTime": "..." } }
dove USER_ACCOUNT_ID è l'ID account creato da Cloud Marketplace e YOUR_PARTNER_ID è un ID assegnato quando il tuo Partner Engineer attiva l'accesso all'API Partner Procurement.
Contemporaneamente, l'utente viene indirizzato alla tua pagina di registrazione, dove crea un account nel tuo sistema. Per informazioni sulla creazione della pagina di registrazione, consulta Integrazione del frontend dell'app.
Approvare l'account di un utente
Dopo che l'utente ha eseguito la registrazione, l'app deve chiamare il metodo
API Partner Procurement e indica che l'account è stato approvato.
Gli account vengono creati nello stato ACCOUNT_ACTIVE
, ma hanno una voce PENDING
nel campo approvals
denominata signup
, che indica che l'utente non ha ancora eseguito la registrazione. Per approvare l'account dopo la registrazione dell'utente, utilizza
la seguente richiesta di HTTP POST
:
POST v1/providers/YOUR_PARTNER_ID/accounts/USER_ACCOUNT_ID:approve {'approvalName': 'signup'}
Controllare lo stato dell'account di un utente
Per controllare lo stato di un account collegato, utilizza la seguente richiesta HTTP GET
:
GET v1/providers/YOUR_PARTNER_ID/accounts/USER_ACCOUNT_ID
La risposta ha il seguente formato:
{ "name": "providers/YOUR_PARTNER_ID/accounts/USER_ACCOUNT_ID", "provider": "acme-services", "state": "ACCOUNT_ACTIVE", "approvals": [{ "name": "signup", "state": "APPROVED", "updateTime": "...", }], "updateTime": "...", "createTime": "..." }
Per un elenco dei possibili stati dell'account, consulta la documentazione dell'API providers.accounts
.