Integra el backend de tu aplicación de SaaS para ofertas privadas

En esta página, se explica cómo integrar el backend de tu producto de SaaS para ofertas privadas, versión 2, disponible en el Producer Portal.

Estos pasos no son necesarios para los productos de VM. Si deseas obtener instrucciones adicionales para usar las autorizaciones a fin de hacer un seguimiento del uso, consulta la documentación sobre la integración del backend de tu app.

Antes de comenzar

  • Tu producto debe estar integrado en Google Cloud Marketplace y enumerado. Al menos uno de tus planes de precios debe estar disponible de forma pública.

  • Debes haber integrado el producto en Producer Portal y, además, integrar el backend de tu app para el plan de precios que usas en la oferta. Si quieres conocer los pasos, consulta Integra el backend de tu app.

Administra autorizaciones

Cuando un cliente compra una oferta privada, Google crea una autorización, que indica que el cliente compró la oferta en Google Cloud Marketplace. En esta sección, se revisa cómo administrar los derechos de las ofertas privadas con la API de Partner Procurement.

Para obtener detalles sobre cómo usar la API de Partner Procurement en ofertas privadas, consulta la documentación de referencia.

Aprueba o rechaza una autorización

Cuando un cliente compra una oferta privada, Google Cloud Marketplace crea una autorización y envía el siguiente mensaje de Pub/Sub a la app:

{
  "eventId": "...",
  "eventType": "ENTITLEMENT_CREATION_REQUESTED",
  "entitlement": {
  "id": "ENTITLEMENT_ID",
  "updateTime": "...",

  },
}

En el ejemplo anterior, ENTITLEMENT_ID es un ID creado por Google Cloud Marketplace.

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 apruebas:

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

Para rechazar una autorización, 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, tu cliente puede reemplazar su oferta. 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": "...",
  },
}

En el ejemplo anterior, OFFER2 es la oferta de reemplazo y ENTITLEMENT_ID es un ID creado por Google Cloud Marketplace.

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 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/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID",
  "provider": "YOUR_PARTNER_ID",
  "account": "USER_ACCOUNT_ID",
  "product": "example-server",
  "Offer":   "OFFER1",
  "plan": "pro",
  "state": "ENTITLEMENT_PENDING_PLAN_CHANGE",
  "newPendingOffer": "OFFER2",
  "newPendingPlan": "ultimate",
  ...
}

Completa otras tareas de derechos

Para otras tareas de derechos, consulta la documentación pública de Google Cloud Marketplace:

Lista de tipos de eventos para las tareas de cuentas de ofertas privadas

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

Si quieres obtener una lista completa, consulta Lista de tipos de eventos para las tareas de la cuenta.

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