Gestire gli account utente per il tuo prodotto SaaS

A livello generale, l'app deve gestire il seguente scenario:

  1. Un utente effettua una richiesta o una modifica in Cloud Marketplace, ad esempio si registra per il tuo prodotto.

  2. 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.

  3. Per approvare la richiesta, l'app invia una richiesta HTTP POST all'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 una risorsa account che monitora il rapporto dell'utente con te. Per gli acquisti successivi relativi a prodotti di tua proprietà, verrà riutilizzata la stessa risorsa dell'account. Ogni volta che un utente effettua il primo acquisto di uno dei tuoi prodotti, se hai attivato le notifiche dell'account per quel prodotto, 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 Integrare il frontend dell'app.

Approvare l'account di un utente

Dopo che l'utente ha completato la registrazione, la tua app deve chiamare l'API Procurement Partner e indicare 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 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 è nel 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 il riferimento all'API providers.accounts.