Gestire gli account utente per il tuo prodotto SaaS

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

  1. Un utente invia una richiesta o una modifica in Cloud Marketplace, ad esempio firmando 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 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.