다음을 통해 공유


소모성 제품을 처리됨으로 보고

Microsoft 스토어 컬렉션 API에서 이 메서드를 사용하여 지정된 고객에 대해 소모성 제품을 처리됨으로 보고합니다. 사용자가 소모성 제품을 다시 구입하려면 앱 또는 서비스에서 해당 사용자에 대해 소모성 제품이 처리됨으로 보고되어야 합니다.

다음 두 가지 방법으로 소모성 제품을 처리된 것으로 보고할 수 있습니다.

  • 소모품의 항목 ID(제품에 대한 쿼리itemId 매개 변수에서 반환) 및 제공하는 고유 추적 ID를 제공합니다. 여러 시도에 동일한 추적 ID를 사용하는 경우 항목이 이미 사용된 경우에도 동일한 결과가 반환됩니다. 소비 요청이 성공했는지 확실하지 않은 경우 서비스는 동일한 추적 ID로 소비 요청을 다시 제출해야 합니다. 추적 ID는 항상 해당 사용 요청에 연결되며 무기한으로 다시 제출할 수 있습니다.
  • 제품 ID(제품에 대한 쿼리productId 매개 변수에서 반환) 및 아래 요청 본문 섹션의 transactionId 매개 변수에 대한 설명에 나열된 원본 중 하나에서 가져온 트랜잭션 ID를 제공합니다.

Microsoft.StoreServices 라이브러리는 StoreServicesClient.CollectionsConsumeAsync API를 통해 이 메서드의 기능을 제공합니다.

필수 조건

이 메서드를 사용하려면 다음이 필요합니다.

  • 대상 URI 값이 https://onestore.microsoft.com인 Azure AD 액세스 토큰입니다.
  • 소모성 제품을 처리됨으로 보고할 사용자의 ID를 나타내는 Microsoft 스토어 ID 키.

자세한 정보는 서비스에서 제품 권리 유형 관리하기를 참조하세요.

요청

요청 구문

메서드 요청 URI
게시 https://collections.mp.microsoft.com/v6.0/collections/consume

요청 헤더

헤더 형식 설명
권한 부여 string 필수. Bearer<토큰> 형식의 Azure AD 액세스 토큰.
Host string collections.mp.microsoft.com 값으로 설정해야 합니다.
Content-Length 요청 본문의 길이입니다.
Content-Type 문자열 요청 및 응답 형식을 지정합니다. 현재 유일하게 지원되는 값은 application/json입니다.

요청 본문

매개 변수 형식 설명 필수
수취인 UserIdentity 이 항목을 사용 중인 사용자입니다. 자세한 내용은 다음 표를 참조합니다.
itemId string 제품에 대한 쿼리에 의해 반환되는 itemId 값. 이 매개 변수를 trackingId에 사용하지 마세요. 아니요
trackingId guid 개발자가 제공한 고유 추적 ID입니다. 이 매개 변수를 itemId에 사용하지 마세요. 아니요
productId string 제품에 대한 쿼리에 의해 반환되는 productId 값. 이 매개 변수를 transactionId에 사용하지 마세요. 아니요
transactionId guid 다음 원본 중 하나에서 가져온 트랜잭션 ID 값입니다. 이 매개 변수를 productId에 사용하지 마세요. 아니요

UserIdentity 개체에는 다음 매개 변수가 포함됩니다.

매개 변수 형식 설명 필수
identityType string 문자열 값 b2b를 지정합니다.
identityValue string 소모성 제품을 처리됨으로 보고할 사용자의 ID를 나타내는 Microsoft 스토어 ID 키입니다.
localTicketReference string 반환된 응답에 대해 요청된 식별자입니다. Microsoft Store ID 키에서 userId클레임동일한 값을 사용하는 것이 좋습니다.

요청 예제

다음 예제에서는 itemIdtrackingId를 사용합니다.

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"
}

다음 예제에서는 productIdtransactionId를 사용합니다.

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

소비가 성공적으로 실행된 경우 콘텐츠가 반환되지 않습니다.

응답 예시

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

오류 코드

코드 오류 내부 오류 코드 설명
401 Unauthorized AuthenticationTokenInvalid Azure AD 액세스 토큰이 잘못되었습니다. ServiceError의 세부 정보에 토큰이 만료되거나 appid 클레임이 누락되는 경우와 같은 자세한 정보가 포함되는 경우도 있습니다.
401 Unauthorized PartnerAadTicketRequired Azure AD 액세스 토큰이 권한 부여 헤더의 서비스에 전달되지 않았습니다.
401 Unauthorized InconsistentClientId 요청 본문에서 Microsoft Store ID 키의 clientId 클레임과 권한 부여 헤더에서 Azure AD 액세스 토큰의 appid 클레임이 일치하지 않습니다.