En un nivel alto, la aplicación debe controlar la siguiente situación:
Un usuario realiza una solicitud o un cambio en Cloud Marketplace, como registrarse para obtener tu producto.
Cloud Marketplace envía una notificación a tu app a través de Pub/Sub, que contiene información sobre la solicitud en el campo
eventType
. Por ejemplo, si un usuario cambia su autorización, laeventType
esENTITLEMENT_PLAN_CHANGED
.Consulta la lista completa de
eventType
posibles.Para aprobar la solicitud, tu aplicación envía una solicitud
HTTP POST
a la API de Partner Procurement.
En las secciones siguientes, se describen los tipos de solicitudes que pueden realizar los usuarios y que debe hacer la aplicación para controlar las solicitudes.
Para las llamadas a la API que se describen en esta sección, usa el siguiente extremo:
https://cloudcommerceprocurement.googleapis.com/
Antes de comenzar
- Configura el acceso a la API de Cloud Commerce Partner Procurement, como se describe en Integra tu app.
Crea una cuenta para un usuario nuevo
Cuando un usuario compra por primera vez tu producto, Cloud Marketplace crea un recurso de cuenta que realiza un seguimiento de la relación del usuario contigo. En las compras posteriores de productos que te pertenezcan, se volverá a usar el mismo recurso de la cuenta. Cada vez que un usuario realiza la primera compra de alguno de tus productos, si activaste las notificaciones de la cuenta para ese producto, recibirás una notificación a través del tema de Pub/Sub que se creó para ti. El mensaje de Pub/Sub tiene el siguiente formato:
{ "eventId": "...", "providerId": "YOUR_PARTNER_ID", "account": { "id": "USER_ACCOUNT_ID", "updateTime": "..." } }
En la que USER_ACCOUNT_ID es el ID de cuenta creado por Cloud Marketplace y YOUR_PARTNER_ID es un ID que se te asigna cuando el Ingeniero socio habilita el acceso a la API de Partner Procurement.
Al mismo tiempo, se dirige al usuario a la página de registro, en la que crea una cuenta en tu sistema. Para obtener información sobre la creación de la página de registro, consulta Integra el frontend de la aplicación.
Cómo aprobar la cuenta de un usuario
Después de que el usuario se registró con éxito, la aplicación debe llamar a la API de Partner para indicar que la cuenta se aprobó.
Las cuentas se crean con el estado ACCOUNT_ACTIVE
, pero tienen una entrada PENDING
en el campo approvals
llamada signup
, lo que indica que el usuario aún no se registró. Para aprobar la cuenta después de que el usuario se registró, usa la siguiente solicitud HTTP POST
:
POST v1/providers/YOUR_PARTNER_ID/accounts/USER_ACCOUNT_ID:approve {'approvalName': 'signup'}
Cómo verificar el estado de la cuenta de un usuario
Para verificar el estado de una cuenta vinculada, usa la siguiente solicitud HTTP GET
:
GET v1/providers/YOUR_PARTNER_ID/accounts/USER_ACCOUNT_ID
La respuesta está en 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 obtener una lista de posibles estados de cuenta, consulta la referencia de la API de providers.accounts
.