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 di Cloud Marketplace.

Questo articolo illustra come gestire i diritti per le tue offerte private utilizzando l'API Partner Procurement.

Per maggiori dettagli sull'utilizzo dell'API Partner Procurement per le offerte private, visita la documentazione di riferimento.

Approvare un diritto

Quando un cliente acquista un'offerta privata, Cloud Marketplace crea una 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 Google 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 era creata con un'ora di fine specificata, il messaggio mostra la fine dell'offerta e il campo newOfferDuration è vuoto.

Nel tuo sistema, aggiorna l'account dell'utente in modo che rifletta l'acquisto dell'offerta. Per approvare il diritto, invia una richiesta HTTP POST all'API Partner Procurement e invia il HTTP POST 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 hai configurato l'offerta privata, il tuo cliente potrebbe essere in grado di a sostituire l'offerta. 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 è 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 contenere il piano dell'offerta che deve essere approvata:

{
  "pendingPlanName": PLAN_NAME
}

Una volta approvata la modifica, ricevi un altro messaggio Pub/Sub quando la modifica diventa effettiva. Nel messaggio, il campo eventType diventa ENTITLEMENT_PLAN_CHANGED. Per controllare lo stato di un piano: 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": "",
  ...
}

Completare altre attività relative ai diritti

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

Elenco di tipi di evento per le attività dell'account di offerte private

La tabella seguente include i eventType che il tuo prodotto potrebbe ricevere in Messaggi Pub/Sub per le offerte private.

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

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

Passaggi successivi