Melden von konsumierbaren Produkten als erfüllt
Verwenden Sie diese Methode in der Microsoft Store-Sammlungs-API, um ein Verbrauchsprodukt als erfüllt für einen bestimmten Kunden zu melden. Bevor ein Benutzer ein Verbrauchsprodukt erneut erwerben kann, muss Ihre App oder Ihr Dienst das Verbrauchsprodukt für diesen Benutzer als erfüllt melden.
Es gibt zwei Möglichkeiten, wie Sie diese Methode verwenden können, um ein Verbrauchsprodukt als erfüllt zu melden:
- Geben Sie die Element-ID des Verbrauchsartikels (wie im ItemId-Parameter einer Abfrage für Produkte zurückgegeben) und eine eindeutige Nachverfolgungs-ID an, die Sie angeben. Wenn dieselbe Nachverfolgungs-ID für mehrere Versuche verwendet wird, wird dasselbe Ergebnis zurückgegeben, auch wenn das Element bereits verbraucht wird. Wenn Sie nicht sicher sind, ob eine Nutzungsanforderung erfolgreich war, sollte Ihr Dienst Nutzungsanforderungen mit derselben Tracking-ID erneut übermitteln. Die Tracking-ID ist immer an diese Verbrauchanforderung gebunden und kann unbegrenzt erneut übermittelt werden.
- Geben Sie die Produkt-ID (wie im Parameter "productId " einer Abfrage für Produkte zurückgegeben) und eine Transaktions-ID an, die aus einer der Quellen abgerufen wird, die in der Beschreibung für den Parameter "transactionId " im Abschnitt "Anforderungstext" unten aufgeführt sind.
Die Microsoft.StoreServices-Bibliothek stellt die Funktionalität dieser Methode über die StoreServicesClient.CollectionsConsumeAsync-API bereit.
Voraussetzungen
Um diese Methode zu verwenden, benötigen Sie Folgendes:
- Ein Azure AD-Zugriffstoken mit dem Zielgruppen-URI-Wert
https://onestore.microsoft.com
. - Ein Microsoft Store-ID-Schlüssel, der die Identität des Benutzers darstellt, für den Sie ein Verbrauchsprodukt als erfüllt melden möchten.
Weitere Informationen finden Sie unter Verwalten von Produktberechtigungen aus einem Dienst.
Anfordern
Anforderungssyntax
Methode | Anforderungs-URI |
---|---|
POST | https://collections.mp.microsoft.com/v6.0/collections/consume |
Anforderungsheader
Header | Typ | Beschreibung |
---|---|---|
Autorisierung | Zeichenfolge | Erforderlich. Das Azure AD-Zugriffstoken im Formular Bearer<-Token>. |
Host | Zeichenfolge | Muss auf den Wert collections.mp.microsoft.com festgelegt werden. |
Inhaltslänge | Zahl | Die Länge des Anforderungstexts. |
Inhaltsart | Zeichenfolge | Gibt den Anforderungs- und Antworttyp an. Derzeit ist der einzige unterstützte Wert "application/json". |
Anforderungstext
Parameter | Typ | Beschreibung | Erforderlich |
---|---|---|---|
Begünstigter | UserIdentity | Der Benutzer, für den dieses Element verbraucht wird. Ausführlichere Informationen finden Sie in der unten stehenden Tabelle. | Ja |
itemId | Zeichenfolge | Der itemId-Wert, der von einer Abfrage für Produkte zurückgegeben wird. Verwenden Sie diesen Parameter mit trackingId. | No |
trackingId | guid | Eine eindeutige Tracking-ID, die vom Entwickler bereitgestellt wird. Verwenden Sie diesen Parameter mit itemId. | No |
productId | Zeichenfolge | Der von einer Abfrage für Produkte zurückgegebene ProductId-Wert. Verwenden Sie diesen Parameter mit transactionId. | No |
transactionId | guid | Ein Transaktions-ID-Wert, der aus einer der folgenden Quellen abgerufen wird. Verwenden Sie diesen Parameter mit productId.
|
No |
Das UserIdentity-Objekt enthält die folgenden Parameter.
Parameter | Typ | Beschreibung | Erforderlich |
---|---|---|---|
identityType | Zeichenfolge | Geben Sie den Zeichenfolgenwert b2b an. | Ja |
identityValue | Zeichenfolge | Der Microsoft Store-ID-Schlüssel , der die Identität des Benutzers darstellt, für den Sie ein Verbrauchsprodukt als erfüllt melden möchten. | Ja |
localTicketReference | Zeichenfolge | Der angeforderte Bezeichner für die zurückgegebene Antwort. Es wird empfohlen, denselben Wert wie der UserId-Anspruch im Microsoft Store-ID-Schlüssel zu verwenden. | Ja |
Beispiele für Anforderungen
Im folgenden Beispiel werden itemId und trackingId verwendet.
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"
}
Im folgenden Beispiel werden "productId" und "transactionId" verwendet.
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"
}
Antwort
Wenn der Verbrauch erfolgreich ausgeführt wurde, wird kein Inhalt zurückgegeben.
Beispielantwort
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
Fehlercodes
Code | Fehler | Interner Fehlercode | Beschreibung |
---|---|---|---|
401 | Nicht autorisiert | AuthenticationTokenInvalid | Das Azure AD-Zugriffstoken ist ungültig. In einigen Fällen enthalten die Details des ServiceError weitere Informationen, z. B. wenn das Token abgelaufen ist oder der Appid-Anspruch fehlt. |
401 | Nicht autorisiert | PartnerAadTicketRequired | Ein Azure AD-Zugriffstoken wurde im Autorisierungsheader nicht an den Dienst übergeben. |
401 | Nicht autorisiert | InkonsistenteClientId | Der ClientId-Anspruch im Microsoft Store-ID-Schlüssel im Anforderungstext und der Appid-Anspruch im Azure AD-Zugriffstoken im Autorisierungsheader stimmen nicht überein. |