Demander des produits
Utilisez cette méthode dans l’API de collection du Microsoft Store pour obtenir tous les produits qu’un client possède pour les applications associées à votre ID client Azure AD. Vous pouvez étendre votre requête à un produit particulier ou utiliser d’autres filtres.
Cette méthode est conçue pour être appelée par votre service en réponse à un message de votre application. Votre service ne doit pas interroger régulièrement tous les utilisateurs selon une planification.
La bibliothèque Microsoft.StoreServices fournit les fonctionnalités de cette méthode via l’API StoreServicesClient.CollectionsQueryAsync.
Prérequis
Pour utiliser cette méthode, vous aurez besoin des éléments suivants :
- Jeton d’accès Azure AD qui a la valeur
https://onestore.microsoft.com
de l’URI d’audience . - Clé d’ID du Microsoft Store qui représente l’identité de l’utilisateur dont vous souhaitez obtenir les produits.
Pour plus d’informations, consultez Gérer les droits de produit à partir d’un service.
Requête
Syntaxe de la requête
Method | URI de demande |
---|---|
POST | https://collections.mp.microsoft.com/v6.0/collections/query |
En-tête de requête
En-tête | Type | Description |
---|---|---|
Autorisation | string | Obligatoire. Jeton d’accès Azure AD au format porteur<jeton>. |
Host | string | Doit être défini sur la valeur collections.mp.microsoft.com. |
Longueur-contenu | nombre | Longueur du corps de la demande. |
Type de contenu | string | Spécifie le type de demande et de réponse. Actuellement, la seule valeur prise en charge est application/json. |
Corps de la demande
Paramètre | Type | Description | Obligatoire |
---|---|---|---|
Bénéficiaires | list<UserIdentity> | Liste des objets UserIdentity qui représentent les utilisateurs interrogés pour les produits. Pour plus d’informations, consultez le tableau ci-dessous. | Oui |
continuationToken | string | S’il existe plusieurs ensembles de produits, le corps de la réponse retourne un jeton de continuation lorsque la limite de page est atteinte. Fournissez ce jeton de continuation ici dans les appels suivants pour récupérer les produits restants. | Non |
maxPageSize | nombre | Nombre maximal de produits à retourner en une seule réponse. La valeur par défaut et maximale est 100. | Non |
modifiedAfter | DATETIME | S’il est spécifié, le service retourne uniquement les produits qui ont été modifiés après cette date. | Non |
parentProductId | string | S’il est spécifié, le service retourne uniquement des modules complémentaires qui correspondent à l’application spécifiée. | Non |
productSkuIds | list<ProductSkuId> | S’il est spécifié, le service retourne uniquement les produits applicables aux paires produit/référence SKU fournies. Pour plus d’informations, consultez le tableau ci-dessous. | Non |
productTypes | chaîne de liste<> | Spécifie les types de produits à retourner dans les résultats de la requête. Les types de produits pris en charge sont Application, Durable, Game et UnmanagedConsumable. | Oui |
validityType | string | Lorsqu’il est défini sur All, tous les produits d’un utilisateur sont retournés, y compris les éléments expirés. Lorsqu’ils sont définis sur Valide, seuls les produits valides à ce stade sont retournés (autrement dit, ils ont un état actif, une date < de début maintenant et une date de fin sont > maintenant). | Non |
L’objet UserIdentity contient les paramètres suivants.
Paramètre | Type | Description | Obligatoire |
---|---|---|---|
identityType | string | Spécifiez la valeur de chaîne b2b. | Oui |
identityValue | string | Clé d’ID du Microsoft Store qui représente l’identité de l’utilisateur pour lequel vous souhaitez interroger des produits. | Oui |
localTicketReference | string | Identificateur demandé pour les produits retournés. Les éléments retournés dans le corps de la réponse auront une localTicketReference correspondante. Nous vous recommandons d’utiliser la même valeur que la revendication userId dans la clé d’ID du Microsoft Store. | Oui |
L’objet ProductSkuId contient les paramètres suivants.
Paramètre | Type | Description | Obligatoire |
---|---|---|---|
productId | string | ID Store d’un produit dans le catalogue du Microsoft Store. Un exemple d’ID Store pour un produit est 9NBLGGH42CFD. | Oui |
skuId | string | ID store pour la référence SKU d’un produit dans le catalogue du Microsoft Store. Un exemple d’ID store pour une référence SKU est 0010. | Oui |
Exemple de requête
POST https://collections.mp.microsoft.com/v6.0/collections/query HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1Q…….
Host: collections.mp.microsoft.com
Content-Length: 2531
Content-Type: application/json
{
"maxPageSize": 100,
"beneficiaries": [
{
"localTicketReference": "1055521810674918",
"identityValue": "eyJ0eXAiOiJ……",
"identityType": "b2b"
}
],
"modifiedAfter": "\/Date(-62135568000000)\/",
"productSkuIds": [
{
"productId": "9NBLGGH5WVP6",
"skuId": "0010"
}
],
"productTypes": [
"UnmanagedConsumable"
],
"validityType": "All"
}
Response
Response body
Paramètre | Type | Description | Obligatoire |
---|---|---|---|
continuationToken | string | S’il existe plusieurs ensembles de produits, ce jeton est retourné lorsque la limite de page est atteinte. Vous pouvez spécifier ce jeton de continuation dans les appels suivants pour récupérer les produits restants. | Non |
items | CollectionItemContractV6 | Tableau de produits pour l’utilisateur spécifié. Pour plus d’informations, consultez le tableau ci-dessous. | Non |
L’objet CollectionItemContractV6 contient les paramètres suivants.
Paramètre | Type | Description | Obligatoire |
---|---|---|---|
acquireDate | DATETIME | Date à laquelle l’utilisateur a acquis l’élément. | Oui |
campaignId | string | ID de campagne fourni au moment de l’achat pour cet article. | Non |
devOfferId | string | ID de l’offre à partir d’un achat dans l’application. | Non |
endDate | DATETIME | Date de fin de l’élément. | Oui |
fulfillmentData | chaîne de liste<> | N/A | Non |
inAppOfferToken | string | Chaîne d’ID de produit spécifiée par le développeur affectée à l’élément dans l’Espace partenaires. Un exemple d’ID de produit est product123. | Non |
itemId | string | ID qui identifie cet élément de collection à partir d’autres éléments que l’utilisateur possède. Cet ID est unique par produit. | Oui |
localTicketReference | string | ID du localTicketReference précédemment fourni dans le corps de la requête. | Oui |
modifiedDate | DATETIME | Date de dernière modification de cet élément. | Oui |
orderId | string | S’il est présent, l’ID de commande dont cet élément a été obtenu. | Non |
orderLineItemId | string | S’il est présent, l’élément de ligne de l’ordre particulier pour lequel cet élément a été obtenu. | Non |
propriétéType | string | Chaîne OwnedByBeneficiary. | Oui |
productId | string | ID store du produit dans le catalogue Microsoft Store. Un exemple d’ID Store pour un produit est 9NBLGGH42CFD. | Oui |
productType | string | L’un des types de produits suivants : Application, Durable et UnmanagedConsumable. | Oui |
achetéCountry | string | N/A | Non |
acheteur | IdentityContractV6 | S’il est présent, cela représente l’identité de l’acheteur de l’article. Consultez les détails de cet objet ci-dessous. | Non |
quantité | nombre | Quantité de l’élément. Actuellement, cela sera toujours 1. | Non |
skuId | string | ID store de la référence SKU du produit dans le catalogue du Microsoft Store. Un exemple d’ID store pour une référence SKU est 0010. | Oui |
skuType | string | Type de la référence SKU. Les valeurs possibles incluent Essai, Complet et Location. | Oui |
startDate | DATETIME | Date à laquelle l’élément commence à être valide. | Oui |
statut | string | État de l’élément. Les valeurs possibles incluent Active, Expiré, Revoked et Banned. | Oui |
tags | chaîne de liste<> | N/A | Oui |
transactionId | guid | ID de transaction résultant de l’achat de cet élément. Peut être utilisé pour signaler un élément tel qu’il est rempli. | Oui |
L’objet IdentityContractV6 contient les paramètres suivants.
Paramètre | Type | Description | Obligatoire |
---|---|---|---|
identityType | string | Contient la valeur pub. | Oui |
identityValue | string | Valeur de chaîne du publisherUserId à partir de la clé d’ID du Microsoft Store spécifiée. | Oui |
Exemple de réponse
HTTP/1.1 200 OK
Content-Length: 7241
Content-Type: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: a9988cf9-652b-4791-beba-b0e732121a12
MS-CV: xu2HW6SrSkyfHyFh.0.1
MS-ServerId: 020022359
Date: Tue, 22 Sep 2015 20:28:18 GMT
{
"items" : [
{
"acquiredDate" : "2015-09-22T19:22:51.2068724+00:00",
"devOfferId" : "f9587c53-540a-498b-a281-8a349491ed47",
"endDate" : "9999-12-31T23:59:59.9999999+00:00",
"fulfillmentData" : [],
"inAppOfferToken" : "consumable2",
"itemId" : "4b8fbb13127a41f299270ea668681c1d",
"localTicketReference" : "1055521810674918",
"modifiedDate" : "2015-09-22T19:22:51.2513155+00:00",
"orderId" : "4ba5960d-4ec6-4a81-ac20-aafce02ddf31",
"ownershipType" : "OwnedByBeneficiary",
"productId" : "9NBLGGH5WVP6",
"productType" : "UnmanagedConsumable",
"purchaser" : {
"identityType" : "pub",
"identityValue" : "user123"
},
"skuId" : "0010",
"skuType" : "Full",
"startDate" : "2015-09-22T19:22:51.2068724+00:00",
"status" : "Active",
"tags" : [],
"transactionId" : "4ba5960d-4ec6-4a81-ac20-aafce02ddf31"
}
]
}