- Consumível gerenciado pela Store: relate uma quantidade como consumida e remova-a do saldo de quantidade atual do usuário especificado. Os usuários podem recomprar consumíveis gerenciados pela Store repetidamente sem que o seu serviço precise relatá-los como consumidos ou com fulfillment feito. Para obter mais informações, confira Solicitação de consumo gerenciado pela Store.
- Consumível gerenciado pelo desenvolvedor: relate um produto consumível como com fulfillment feito para um usuário especificado. Antes que um usuário possa recomprar um produto consumível gerenciado pelo desenvolvedor, seu aplicativo ou serviço deve relatar o produto consumível como com fulfillment feito para esse usuário. Para obter mais informações, confira Solicitação de consumo gerenciado pelo desenvolvedor.
Usar trackingId para validar a conclusão do fulfillment
trackingId fornece validação de fulfillment segura para novas tentativas.
Se o seu serviço não receber uma resposta de confirmação, reenvie o mesmo corpo de solicitação.
O serviço reconhece solicitações anteriores e trata as novas tentativas como verificações de confirmação.
Cada solicitação à API deve ter um trackingId exclusivo.
Se a solicitação original não tiver sido bem-sucedida, ou se a resposta não tiver sido recebida, o serviço concluirá a transação solicitada quando a solicitação for repetida.
Se o fulfillment tiver sido concluído em uma solicitação anterior, a API reconhecerá a solicitação e enviará uma resposta de confirmação.
Nesse caso, a API não faz o fulfillment nem deduz uma segunda vez do saldo do usuário.
Em vez disso, a API responde com êxito como se o item tivesse sido consumido, com o saldo restante do usuário.
Portanto, armazene em cache os valores e o trackingId de cada solicitação no seu servidor ou nos seus logs até receber uma resposta de confirmação de que a solicitação foi atendida.
Para obter um exemplo, confira o Game Service Sample.
Quando sua solicitação tem o parâmetro includeOrderIds, estes comportamentos são esperados com base no tipo de produto do consumível:
Se você usar consumíveis gerenciados pelo desenvolvedor, não poderá obter as IDs de pedido de uma nova tentativa de solicitação.
Pré-requisitos
Revise os Pré-requisitos para APIs de serviço a serviço. Esta API oferece suporte aos tipos de autenticação Microsoft Entra ID e X-token de autenticação delegada.Limitação de área restrita para consumíveis gerenciados pelo desenvolvedor: ao consumir produtos consumíveis gerenciados pelo desenvolvedor em uma área restrita de desenvolvimento (não RETAIL), não há suporte para autenticação usando User Store ID ou Microsoft Entra ID. Em ambientes de área restrita, você deve usar tokens XSTS de autorização delegada para consumir com êxito produtos consumíveis gerenciados pelo desenvolvedor. Essa limitação não se aplica a consumíveis gerenciados pela Store nem à área restrita RETAIL.
Códigos de erro de autenticação por User Store ID
Códigos de erro ao usar autenticação por X-token
Solicitação
Sintaxe da solicitação
Cabeçalho da solicitação
Corpo da solicitação
Exemplos de solicitação de consumo
Os exemplos a seguir usam uma User Store ID para autenticação e exigem o objeto beneficiary no corpo JSON da solicitação.Solicitação de consumo gerenciado pela Store
Solicitação de consumo gerenciado pelo desenvolvedor
O exemplo a seguir usa autenticação por User Store ID. No entanto, esse método de autenticação não funciona para consumíveis gerenciados pelo desenvolvedor em áreas restritas de desenvolvimento. Se você estiver testando em um ambiente de área restrita, use a autenticação por token XSTS. Confira Autenticar por meio de tokens XSTS de autenticação delegada para obter detalhes.
Resposta
Corpo da resposta
O objeto
ConsumeOrderTransaction contém os parâmetros a seguir.
