Gérer les comptes utilisateur de votre produit SaaS

En règle générale, votre application doit gérer le scénario suivant :

  1. Un utilisateur effectue une requête ou une modification dans Cloud Marketplace, par exemple en souscrivant à votre produit.

  2. Cloud Marketplace envoie à votre application une notification via Pub/Sub contenant des informations sur la requête dans le champ eventType. Par exemple, si un utilisateur change son droit, le champ eventType est défini sur ENTITLEMENT_PLAN_CHANGED.

    Consultez la liste complète des eventTypes possibles.

  3. Pour approuver la requête, votre application envoie une requête HTTP POST à l'API Partner Procurement.

Les sections suivantes décrivent les types de requêtes que les utilisateurs peuvent effectuer et ce que votre application doit faire pour gérer ces requêtes.

Pour les appels d'API décrits dans cette section, utilisez ce point de terminaison :

https://cloudcommerceprocurement.googleapis.com/

Avant de commencer

Créer un compte pour un nouvel utilisateur

Lorsqu'un utilisateur achète votre produit pour la première fois, Cloud Marketplace crée une ressource de compte qui suit la relation de l'utilisateur avec vous. Pour les achats ultérieurs de produits dont vous êtes propriétaire, la même ressource de compte sera réutilisée. Chaque fois qu'un utilisateur achète l'un de vos produits pour la première fois, si vous avez activé les notifications de compte pour ce produit, vous recevez une notification via le sujet Pub/Sub créé pour vous. Le message Pub/Sub est au format suivant :

{
  "eventId": "...",
  "providerId": "YOUR_PARTNER_ID",
  "account": {
    "id": "USER_ACCOUNT_ID",
    "updateTime": "..."
  }
}

USER_ACCOUNT_ID est l'ID de compte créé par Cloud Marketplace et YOUR_PARTNER_ID est un ID qui vous est attribué lorsque l'ingénieur partenaire permet l'accès à l'API Partner Procurement.

Simultanément, l'utilisateur est dirigé vers votre page d'inscription, où il crée un compte dans votre système. Pour en savoir plus sur la création de la page d'inscription, consultez la page Intégrer l'interface de votre application.

Approuver le compte d'un utilisateur

Une fois l'utilisateur inscrit, votre application doit appeler l'API Partner Procurement et indiquer que le compte a été approuvé. Les comptes sont créés dans l'état ACCOUNT_ACTIVE, mais une entrée PENDING est présente dans le champ approvals nommé signup, ce qui indique que l'utilisateur ne s'est pas encore inscrit. Pour approuver le compte après l'inscription de l'utilisateur, utilisez la requête HTTP POST suivante :

POST v1/providers/YOUR_PARTNER_ID/accounts/USER_ACCOUNT_ID:approve {'approvalName': 'signup'}

Vérifier l'état du compte d'un utilisateur

Pour vérifier l'état d'un compte associé, utilisez la demande HTTP GET suivante :

GET v1/providers/YOUR_PARTNER_ID/accounts/USER_ACCOUNT_ID

La réponse est au format suivant :

{
  "name": "providers/YOUR_PARTNER_ID/accounts/USER_ACCOUNT_ID",
  "provider": "acme-services",
  "state": "ACCOUNT_ACTIVE",
  "approvals": [{
    "name": "signup",
    "state": "APPROVED",
    "updateTime": "...",
  }],
  "updateTime": "...",
  "createTime": "..."
}

Pour obtenir la liste des états de compte possibles, consultez la référence API providers.accounts.