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 opciones 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 derechos de ofertas privadas. Para aprobar un derecho con 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.

Aprueba 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 fuera creada con una hora de finalización especificada, el mensaje muestra la fecha 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 el derecho, realiza una solicitud HTTP POST al API de Partner Procurement y enviar el ENTITLEMENT_ID que estás aprobación:

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

Cómo rechazar una autorización

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

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

Cómo reemplazar una oferta activa

Según la forma en que 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 oferta y la duración se expresa en años y meses.

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

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

El cuerpo de la solicitud debe tener el plan para 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 sean específicas de las ofertas privadas, consulta el Documentación pública de Cloud Marketplace:

Lista de tipos de eventos para tareas de la cuenta de ofertas privadas

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

Para ver la lista completa, consulta Lista de tipos de eventos para las 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 sin descuento.

¿Qué sigue?