Skip to main content
A publisherQuery permite que seus próprios serviços consultem os produtos e direitos de um usuário, incluindo o status da assinatura do XBOX Game Pass. Seu serviço não deve sondar regularmente as compras do usuário, para evitar limites de taxa de chamadas baseados em uma janela de tempo por usuário. Atualmente, o limite é de 100 solicitações de consulta em uma janela de cinco minutos para o mesmo usuário. Acionar um limite de taxa causa uma resposta HTTP 429 com informações sobre quando a próxima solicitação poderá ser feita. Os resultados incluem apenas produtos de propriedade direta da conta de usuário em nome da qual seu serviço está chamando, ou aos quais essa conta tem direito. Direitos compartilhados que podem aparecer no cliente não são retornados. Confira Modelo de compartilhamento de produtos para jogos. Para obter informações específicas sobre como consultar o status da assinatura do Game Pass de um usuário, confira Detectar o acesso à assinatura do XBOX Game Pass a partir do seu serviço.
A publisherQuery dá suporte apenas a chamadas de serviços de parceiros.
Aplicativos cliente ou jogos não podem chamar esse serviço diretamente.

Atualizações e melhorias na publisherQuery (Collections Query v9)

A publisherQuery é a API de consulta do Collections mais recente (v9). Se estiver migrando da b2bLicensePreview (v8), revise esta seção para conhecer as diferenças de comportamento. A publisherQuery tem as seguintes alterações e melhorias em relação à b2bLicensePreview:
  • Capacidade de consultar o status da assinatura do XBOX Game Pass de um usuário
  • Exige uma lista predefinida de produtos a serem retornados. Uma prática recomendada, mas não obrigatória com a b2bLicensePreview v8. Títulos que não seguiam essa prática recomendada frequentemente tinham problemas após o lançamento, em que a solicitação atingia o tempo limite devido ao grande escopo de conteúdo com base nos parâmetros de consulta. Isso impedia que os usuários recebessem créditos no jogo até que o serviço do jogo fosse atualizado para especificar quais ProductIds desejava na solicitação de consulta.
  • Campos de dados de resposta simplificados para remover valores não usados ou desnecessários
  • Parâmetros de solicitação simplificados com base nos comentários dos desenvolvedores
Removidos do corpo da solicitação:
  • Market - Todas as solicitações têm contexto para todas as regiões na publisherQuery
  • ExpandSatisfyingItems - Todos os resultados expandem os direitos satisfeitos na publisherQuery
  • EntitlementsFilter - Não é usado, pois uma lista predefinida de productIds da consulta é obrigatória
A publisherQuery não dá suporte a LegacyProductIds (ProductIds gerados a partir do XBOX Developer Portal desativado e usados como ProductId pelo serviço XBOX Inventory).
Se estiver migrando seu serviço do XBOX Inventory, você precisará mapear internamente o StoreId (valor de ProductId do Collections) para o LegacyProductId correspondente no seu próprio serviço. Caso contrário, você pode usar a b2bLicensePreview v8, que retorna tanto o StoreId quanto os LegacyProductIds.
Para obter mais informações, confira o artigo correspondente Selecionar a API de consulta do Collections certa para suas necessidades

Pré-requisitos

Revise os Pré-requisitos para APIs de serviço a serviço. Esta API dá suporte aos tipos de autenticação Microsoft Entra ID e X-token de autenticação delegada. Se a configuração do produto não estiver publicada no Partner Center, as chamadas poderão ter êxito, mas não retornarão resultados.

Solicitação

Sintaxe da solicitação

Cabeçalho da solicitação

Corpo da solicitação

O objeto ProductSkuId contém os parâmetros a seguir.

Exemplo de solicitação

A API publisherQuery v9 dá suporte a no máximo 100 productSkuIds por solicitação. Se você fornecer mais de 100 productIds em productSkuIds, a API retornará um erro HTTP 400.
O maxPageSize padrão é 100, mas no exemplo ele é menor para demonstrar a solicitação dos itens restantes.

Resposta

Corpo da resposta

O objeto PublisherQueryItemContractV9 contém os parâmetros a seguir. O objeto TrialInformation contém os parâmetros mostrados na tabela a seguir.

Valores e significados do tipo de produto

Valores e significados do status do produto

Valores e significados de acquisitionType do produto

Noções básicas sobre os resultados de direitos satisfeitos com o campo satisfiedByProductIds

Se a matriz satisfiedByProductIds estiver vazia, o usuário tem um direito direto ao item, proveniente de uma compra direta. Caso contrário, se a matriz satisfiedByProductIds tiver um ou mais ProductIds, o usuário tem direito ao item por meio desses produtos (pacotes, assinaturas etc.). Se o usuário tiver um direito direto e um direito satisfeito a um item, e excludeDuplicates na solicitação for True, o direito direto terá prioridade e satisfiedByProductIds ficará vazio.

Exemplo de resposta

Solicitando os resultados restantes com o token de continuação

Se a consulta tiver mais resultados do que podem ser retornados em uma única resposta (controlado pelo maxPageSize), a resposta da consulta inicial terá um continuationToken. Você pode então usar esse continuationToken em uma solicitação subsequente, adicionando o token de continuação a uma cópia do corpo da solicitação anterior. Exemplo de solicitação de continuação:
Mesmo que você especifique o sinalizador excludeDuplicates, ao usar um token de continuação é possível obter entradas de direitos com status diferentes. Portanto, verifique se há entradas duplicadas nos resultados e se elas têm um status diferente de Active.

Confira também

Gerenciar produtos a partir dos seus serviços Autenticar seu serviço com as APIs da Microsoft Store Gerenciar produtos consumíveis a partir do seu serviço
Last modified on October 6, 2026