Gerenciar direitos de ofertas privadas

Quando um cliente compra uma oferta particular, o Google cria uma titularidade, que indica que ele comprou a oferta do Cloud Marketplace.

Neste documento, mostramos como gerenciar direitos para suas ofertas privadas usando o Portal do Produtor e a API Partner Procurement. Use o Portal do Produtor para aprovar os direitos de acesso à oferta. Para outras tarefas de gerenciamento de direitos de oferta, use a API Partner Procurement.

Aprovar direitos usando o Portal do Produtor

Use o Portal do Produtor para aprovar os direitos de acesso a ofertas privadas. Para aprovar um direito usando o Portal do Produtor, siga estas etapas:

  1. No Portal do Produtor, acesse a página Ofertas privadas.

  2. Clique em Gerenciar suas ofertas.

Gerenciar direitos usando a API Partner Procurement

As seções a seguir descrevem como gerenciar direitos para ofertas privadas usando a API Partner Procurement.

Para detalhes sobre como usar a API Partner Procurement para ofertas privadas, acesse a documentação de referência.

Aprovar um direito de acesso

Quando um cliente compra uma oferta particular, o Cloud Marketplace cria um direito e envia a seguinte mensagem do Pub/Sub para 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 foi criada com uma duração, a mensagem mostra a duração em anos e meses, e o campo newOfferEndTime está vazio. Se a oferta foi criada com um horário de término especificado, a mensagem mostra o horário de término da oferta e o campo newOfferDuration está vazio.

No seu sistema, atualize a conta do usuário para refletir que ele comprou a oferta. Em seguida, para aprovar o direito, faça uma solicitação HTTP POST à API Partner Procurement e envie o ENTITLEMENT_ID que você está aprovando:

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

Recusar um direito

Para rejeitar um direito, use o método reject na sua solicitação HTTP POST:

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

Substituir uma oferta ativa

Dependendo de como você configura a oferta privada, o cliente pode substituir a oferta. Se um cliente selecionar uma nova oferta privada, você receberá 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 é informada em anos e meses.

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

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

O corpo da solicitação precisa ter o plano da oferta que está sendo aprovada:

{
  "pendingPlanName": PLAN_NAME
}

Depois que a alteração for aprovada, você receberá outra mensagem do Pub/Sub quando a alteração entrar em vigor. Na mensagem, o campo eventType muda para ENTITLEMENT_PLAN_CHANGED. Para verificar o status de um plano, faça a seguinte solicitação HTTP GET à API Partner Procurement:

GET v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID

A resposta é semelhante à seguinte, com o campo state indicando 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": "",
  ...
}

Concluir outras tarefas de direitos

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

Lista de tipos de evento para tarefas da conta de oferta particular

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

Para ver a lista completa, consulte 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.

A seguir