Administra los derechos de las ofertas privadas

Cuando un cliente compra una oferta privada, Google crea un derecho, que indica que el cliente compró la oferta en Cloud Marketplace.

En este documento, se explica cómo administrar los derechos de tus ofertas privadas con Producer Portal y la API de Partner Procurement. Puedes usar Producer Portal para aprobar los derechos de las ofertas. Para otras tareas de administración de derechos de ofertas, debes usar la API de Partner Procurement.

Cómo aprobar derechos con Producer Portal

Puedes usar Producer Portal para aprobar los derechos de las ofertas privadas. Para aprobar un derecho con el Producer Portal, completa los siguientes pasos:

  1. En Producer Portal, ve a la página Ofertas privadas.

  2. Haz clic en Administrar tus ofertas.

Administra los derechos con la API de Partner Procurement

En las siguientes secciones, se describe cómo administrar los derechos de las ofertas privadas con la API de Partner Procurement.

Para obtener detalles sobre el uso de la API de Partner Procurement para ofertas privadas, consulta la documentación de referencia.

Cómo aprobar un derecho

Cuando un cliente compra una oferta privada, Cloud Marketplace crea un derecho y envía el siguiente mensaje de Pub/Sub a tu producto:

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

En este ejemplo, ENTITLEMENT_ID es un ID creado por Cloud Marketplace.

Si la oferta se creó con una duración, el mensaje muestra la duración en años y meses, y el campo newOfferEndTime está vacío. Si la oferta se creó con una hora de finalización especificada, el mensaje muestra la hora de finalización de la oferta y el campo newOfferDuration está vacío.

En tu sistema, actualiza la cuenta del usuario para reflejar que compró la oferta. Luego, para aprobar la autorización, realiza una solicitud HTTP POST a la API de Partner Procurement y envía el ENTITLEMENT_ID que aprobaste:

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

Cómo rechazar un derecho

Para rechazar un derecho, usa el método reject en tu solicitud HTTP POST:

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

Reemplaza una oferta activa

Según cómo configures tu oferta privada, el cliente podría reemplazarla. Si un cliente selecciona una nueva oferta privada, recibirás un mensaje de Pub/Sub en el siguiente 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
  },
}

En este ejemplo, OFFER2 es la oferta de reemplazo y ENTITLEMENT_ID es un ID creado por Cloud Marketplace. La duración de la oferta se proporciona en años y meses.

Para aprobar el reemplazo de la oferta, realiza la siguiente solicitud HTTP POST a la API de Partner Procurement:

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

El cuerpo de la solicitud debe tener el plan de la oferta que se aprueba:

{
  "pendingPlanName": PLAN_NAME
}

Después de que se apruebe el cambio, recibirás otro mensaje de Cloud Pub/Sub para confirmar que el cambio ya se efectuó. En el mensaje, el campo eventType cambia a ENTITLEMENT_PLAN_CHANGED. Para verificar el estado de un plan, realiza la siguiente solicitud HTTP GET a la API de Partner Procurement:

GET v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID

La respuesta es similar a la siguiente, el campo state indica si el plan nuevo está activo o si el cambio del plan todavía está pendiente:

{
  "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 otras tareas de derechos

Para otras tareas de derechos que no son específicas de las ofertas privadas, consulta la documentación pública de Cloud Marketplace:

Lista de tipos de eventos para tareas de la cuenta de oferta privada

En la siguiente tabla, se incluyen las eventType que tu producto podría recibir en mensajes de Pub/Sub para ofertas privadas.

Para obtener la lista completa, consulta Lista de tipos de eventos para tareas de la cuenta.

eventType Descripción
ENTITLEMENT_OFFER_ENDED Indica que finalizó la oferta privada de un cliente. La oferta activa un evento ENTITLEMENT_CANCELLED o permanece activa con precios sin descuento.

¿Qué sigue?