Gestire i diritti per le offerte private

Quando un cliente acquista un'offerta privata, Google crea un diritto, che indica che il cliente ha acquistato l'offerta da Cloud Marketplace.

Questo articolo illustra come gestire i diritti per le 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.

Approva un diritto

Quando un cliente acquista un'offerta privata, Cloud Marketplace crea un diritto e invia il seguente messaggio Pub/Sub al tuo prodotto:

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

In questo esempio, ENTITLEMENT_ID è un ID creato da Cloud Marketplace.

Se l'offerta è stata creata con una durata, il messaggio mostra la durata in anni e mesi e il campo newOfferEndTime è 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 è vuoto.

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

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

Rifiutare un diritto

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

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

Sostituire un'offerta attiva

A seconda di come imposti l'offerta privata, il cliente potrebbe essere in grado di 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
  },
}

In questo esempio, OFFER2 è l'offerta sostitutiva e ENTITLEMENT_ID è un ID creato da Cloud Marketplace. La durata dell'offerta è espressa 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 disporre del piano per l'offerta che viene approvata:

{
  "pendingPlanName": PLAN_NAME
}

Dopo l'approvazione della modifica, riceverai un altro messaggio Pub/Sub quando la modifica avrà effetto. 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/PARTNER_ID/entitlements/ENTITLEMENT_ID",
  "provider": "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": "",
  ...
}

Completa altre attività relative ai diritti

Per altre attività relative ai diritti che non sono specifiche per le offerte private, consulta la documentazione pubblica di Cloud Marketplace:

Elenco dei tipi di eventi per le attività relative agli account con offerte private

La tabella seguente include gli elementi eventType che il prodotto potrebbe ricevere nei messaggi Pub/Sub per le offerte private.

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

eventType Description
ENTITLEMENT_OFFER_ENDED Indica che l'offerta privata di un cliente è terminata. L'offerta attiva un evento ENTITLEMENT_CANCELLED o rimane attiva con prezzi non scontati.

Passaggi successivi