다음을 통해 공유


카트 업데이트

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

카트는 초기 생성부터 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"
    }
}