Gestionar cuentas de usuario de tu producto SaaS

A grandes rasgos, tu aplicación debe gestionar la siguiente situación:

  1. Un usuario hace una solicitud o un cambio en Cloud Marketplace, como registrarse en tu producto.

  2. Cloud Marketplace envía una notificación a tu aplicación a través de Pub/Sub, que contiene información sobre la solicitud en el campo eventType. Por ejemplo, si un usuario cambia su derecho, el eventType es ENTITLEMENT_PLAN_CHANGED.

    Consulta la lista completa de valores posibles de eventType.

  3. Para aprobar la solicitud, tu aplicación envía una solicitud HTTP POST a la API Partner Procurement.

En las siguientes secciones se describen los tipos de solicitudes que pueden hacer los usuarios y lo que debe hacer tu aplicación para gestionarlas.

Para las llamadas a la API que se describen en esta sección, usa este endpoint:

https://cloudcommerceprocurement.googleapis.com/

Antes de empezar

  • Configura el acceso a la API Cloud Commerce Partner Procurement, tal como se describe en la sección sobre cómo integrar tu aplicación.

Crear una cuenta para un usuario nuevo

Cuando un usuario compra tu producto por primera vez, Cloud Marketplace crea un recurso de cuenta que registra la relación del usuario contigo. En las compras posteriores de productos que sean de tu propiedad, se reutilizará el mismo recurso de cuenta. Cada vez que un usuario haga su primera compra de cualquiera de tus productos, si has activado las notificaciones de cuenta para ese producto, recibirás una notificación a través del tema Pub/Sub que se haya creado para ti. El mensaje de Pub/Sub tiene el siguiente formato:

{
  "eventId": "...",
  "providerId": "YOUR_PARTNER_ID",
  "account": {
    "id": "USER_ACCOUNT_ID",
    "updateTime": "..."
  }
}

donde USER_ACCOUNT_ID es el ID de cuenta creado por Cloud Marketplace y YOUR_PARTNER_ID es un ID que se te asigna cuando tu ingeniero de partners habilita el acceso a la API Partner Procurement.

Al mismo tiempo, se dirige al usuario a tu página de registro, donde crea una cuenta en tu sistema. Para obtener información sobre cómo crear la página de registro, consulta Integrar el frontend de tu aplicación.

Aprobar la cuenta de un usuario

Una vez que el usuario se haya registrado correctamente, tu aplicación debe llamar a la API Partner Procurement e indicar que la cuenta se ha aprobado. Las cuentas se crean en el estado ACCOUNT_ACTIVE, pero tienen una entrada PENDING en el campo approvals llamada signup, que indica que el usuario aún no se ha registrado. Para aprobar la cuenta después de que el usuario se haya registrado, utiliza la siguiente solicitud HTTP POST:

POST v1/providers/YOUR_PARTNER_ID/accounts/USER_ACCOUNT_ID:approve {'approvalName': 'signup'}

Consultar el estado de la cuenta de un usuario

Para comprobar el estado de una cuenta vinculada, utilice la siguiente solicitud HTTP GET:

GET v1/providers/YOUR_PARTNER_ID/accounts/USER_ACCOUNT_ID

La respuesta tiene el siguiente formato:

{
  "name": "providers/YOUR_PARTNER_ID/accounts/USER_ACCOUNT_ID",
  "provider": "acme-services",
  "state": "ACCOUNT_ACTIVE",
  "approvals": [{
    "name": "signup",
    "state": "APPROVED",
    "updateTime": "...",
  }],
  "updateTime": "...",
  "createTime": "..."
}

Para ver una lista de los posibles estados de la cuenta, consulta la referencia de la API providers.accounts.