Freigeben über


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.