Integrazione del backend dell'app SaaS per offerte private

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

In questa pagina viene spiegato come integrare il backend del tuo prodotto SaaS per le offerte private, versione 2.

Questi passaggi non sono necessari per i prodotti VM. Per ulteriori istruzioni sull'utilizzo dei diritti per il monitoraggio dell'utilizzo, consulta Integrare il backend dell'app.

Prima di iniziare

  • Il prodotto deve essere integrato con Cloud Marketplace ed essere elencato su Cloud Marketplace. Almeno uno dei tuoi piani tariffari deve essere disponibile pubblicamente.

  • Devi avere integrato il prodotto in Producer Portal e integrato il backend dell'app per il piano tariffario che utilizzi per l'offerta. Per i passaggi, visita la pagina Integrazione del backend dell'app.

Gestione dei diritti

Quando un cliente acquista un'offerta privata, Google crea un diritto, che indica che il cliente ha acquistato l'offerta da Cloud Marketplace. Questa sezione esamina come gestire i diritti delle tue offerte private utilizzando l'API Partner Procurement.

Per informazioni dettagliate sull'utilizzo dell'API Partner Procurement per le offerte private, consulta la documentazione di riferimento.

Alcune attività di gestione, come l'approvazione dei diritti, possono essere eseguite anche in Producer Portal quando visualizzi il tuo elenco di offerte.

Approvare o rifiutare un diritto

Quando un cliente acquista un'offerta privata, Cloud Marketplace crea un diritto e invia alla tua app il seguente messaggio Pub/Sub:

{
  "eventId": "...",
  "eventType": "ENTITLEMENT_CREATION_REQUESTED",
  "entitlement": {
  "id": "ENTITLEMENT_ID",
  "updateTime": "...",
  "newOfferDuration": "P1Y6M", // Contract duration for the offer
  "newOfferEndTime": "", // Ending time for the offer
  },
}

dove ENTITLEMENT_ID è un ID creato da Cloud Marketplace.

Se l'offerta è stata creata con una durata, il messaggio visualizza la durata in anni e mesi e il campo newOfferEndTime sarà vuoto. Se l'offerta è stata creata con un'ora di fine specificata, il messaggio mostra l'ora di fine dell'offerta e il campo newOfferDuration sarà vuoto.

Nel tuo sistema, aggiorna l'account dell'utente in modo che rifletta l'acquisto effettuato. Quindi, per approvare il diritto, effettua una richiesta HTTP POST all'API Partner Procurement e invia la ENTITLEMENT_ID che stai approvando:

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

Per rifiutare un diritto, utilizza invece il metodo reject nella richiesta HTTP POST:

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

Sostituisci un'offerta attiva

A seconda di come configuri l'offerta privata, il cliente potrebbe riuscire a sostituirla. Se un cliente seleziona una nuova offerta privata, riceverai un messaggio Pub/Sub nel seguente formato:

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

dove OFFER2 è l'offerta sostitutiva e ENTITLEMENT_ID è un ID creato da Cloud Marketplace. La durata dell'offerta viene indicata in anni e mesi.

Per approvare la sostituzione dell'offerta, invia la seguente richiesta HTTP POST all'API Partner Procurement:

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

Il corpo della richiesta deve avere il piano per l'offerta che viene approvata:

{
  "pendingPlanName": PLAN_NAME
}

Dopo l'approvazione della modifica, riceverai un altro messaggio Pub/Sub quando la modifica viene applicata. Nel messaggio, il campo eventType diventa ENTITLEMENT_PLAN_CHANGED. Per controllare lo stato di un piano, effettua la seguente richiesta HTTP GET all'API Partner Procurement.

GET v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID

La risposta è simile alla seguente, con il campo dello stato che indica se la nuova offerta è attiva o se la modifica dell'offerta è ancora in attesa:

{
  "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",
  "newOfferDuration": "P2Y",
  "newOfferEndTime": "",
  ...
}

Completamento di altre attività relative ai diritti

Per altre attività relative ai diritti, consulta la documentazione pubblica di Cloud Marketplace:

Elenco di tipi di eventi per le attività degli account con offerta privata

La seguente tabella include eventType che la tua app potrebbe ricevere nei messaggi Pub/Sub per le offerte private.

Per l'elenco completo, consulta Elenco di tipi di eventi per le attività dell'account.

Tipo di evento Descrizione
OFFERTA_EN_MENT_END_END Indica che l'offerta privata di un cliente è terminata. L'offerta attiva un evento ENTITLEMENT_CANCELLED o rimane attivo con prezzi non scontati.