Skip to main content
publisherQuery permet à vos propres services d’interroger les produits et les droits d’utilisation d’un utilisateur, y compris l’état de son abonnement XBOX Game Pass. Votre service ne doit pas interroger régulièrement les achats des utilisateurs, afin d’éviter les limites de fréquence d’appels basées sur une fenêtre de temps par utilisateur. Actuellement, la limite est de 100 requêtes dans une fenêtre de cinq minutes pour un même utilisateur. Le déclenchement d’une limite de fréquence entraîne une réponse HTTP 429 contenant des informations sur le moment où la prochaine requête pourra être effectuée. Les résultats incluent uniquement les produits détenus directement par le compte d’utilisateur au nom duquel votre service effectue l’appel, ou auxquels ce compte a droit. Les droits d’utilisation partagés qui peuvent apparaître sur le client ne sont pas retournés. Consultez Modèle de partage de produits pour les jeux. Pour obtenir des informations précises sur l’interrogation de l’état de l’abonnement Game Pass d’un utilisateur, consultez Détection de l’accès à l’abonnement XBOX Game Pass à partir de votre service.
publisherQuery prend uniquement en charge les appels provenant des services de partenaires.
Les applications clientes ou les jeux ne peuvent pas appeler ce service directement.

Mises à jour et améliorations de publisherQuery (Collections Query v9)

publisherQuery est la plus récente API Collections Query (v9). Si vous effectuez une migration à partir de b2bLicensePreview (v8), consultez cette section pour connaître les différences de comportement. publisherQuery présente les modifications et améliorations suivantes par rapport à b2bLicensePreview :
  • Possibilité d’interroger l’état de l’abonnement XBOX Game Pass d’un utilisateur
  • Nécessite une liste prédéfinie de produits à retourner. Il s’agit d’une pratique exemplaire, mais elle n’est pas obligatoire avec b2bLicensePreview v8. Les titres qui ne suivaient pas cette pratique exemplaire ont souvent connu des problèmes après leur lancement, la requête expirant en raison de la grande quantité de contenu visée par leurs paramètres de requête. Cela empêchait les utilisateurs d’obtenir leurs crédits en jeu jusqu’à ce que le service du jeu soit mis à jour pour spécifier les ProductIds souhaités dans la requête.
  • Champs de données de réponse simplifiés afin de supprimer les valeurs inutilisées ou superflues
  • Paramètres de requête simplifiés en fonction des commentaires des développeurs
Éléments retirés du corps de la requête :
  • Market - Toutes les requêtes ont un contexte couvrant toutes les régions dans publisherQuery
  • ExpandSatisfyingItems - Tous les résultats développent les droits d’utilisation satisfaisants dans publisherQuery
  • EntitlementsFilter - Non utilisé, car une liste prédéfinie de productIds est requise pour la requête
publisherQuery ne prend pas en charge les LegacyProductIds (ProductIds générés à partir de l’ancien XBOX Developer Portal, désormais retiré, et utilisés comme ProductId par le service XBOX Inventory).
Si vous migrez votre service à partir de XBOX Inventory, vous devez mapper en interne le StoreId (valeur ProductId de Collections) au LegacyProductId correspondant dans votre propre service. Sinon, vous pouvez envisager b2bLicensePreview v8, qui retourne à la fois le StoreId et les LegacyProductIds.
Pour plus d’informations, consultez l’article correspondant Sélection de l’API de requête Collections adaptée à vos besoins

Prérequis

Consultez Prérequis pour les API de service à service. Cette API prend en charge les types d’authentification Microsoft Entra ID et X-token avec authentification déléguée. Si la configuration du produit n’est pas publiée dans Partner Center, les appels peuvent réussir, mais ne retourner aucun résultat.

Requête

Syntaxe de la requête

En-tête de la requête

Corps de la requête

L’objet ProductSkuId contient les paramètres suivants.

Exemple de requête

L’API publisherQuery v9 prend en charge un maximum de 100 productSkuIds par requête. Si vous fournissez plus de 100 productIds dans productSkuIds, l’API retourne une erreur HTTP 400.
La valeur par défaut de maxPageSize est 100, mais elle est plus basse dans l’exemple afin de montrer comment demander les articles restants.

Réponse

Corps de la réponse

L’objet PublisherQueryItemContractV9 contient les paramètres suivants. L’objet TrialInformation contient les paramètres présentés dans le tableau suivant.

Valeurs de type de produit et leur signification

Valeurs d’état de produit et leur signification

Valeurs d’acquisitionType de produit et leur signification

Comprendre les résultats des droits d’utilisation satisfaits avec le champ satisfiedByProductIds

Si le tableau satisfiedByProductIds est vide, l’utilisateur détient un droit d’utilisation direct sur l’article à la suite d’un achat direct. Sinon, si le tableau satisfiedByProductIds contient un ou plusieurs ProductIds, l’utilisateur a droit à l’article grâce à ces produits (ensembles, abonnements, etc.). Si l’utilisateur détient à la fois un droit d’utilisation direct et un droit d’utilisation satisfaisant sur un article, et que excludeDuplicates est True dans la requête, le droit d’utilisation direct aura priorité et satisfiedByProductIds sera vide.

Exemple de réponse

Demande des résultats restants avec le jeton de continuation

Si votre requête comporte plus de résultats que ne peut en retourner une seule réponse (selon la valeur de maxPageSize), la réponse à votre requête initiale contient un continuationToken. Vous pouvez ensuite utiliser ce continuationToken dans une requête subséquente en ajoutant le jeton de continuation à une copie du corps de la requête précédente. Exemple de requête de continuation :
Même si vous spécifiez l’indicateur excludeDuplicates, lorsque vous utilisez un jeton de continuation, il est possible d’obtenir des entrées de droits d’utilisation ayant un état différent. Vérifiez donc les résultats pour repérer les entrées en double et déterminer si leur état est autre que Active.

Voir aussi

Gérer les produits à partir de vos services Authentification de votre service avec les API du Microsoft Store Gestion des produits consommables à partir de votre service
Last modified on October 6, 2026