Faça a gestão das concessões para ofertas privadas

Quando um cliente compra uma oferta privada, a Google cria uma concessão, que indica que o cliente comprou a oferta no Cloud Marketplace.

Este documento revê como gerir os direitos das suas ofertas privadas através do Producer Portal e da API Partner Procurement. Pode usar o Producer Portal para aprovar autorizações de ofertas. Para outras tarefas de gestão de autorizações de ofertas, tem de usar a API Partner Procurement.

Aprove direitos através do Producer Portal

Pode usar o Producer Portal para aprovar autorizações para ofertas privadas. Para aprovar uma concessão através do Producer Portal, conclua os seguintes passos:

  1. No Producer Portal, aceda à página Ofertas privadas.

  2. Clique em Gerir as suas ofertas.

Faça a gestão de autorizações através da API Partner Procurement

As secções seguintes descrevem como gerir autorizações para ofertas privadas através da API Partner Procurement.

Para ver detalhes sobre a utilização da API Partner Procurement para ofertas privadas, visite a documentação de referência.

Aprove um direito de utilização

Quando um cliente compra uma oferta privada, o Cloud Marketplace cria uma autorização e envia a seguinte mensagem do Pub/Sub para o seu produto:

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

Neste exemplo, ENTITLEMENT_ID é um ID criado pelo Cloud Marketplace.

Se a oferta tiver sido criada com uma duração, a mensagem apresenta a duração em anos e meses, e o campo newOfferEndTime está vazio. Se a oferta foi criada com uma hora de fim especificada, a mensagem apresenta a hora de fim da oferta e o campo newOfferDuration está vazio.

No seu sistema, atualize a conta do utilizador para refletir que este comprou a oferta. Em seguida, para aprovar a concessão, faça um pedido HTTP POST à API Partner Procurement e envie o ENTITLEMENT_ID que está a aprovar:

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

Rejeite um direito de utilização

Para rejeitar uma concessão, use o método reject no seu pedido HTTP POST:

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

Substitua uma oferta ativa

Consoante a forma como configurou a sua oferta privada, o cliente pode substituir a oferta. Se um cliente selecionar uma nova oferta privada, recebe uma mensagem do Pub/Sub no seguinte 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
  },
}

Neste exemplo, OFFER2 é a oferta de substituição e ENTITLEMENT_ID é um ID criado pelo Cloud Marketplace. A duração da oferta é indicada em anos e meses.

Para aprovar a substituição da oferta, faça o seguinte pedido à API Partner Procurement:HTTP POST

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

O corpo do pedido tem de ter o plano da oferta que está a ser aprovada:

{
  "pendingPlanName": PLAN_NAME
}

Após a aprovação da alteração, recebe outra mensagem do Pub/Sub quando a alteração entrar em vigor. Na mensagem, o campo eventType é alterado para ENTITLEMENT_PLAN_CHANGED. Para verificar o estado de um plano, faça o seguinte pedido HTTP GET à API Partner Procurement:

GET v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID

A resposta é semelhante à seguinte, com o campo de estado a indicar se a nova oferta está ativa ou se a alteração da oferta ainda está pendente:

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

Conclua outras tarefas de concessão

Para outras tarefas de concessão de direitos que não sejam específicas de ofertas privadas, consulte a documentação pública do Cloud Marketplace:

Lista de tipos de eventos para tarefas de contas de ofertas privadas

A tabela seguinte inclui eventTypes que o seu produto pode receber em mensagens do Pub/Sub para ofertas privadas.

Para ver a lista completa, consulte o artigo Lista de tipos de eventos para tarefas da conta.

eventType Descrição
ENTITLEMENT_OFFER_ENDED Indica que a oferta privada de um cliente terminou. A oferta aciona um evento ENTITLEMENT_CANCELLED ou permanece ativa com preços sem desconto.

O que se segue?