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