Signaler le traitement de la commande d’un produit consommable
Utilisez cette méthode dans l’API de collection du Microsoft Store pour signaler qu’un produit consommable a été rempli pour un client donné. Pour qu’un utilisateur puisse racheter un produit consommable, votre application ou votre service doit indiquer que la commande de ce produit a été traitée pour cet utilisateur.
Vous pouvez utiliser cette méthode pour indiquer que la commande d’un produit consommable a été traitée de deux façons :
- Indiquez l’ID d’article du produit consommable (tel qu’il est retourné dans le paramètre itemId d’une demande de produits) et un ID de suivi unique que vous fournissez. Si le même ID de suivi est utilisé pour plusieurs tentatives, le même résultat est retourné, même si l’article est déjà consommé. Si vous ne savez pas si une demande de consommation a abouti, votre service doit de nouveau la soumettre avec le même ID de suivi. L’ID de suivi sera toujours lié à cette demande de consommation et peut être soumis indéfiniment.
- Indiquez l’ID produit (tel qu’il est retourné dans le paramètre productId d’une demande de produits) et un ID de transaction qui est obtenu à partir de l’une des sources indiquées dans la description du paramètre transactionId dans la section Corps de la requête ci-dessous.
La bibliothèque Microsoft.StoreServices fournit les fonctionnalités de cette méthode via l’API StoreServicesClient.CollectionsConsumeAsync.
Prérequis
Pour utiliser cette méthode, vous devez disposer des éléments suivants :
- Jeton d’accès Azure AD qui a la valeur
https://onestore.microsoft.com
URI d’audience . - Une clé d’ID du Microsoft Store qui représente l’identité de l’utilisateur pour lequel vous souhaitez signaler un produit consommable comme rempli.
Pour plus d’informations, consultez Gérer les droits de produit à partir d’un service.
Requête
Syntaxe de la requête
Méthode | URI de demande |
---|---|
POST | https://collections.mp.microsoft.com/v6.0/collections/consume |
En-tête de requête
En-tête | Type | Description |
---|---|---|
Autorisation | string | Obligatoire. Jeton d’accès Azure AD sous la formeJeton> du porteur<. |
Host | string | Doit être défini sur la valeur collections.mp.microsoft.com. |
Content-Length | nombre | Longueur du corps de la demande. |
Content-Type | string | Spécifie le type de requête et de réponse. Actuellement, la seule valeur prise en charge est application/json. |
Corps de la demande
Paramètre | Type | Description | Obligatoire |
---|---|---|---|
beneficiary | UserIdentity | L’utilisateur pour lequel cet élément est utilisé. Pour plus d’informations, consultez le tableau suivant. | Oui |
itemId | string | Valeur itemId retournée par une requête pour les produits. Utiliser ce paramètre avec trackingId | Non |
trackingId | guid | ID de suivi unique fourni par le développeur. Utilisez ce paramètre avec itemId. | Non |
productId | string | Valeur productId retournée par une requête pour les produits. Utiliser ce paramètre avec transactionId | Non |
transactionId | guid | Valeur d’ID de transaction qui est obtenue à partir de l’une des sources suivantes. Utilisez ce paramètre avec productId.
|
Non |
L’objet UserIdentity contient les paramètres ci-dessous.
Paramètre | Type | Description | Obligatoire |
---|---|---|---|
identityType | string | Spécifiez la valeur chaîne b2b. | Oui |
identityValue | string | Clé d’ID du Microsoft Store qui représente l’identité de l’utilisateur pour lequel vous souhaitez signaler un produit consommable comme étant rempli. | Oui |
localTicketReference | string | Identificateur demandé pour la réponse retournée. Nous vous recommandons d’utiliser la même valeur que la revendicationuserId dans la clé d’ID du Microsoft Store. | Oui |
Exemples de demande
L’exemple suivant utilise les paramètres itemId et trackingId.
POST https://collections.mp.microsoft.com/v6.0/collections/consume HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1…..
Host: collections.mp.microsoft.com
Content-Length: 2050
Content-Type: application/json
{
"beneficiary": {
"localTicketReference": "testreference",
"identityValue": "eyJ0eXAiOi…..",
"identityType": "b2b"
},
"itemId": "44c26106-4979-457b-af34-609ae97a084f",
"trackingId": "44db79ca-e31d-49e9-8896-fa5c7f892b40"
}
L’exemple suivant utilise les paramètres productId et transactionId.
POST https://collections.mp.microsoft.com/v6.0/collections/consume HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1……
Content-Length: 1880
Content-Type: application/json
Host: collections.md.mp.microsoft.com
{
"beneficiary" : {
"localTicketReference" : "testReference",
"identityValue" : "eyJ0eXAiOiJ…..",
"identitytype" : "b2b"
},
"productId" : "9NBLGGH5WVP6",
"transactionId" : "08a14c7c-1892-49fc-9135-190ca4f10490"
}
response
Aucun contenu n’est retourné si l’utilisation a été exécutée correctement.
Exemple de réponse
HTTP/1.1 204 No Content
Content-Length: 0
MS-CorrelationId: 386f733d-bc66-4bf9-9b6f-a1ad417f97f0
MS-RequestId: e488cd0a-9fb6-4c2c-bb77-e5100d3c15b1
MS-CV: 5.1
MS-ServerId: 030011326
Date: Tue, 22 Sep 2015 20:40:55 GMT
Codes d’erreur
Code | Error | Code d’erreur interne | Description |
---|---|---|---|
401 | Non autorisé | AuthenticationTokenInvalid | Le jeton d’accès Azure AD n’est pas valide. Dans certains cas, les détails de l’erreur ServiceError contiennent plus d’informations, par exemple lorsque le jeton est arrivé à expiration ou que la revendication appid est manquante. |
401 | Non autorisé | PartnerAadTicketRequired | Un jeton d’accès Azure AD n’a pas été transmis au service dans l’en-tête d’autorisation. |
401 | Non autorisé | InconsistentClientId | La revendication clientId dans la clé d’ID du Microsoft Store dans le corps de la demande et la revendication appid dans le jeton d’accès Azure AD dans l’en-tête d’autorisation ne correspondent pas. |
Rubriques connexes
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour