Compartir a través de


Notificar productos consumibles como completados

Usa este método en la API de recopilación de Microsoft Store para informar de un producto consumible como cumplido para un cliente determinado. Para que un usuario pueda volver a comprar un producto consumible, la aplicación o el servicio deben notificar el producto consumible como cumplido para ese usuario.

Hay dos maneras de usar este método para notificar un producto consumible como cumplido:

  • Proporcione el identificador de elemento del consumible (tal como se devuelve en el parámetro itemId de una consulta para productos) y un identificador de seguimiento único que proporcione. Si se usa el mismo identificador de seguimiento para varios intentos, se devolverá el mismo resultado incluso si el elemento ya se ha consumido. Si no está seguro de si una solicitud de consumo se realizó correctamente, el servicio debe volver a enviar las solicitudes con el mismo identificador de seguimiento. El identificador de seguimiento siempre estará vinculado a esa solicitud de consumo y se puede volver a enviar indefinidamente.
  • Proporcione el identificador de producto (tal como se devuelve en el parámetro productId de una consulta para productos) y un identificador de transacción que se obtiene de uno de los orígenes enumerados en la descripción del parámetro transactionId en la sección cuerpo de la solicitud siguiente.

La biblioteca Microsoft.StoreServices proporciona la funcionalidad de este método a través de la API StoreServicesClient.CollectionsConsumeAsync.

Requisitos previos

Para usar este método, necesitará:

  • Un token de acceso de Azure AD que tiene el valor https://onestore.microsoft.comde URI de audiencia .
  • Clave de identificador de Microsoft Store que representa la identidad del usuario para el que quiere notificar un producto consumible como cumplido.

Para obtener más información, consulte Administración de derechos de producto desde un servicio.

Solicitar

Sintaxis de la solicitud

Método URI de solicitud
PUBLICAR https://collections.mp.microsoft.com/v6.0/collections/consume

Encabezado de solicitud

Encabezado Tipo Descripción
Autorización cuerda / cadena Necesario. Token de acceso de Azure AD con el formato Token<de portador>.
Anfitrión cuerda / cadena Debe establecerse en el valor collections.mp.microsoft.com.
Longitud del contenido número Este encabezado especifica la longitud del cuerpo de la solicitud.
Tipo de contenido cuerda / cadena Especifica el tipo de solicitud y respuesta. Actualmente, el único valor admitido es application/json.

Cuerpo de la solicitud

Parámetro Tipo Descripción Obligatorio
beneficiario Identidad de Usuario Usuario para el que se consume este elemento. Para más información, vea la tabla siguiente.
idDeArtículo cuerda / cadena Valor itemId devuelto por una consulta para productos. Uso de este parámetro con trackingId No
ID de seguimiento Identificador Único Global (GUID) Identificador de seguimiento único proporcionado por el desarrollador. Use este parámetro con itemId. No
ID de producto cuerda / cadena Valor productId devuelto por una consulta para productos. Uso de este parámetro con transactionId No
transactionId Identificador Único Global (GUID) Valor de identificador de transacción que se obtiene de uno de los siguientes orígenes. Use este parámetro con productId. No

El objeto UserIdentity contiene los parámetros siguientes.

Parámetro Tipo Descripción Obligatorio
tipo de identidad cuerda / cadena Especifique el valor de cadena b2b.
identityValue cuerda / cadena Clave de identificador de Microsoft Store que representa la identidad del usuario para el que quiere notificar un producto consumible como cumplido.
localTicketReference cuerda / cadena Identificador solicitado para la respuesta devuelta. Se recomienda usar el mismo valor que la notificación userIden la clave de identificador de Microsoft Store.

Ejemplos de solicitud

En el ejemplo siguiente se usa itemId y 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"
}

En el ejemplo siguiente se usa productId y 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"
}

Respuesta

No se devolverá ningún contenido si el consumo se ejecutó correctamente.

Ejemplo de respuesta

HTTP/1.1 204 No Content
Content-Length: 0
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: e488cd0a-9fb6-4c2c-bb77-e5100d3c15b1
MS-CV: 5.1
MS-ServerId: 030011326
Date: Tue, 22 Sep 2015 20:40:55 GMT

Códigos de error

Código Error Código de error interno Descripción
401 No autorizado TokenDeAutenticaciónInválido El token de acceso de Azure AD no es válido. En algunos casos, los detalles del ServiceError contendrán más información, como cuando el token ha expirado o falta la notificación appid .
401 No autorizado TicketDeSocioAadRequerido No se pasó un token de acceso de Azure AD al servicio en el encabezado de autorización.
401 No autorizado InconsistentClientId La notificación clientId de la clave de identificador de Microsoft Store en el cuerpo de la solicitud y la notificación appid del token de acceso de Azure AD en el encabezado de autorización no coinciden.