카트 업데이트

카트에서 고객의 주문을 업데이트하는 방법입니다.

카트는 초기 생성부터 7일 후에 만료됩니다.

필수 구성 요소

  • 파트너 센터 인증에 설명된 대로 자격 증명. 이 시나리오는 독립 실행형 앱 및 App+사용자 자격 증명을 모두 사용하여 인증을 지원합니다.

  • 고객 ID(customer-tenant-id)입니다. 고객의 ID를 모르는 경우 파트너 센터에서 고객 작업 영역을 선택하고, 고객 목록에서 고객을 선택한 다음, 계정를 조회할 수 있습니다. 고객의 계정 페이지에서 고객 계정 정보 섹션에 있는 Microsoft ID을 찾으세요. Microsoft ID는 고객 ID(customer-tenant-id)와 동일합니다.

  • 기존 카트의 카트 ID입니다.

C#

고객의 주문을 업데이트하려면 ById() 함수를 사용하여 고객 및 카트 ID를 전달하여 Get() 메서드를 사용하여 카트를 가져옵니다. 카트에 필요한 변경 내용을 적용합니다. 이제 ById() 메서드를 사용하여 고객 및 카트 ID를 사용하여 Put 메서드를 호출합니다.

마지막으로 Put() 또는 PutAsync() 메서드를 호출하여 주문을 만듭니다.

IAggregatePartner partnerOperations;
string customerId;
string cartId;

var cart = partnerOperations.Customers.ById(customerId).Cart.ById(cartId).Get();

cart.LineItems.ToArray()[0].Quantity++;

var updatedCart = partnerOperations.Customers.ById(customerId).Cart.ById(cartId).Put(cart);

증명을 완료하고 다른 재판매인을 포함하려면 다음 샘플을 참조하세요.

API 예제 - 장바구니 확인

{
    "orders": [
        {
            "id": "f76c6b7f449d",
            "alternateId": "f76c6b7f449d",
            "referenceCustomerId": "f81d98dd-c2f4-499e-a194-5619e260344e",
            "billingCycle": "monthly",
            "currencyCode": "USD",
            "currencySymbol": "$",
            "lineItems": [
                {
                    "lineItemNumber": 0,
                    "offerId": "CFQ7TTC0LH0Z:0001:CFQ7TTC0K18P",
                    "subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
                    "termDuration": "P1M",
                    "transactionType": "New",
                    "friendlyName": "AI Builder Capacity add-on",
                    "quantity": 1,
                    "links": {
                        "product": {
                            "uri": "/products/CFQ7TTC0LH0Z?country=US",
                            "method": "GET",
                            "headers": []
                        },
                        "sku": {
                            "uri": "/products/CFQ7TTC0LH0Z/skus/0001?country=US",
                            "method": "GET",
                            "headers": []
                        },
                        "availability": {
                            "uri": "/products/CFQ7TTC0LH0Z/skus/0001/availabilities/CFQ7TTC0K18P?country=US",
                            "method": "GET",
                            "headers": []
                        }
                    }
                },
                {
                    "lineItemNumber": 1,
                    "offerId": "CFQ7TTC0LFLS:0002:CFQ7TTC0KDLJ",
                    "subscriptionId": "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
                    "termDuration": "P1Y",
                    "transactionType": "New",
                    "friendlyName": "Azure Active Directory Premium P1",
                    "quantity": 2,
                    "partnerIdOnRecord": "517285",
                    "additionalPartnerIdsOnRecord": 
                        "5357564",
                        "5357563"
                    ],
                 
   "links": {
                        "product": {
                            "uri": "/products/CFQ7TTC0LFLS?country=US",
                            "method": "GET",
                            "headers": []
                        },
                        "sku": {
                            "uri": "/products/CFQ7TTC0LFLS/skus/0002?country=US",
                            "method": "GET",
                            "headers": []
                        },
                        "availability": {
                            "uri": "/products/CFQ7TTC0LFLS/skus/0002/availabilities/CFQ7TTC0KDLJ?country=US",
                            "method": "GET",
                            "headers": []
                        }
                    }
                }
            ],
            "creationDate": "2021-08-18T07:52:23.1921872Z",
            "status": "pending",
            "transactionType": "UserPurchase",
            "links": {
                "self": {
                    "uri": "/customers/f81d98dd-c2f4-499e-a194-5619e260344e/orders/f76c6b7f449d",
                    "method": "GET",
                    "headers": []
                },
                "provisioningStatus": {
                    "uri": "/customers/f81d98dd-c2f4-499e-a194-5619e260344e/orders/f76c6b7f449d/provisioningstatus",
                    "method": "GET",
                    "headers": []
                },
                "patchOperation": {
                    "uri": "/customers/f81d98dd-c2f4-499e-a194-5619e260344e/orders/f76c6b7f449d",
                    "method": "PATCH",
                    "headers": []
                }
            },
            "client": {},
            "attributes": {
                "objectType": "Order"
            }
        }
    ],
    "attributes": {
        "objectType": "CartCheckoutResult"
    }
}

REST 요청

요청 구문

메서드 요청 URI
PUT {baseURL}/v1/customers/{customer-id}/carts/{cart-id} HTTP/1.1

URI 매개 변수

다음 경로 매개 변수를 사용하여 고객을 식별하고 업데이트할 카트를 지정합니다.

이름 유형 필수 묘사
고객 ID 문자열 예 고객을 식별하는 GUID 형식의 고객 ID입니다.
카트 ID 문자열 예 카트를 식별하는 GUID 형식의 cart-id입니다.

요청 헤더

자세한 내용은 파트너 센터 REST 헤더 참조하세요.

요청 본문

이 표에서는 요청 본문의 Cart 속성에 대해 설명합니다.

재산 유형 필수 묘사
아이디 문자열 아니요 카트를 성공적으로 만들 때 제공되는 카트 식별자입니다.
creationTimeStamp 날짜와 시간 아니요 카트를 만든 날짜(날짜-시간 형식)입니다. 카트를 성공적으로 만들 때 적용됩니다.
마지막수정타임스탬프 날짜시간 아니요 카트가 마지막으로 업데이트된 날짜(날짜-시간 형식)입니다. 카트를 성공적으로 만들 때 적용됩니다.
만료시간표시 날짜시간 (DateTime) 아니요 카트가 만료되는 날짜(날짜-시간 형식)입니다. 카트를 성공적으로 만들 때 적용됩니다.
최근 수정 사용자 문자열 아니요 카트를 마지막으로 업데이트한 사용자입니다. 카트를 성공적으로 만들 때 적용됩니다.
lineItems 객체 배열 예 CartLineItem 리소스의 배열입니다.

이 표에서는 요청 본문의 CartLineItem 속성에 대해 설명합니다.

재산 타입 필수 설명
아이디 문자열 아니요 카트 품목의 고유 식별자입니다. 카트를 성공적으로 만들 때 적용됩니다.
catalogId 문자열 예 카탈로그 항목 식별자입니다.
friendlyName 문자열 아니요 선택적. 사용자가 명확하게 구분할 수 있도록 파트너가 정의한 사용자 친화적 항목 이름입니다.
promotionId 문자열 아니요 선택적. 대부분의 NCE 프로모션은 자동 적용되지만 선택적 프로모션(예: Bridge to the Cloud 2)이 카트 품목에 적용하려면 파트너는 카트에 추가 요청에 프로모션 ID를 포함해야 합니다.
양 int 예 라이선스 또는 인스턴스 수입니다.
통화 코드 문자열 아니요 통화 코드입니다.
billingCycle 객체 예 현재 기간에 대해 설정된 청구 주기의 유형입니다.
참가자 개체 문자열 쌍 목록 아니요 구매한 참가자들의 모음입니다.
프로비저닝 컨텍스트 사전<문자열, 문자열> 아니요 오퍼 제공에 사용되는 컨텍스트입니다.
주문 그룹 문자열 아니요 함께 배치할 수 있는 항목을 나타내는 그룹입니다.
오류 객체 아니요 오류가 발생하여 카트가 생성된 후에 적용됩니다.
AdditionalPartnerIdsOnRecord 문자열 아니요 간접 공급자가 간접 재판매인을 대신하여 주문을 하는 경우 이 필드를 추가 간접 재판매인의 PartnerID로만 채웁니다(간접 공급자의 ID가 없음). 이러한 다른 재판매인에게는 인센티브가 적용되지 않습니다. 최대 5개의 간접 재판매인만 입력할 수 있습니다. 이는 EU/EFTA 국가/지역 내에서 거래하는 해당 파트너만 해당합니다.

요청 예제

PUT /v1/customers/d6bf25b7-e0a8-4f2d-a31b-97b55cfc774d/carts/65faf57b-0205-47ee-92b3-08dcf233ea73/ HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 4fa6dad6-a89f-4875-8247-8294a10ae1cf
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
MS-PartnerCenter-Client: Partner Center .NET SDK
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 496
Expect: 100-continue

{
    {
        "Id":"b4c8fdea-cbe4-4d17-9576-13fcacbf9605",
        "CreationTimestamp":"2018-03-15T17:15:02.3840528Z",
        "LastModifiedTimestamp":"2018-03-15T17:15:02.3840528Z",
        "ExpirationTimestamp":"0001-01-01T00:00:00",
        "LastModifiedUser":"2713ccd7-ea3b-470a-9cfb-451d5d0482cc",
        "LineItems":[
            {
                "Id":0,
                "CatalogItemId":"DG7GMGF0DWTL:0001:DG7GMGF0DSJB",
                "FriendlyName":"A_sample_Azure_RI",
                "Quantity":2,
                "BillingCycle":"one_time",
                "ProvisioningContext": {
                    "SubscriptionId": "cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
                    "Scope": "shared",
                    "Duration": "1Year"
                }
            }
        ],
    }
}

중요하다

2023년 6월 현재 최신 파트너 센터 .NET SDK 릴리스 3.4.0이 보관됩니다. 유용한 정보가 포함된 추가 정보 파일 함께 GitHub SDK 릴리스를다운로드할 수 있습니다.

파트너는 파트너 센터 REST API계속 사용하는 것이 좋습니다.

REST 응답

성공하면 이 메서드는 응답 본문에 채워진 Cart 리소스를 반환합니다.

응답 성공 및 오류 코드

각 응답에는 성공 또는 실패 및 추가 디버깅 정보를 나타내는 HTTP 상태 코드가 함께 제공됩니다. 네트워크 추적 도구를 사용하여 이 코드, 오류 유형 및 기타 매개 변수를 읽습니다. 전체 목록은 오류 코드참조하세요.

응답 예제

HTTP/1.1 201 Created
Content-Length: 764
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 4fa6dad6-a89f-4875-8247-8294a10ae1cf
X-Locale: en-US,en-US
MS-CV: sF/wRa2ih0CzbABc.0
MS-ServerId: 000001
Date: Thu, 15 Mar 2018 17:15:01 GMT
{
    "id": "b4c8fdea-cbe4-4d17-9576-13fcacbf9605",
    "creationTimestamp": "2018-03-15T17:15:02.3840528Z",
    "lastModifiedTimestamp": "2018-03-15T17:15:02.3840528Z",
    "lastModifiedUser": "2713ccd7-ea3b-470a-9cfb-451d5d0482cc",
    "lineItems": [
        {
            "id": 0,
            "catalogItemId": "DG7GMGF0DWTL:0001:DG7GMGF0DSJB",
            "friendlyName": "A_sample_Azure_RI",
            "quantity": 2,
            "currencyCode": "USD",
            "billingCycle": "one_time",
            "ProvisioningContext": {
                "subscriptionId": "cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
                "scope": "shared",
                "duration": "1Year"
            }
            "orderGroup": "0"
        }
    ],
    "links": {
        "self": {
            "uri": "/v1/customers/d6bf25b7-e0a8-4f2d-a31b-97b55cfc774d/carts/b4c8fdea-cbe4-4d17-9576-13fcacbf9605/",
            "method": "GET",
            "headers": []
        }
    },
    "attributes": {
        "objectType": "Cart"
    }
}