Intégrer le backend de votre application SaaS pour des offres privées

Cette page explique comment intégrer le backend de votre produit SaaS pour les Offres privées, version 2, disponible sur Producer Portal.

Ces étapes ne sont pas nécessaires pour les produits de VM. Pour obtenir des instructions supplémentaires sur l'utilisation des droits pour suivre l'utilisation, consultez la section Intégrer le backend de votre application.

Avant de commencer

  • Votre produit doit être intégré à Google Cloud Marketplace et répertorié. Au moins un de vos forfaits doit être accessible au public.

  • Vous devez avoir intégré le produit à Producer Portal et intégré le backend de votre application pour le forfait que vous utilisez pour l'offre. Pour connaître la procédure à suivre, consultez la page Intégrer le backend de votre application.

Gérer les droits

Lorsqu'un client achète une offre privée, Google crée un droit d'accès, qui indique que le client a acheté l'offre sur Google Cloud Marketplace. Cette section explique comment gérer les droits d'accès de vos offres privées à l'aide de l'API Partner Procurement.

Pour en savoir plus sur l'utilisation de l'API Partner Procurement pour les offres privées, consultez la documentation de référence.

Approuver ou refuser un droit

Lorsqu'un client achète une offre privée, Google Cloud Marketplace crée un droit d'accès et envoie le message Pub/Sub suivant à votre application :

{
  "eventId": "...",
  "eventType": "ENTITLEMENT_CREATION_REQUESTED",
  "entitlement": {
  "id": "ENTITLEMENT_ID",
  "updateTime": "...",

  },
}

ENTITLEMENT_ID est un ID créé par Google Cloud Marketplace.

Dans votre système, mettez à jour le compte de l'utilisateur pour indiquer qu'il a acheté l'offre. Ensuite, pour approuver le droit, envoyez une requête HTTP POST à l'API Partner Procurement et envoyez le ENTITLEMENT_ID que vous approuvez:

POST v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID:approve

Pour refuser un droit, utilisez plutôt la méthode reject dans votre requête HTTP POST :

POST v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID:reject

Remplacer une offre active

Selon la configuration de votre offre privée, votre client peut la remplacer. Si un client sélectionne une nouvelle offre privée, vous recevez un message Pub/Sub, au format suivant:

{
  "eventId": "...",
  "eventType": "ENTITLEMENT_PLAN_CHANGE_REQUESTED",
  "entitlement": {
  "id": "ENTITLEMENT_ID",
  "newPlan": "ultimate",   // New plan for the offer,
  "newOffer": "OFFER2",    // New offer,
  "updateTime": "...",
  },
}

OFFER2 est l'offre de remplacement et ENTITLEMENT_ID est un ID créé par Google Cloud Marketplace.

Pour approuver le remplacement de l'offre, envoyez la requête HTTP POST suivante à l'API Partner Procurement :

POST v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID:approvePlanChange

L'organisme demandeur doit avoir le plan de l'offre en cours d'approbation :

{
  "pendingPlanName": PLAN_NAME
}

Une fois la modification approuvée, vous recevez un autre message Pub/Sub lorsque la modification prend effet. Dans le message, le champ eventType devient ENTITLEMENT_PLAN_CHANGED. Pour vérifier l'état d'un plan, envoyez la requête HTTP GET suivante à l'API Partner Procurement.

GET v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID

La réponse est semblable à la suivante, avec le champ d'état indiquant si la nouvelle offre est active ou si le changement d'offre est toujours en attente.

{
  "name": "providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID",
  "provider": "YOUR_PARTNER_ID",
  "account": "USER_ACCOUNT_ID",
  "product": "example-server",
  "Offer":   "OFFER1",
  "plan": "pro",
  "state": "ENTITLEMENT_PENDING_PLAN_CHANGE",
  "newPendingOffer": "OFFER2",
  "newPendingPlan": "ultimate",
  ...
}

Effectuer d'autres tâches de droit d'accès

Pour les autres tâches de droit, consultez la documentation publique de Google Cloud Marketplace :

Liste des types d'événements pour les tâches de compte avec offre privée

Le tableau suivant inclut les objets eventType que votre application peut recevoir dans les messages Pub/Sub pour les offres privées.

Pour obtenir la liste complète, consultez la liste des types d'événements pour les tâches du compte.

eventType Description
ENTITLEMENT_OFFER_ENDED Indique que l'offre privée d'un client est terminée. L'offre déclenche un événement ENTITLEMENT_CANCELLED ou reste active avec des tarifs non réduits.