publisherQuery prend uniquement en charge les appels provenant des services partenaires.
Mises à jour et améliorations de publisherQuery (Collections Query v9)
publisherQuery est la dernière API Collections Query (v9). Si vous effectuez une migration depuis 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
- Exige une liste prédéfinie de produits à renvoyer. Il s’agissait d’une bonne pratique, mais non obligatoire, avec b2bLicensePreview v8. Les titres qui ne suivaient pas cette bonne pratique rencontraient souvent des problèmes après leur sortie, la requête expirant en raison de l’étendue importante du contenu déterminé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 pour supprimer les valeurs inutilisées ou superflues
- Paramètres de requête simplifiés en fonction des commentaires des développeurs
- Market : toutes les requêtes disposent du contexte de toutes les régions dans publisherQuery
- ExpandSatisfyingItems : tous les résultats développent les droits satisfaisants dans publisherQuery
- EntitlementsFilter : non utilisé, car une liste prédéfinie de productIds est obligatoire 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).
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 d’autorisation déléguée. Si la configuration du produit n’est pas publiée dans Partner Center, les appels peuvent réussir mais ne renvoyer 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 renvoie une erreur HTTP 400.
La valeur par défaut de
maxPageSize est 100, mais elle est plus faible dans cet exemple afin d’illustrer la demande des éléments 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 et signification des types de produits
Valeurs et signification des états de produit
Valeurs et signification de acquisitionType
Comprendre les résultats des droits satisfaits avec le champ satisfiedByProductIds
Si le tableau satisfiedByProductIds est vide, l’utilisateur dispose d’un droit direct sur l’élément, issu d’un achat direct.
Sinon, si le tableau satisfiedByProductIds contient un ou plusieurs ProductIds, l’utilisateur a droit à l’élément par le biais de ces produits (packs, abonnements, etc.).
Si l’utilisateur dispose à la fois d’un droit direct et d’un droit satisfaisant sur un élément, et que excludeDuplicates a la valeur True dans la requête, le droit direct est prioritaire et satisfiedByProductIds est 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 ce qui peut être renvoyé dans une seule réponse (contrôlé par maxPageSize), la réponse à votre requête initiale contient un continuationToken. Vous pouvez ensuite utiliser ce continuationToken dans une requête de suivi 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, lors de l’utilisation d’un jeton de continuation, il est possible d’obtenir des entrées de droits ayant des états différents. Vérifiez donc les résultats pour détecter les entrées en double et celles dont l’état n’est pas Active.
