A um nível elevado, a sua app tem de processar o seguinte cenário:
Um utilizador faz um pedido ou uma alteração no Cloud Marketplace, como inscrever-se no seu produto.
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, oeventType
éENTITLEMENT_PLAN_CHANGED
.Consulte a lista completa de valores possíveis para
eventType
.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.