Faça a gestão das contas de utilizador do seu produto SaaS

A um nível elevado, a sua app tem de processar o seguinte cenário:

  1. Um utilizador faz um pedido ou uma alteração no Cloud Marketplace, como inscrever-se no seu produto.

  2. O Cloud Marketplace envia à sua app uma notificação através do Pub/Sub, que contém informações sobre o pedido no campo eventType. Por exemplo, se um utilizador alterar a respetiva autorização, o eventType é ENTITLEMENT_PLAN_CHANGED.

    Consulte a lista completa de valores possíveis para eventType.

  3. Para aprovar o pedido, a sua app envia um pedido HTTP POST para a API Partner Procurement.

As secções seguintes descrevem os tipos de pedidos que os utilizadores podem fazer e o que a sua app tem de fazer para processar os pedidos.

Para as chamadas API descritas nesta secção, use este ponto final:

https://cloudcommerceprocurement.googleapis.com/

Antes de começar

  • Configure o acesso à API Cloud Commerce Partner Procurement, conforme descrito em Integre a sua app.

Crie uma conta para um novo utilizador

Quando um utilizador compra o seu produto pela primeira vez, o Cloud Marketplace cria um recurso de conta que acompanha a relação do utilizador consigo. Para compras subsequentes de produtos que lhe pertencem, o mesmo recurso de conta é reutilizado. Sempre que um utilizador faz a primeira compra de um dos seus produtos, se tiver ativado as notificações da conta para esse produto, recebe uma notificação através do tópico do Pub/Sub criado para si. A mensagem do Pub/Sub está no seguinte formato:

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

onde USER_ACCOUNT_ID é o ID da conta criado pelo Cloud Marketplace e YOUR_PARTNER_ID é um ID atribuído quando o seu Partner Engineer ativa o acesso à Partner Procurement API.

Em simultâneo, o utilizador é direcionado para a sua página de inscrição, onde cria uma conta no seu sistema. Para ver informações sobre como criar a página de inscrição, consulte o artigo Integrar o frontend da sua app.

Aprove a conta de um utilizador

Depois de o utilizador se inscrever com êxito, a sua app tem de chamar a API Partner Procurement e indicar que a conta foi aprovada. As contas são criadas no estado ACCOUNT_ACTIVE, mas têm uma entrada PENDING no campo approvals denominada signup, que indica que o utilizador ainda não se inscreveu. Para aprovar a conta depois de o utilizador se inscrever, use o pedido HTTP POST seguinte:

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

Verifique o estado da conta de um utilizador

Para verificar o estado de uma conta associada, use o seguinte pedido HTTP GET:

GET v1/providers/YOUR_PARTNER_ID/accounts/USER_ACCOUNT_ID

A resposta está no seguinte 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 uma lista dos estados possíveis da conta, consulte a providers.accounts referência da API.