共用方式為


更新購物車

如何在購物車中更新客戶的訂單。

請注意,購物車會在初始建立後七天失效。

先決條件

  • 合作夥伴中心驗證中所述的憑證。 此案例支援使用獨立應用程式和 App+使用者認證進行驗證。

  • 客戶標識碼 (customer-tenant-id)。 如果您不知道客戶的標識碼,您可以在 合作夥伴中心 中選取 [客戶 工作區],接著從客戶清單中選取客戶,然後查閱 帳戶。 在客戶的 [帳戶] 頁面上,在 [客戶帳戶資訊] 區段中尋找 Microsoft ID。 Microsoft識別碼與客戶標識碼 (customer-tenant-id) 相同。

  • 現有購物車的標識碼。

C#

若要更新客戶的訂單,請使用 Get() 方法取得購物車,方法是使用 ById() 函式傳遞客戶和購物車標識符。 對購物車進行必要的變更。 現在,藉由使用客戶和購物車的ID,利用 ById() 方法來呼叫 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 參數

使用下列路徑參數來識別客戶,並指定要更新的購物車。

名字 類型 必填 描述
客戶標識碼 字串 是的 識別客戶的 GUID 格式客戶識別碼。
購物車標識碼 字串 是的 以 GUID 格式表示的購物車識別碼,用於識別購物車。

要求標頭

如需詳細資訊,請參閱 合作夥伴中心 REST 標頭

請求主體

下表描述了請求正文中的 Cart 屬性。

財產 類型 必填 描述
識別碼 字串 成功建立購物車時提供的購物車標識碼。
creationTimeStamp 日期時間 購物車建立的日期,以日期和時間格式顯示。 在成功建立購物車後套用。
最後修改時間戳記 日期時間 購物車上次更新的日期,以日期時間格式顯示。 在成功建立購物車時套用。
到期時間戳記 日期時間 購物車到期的日期,以日期時間格式顯示。 成功建立購物車後套用。
最後修改者 字串 上次更新購物車的使用者。 在成功建立購物車時套用。
lineItems 對象的陣列 是的 CartLineItem 資源的陣列。

下表描述請求正文中 CartLineItem 屬性。

財產 類型 必填 描述
識別碼 字串 購物車項目的唯一標識符。 成功創建購物車後應用。
catalogId 字串 是的 目錄項目識別碼。
友好名稱 字串 自選。 由夥伴定義的項目的易於識別的名稱,以協助釐清。
promotionId 字串 自選。 大部分 NCE 促銷都會自動套用。 不過,對於可選擇的促銷(例如 Bridge to the Cloud 2)要套用至購物車項目,合作夥伴必須在新增至購物車的要求中包含促銷 ID。
數量 整數 是的 授權或實例的數目。
貨幣代碼 字串 貨幣代碼。
billingCycle 物件 是的 目前期間所設定的計費周期類型。
參與者 物件字串組的清單 購買參與者的一個集合。
配置環境 字典<字串、字串> 用於建立優惠方案的內容。
訂單組 字串 用以指示哪些項目可以放在一起的群組。
錯誤 物件 在錯誤中建立購物車之後套用。
附加記錄夥伴ID 字串 當間接提供者代表間接轉銷商下訂單時,請將此字段填入 附加間接轉銷商的 PartnerID(絕不是間接提供者的 ID)。 獎勵不適用於這些其他轉銷商。 最多只能輸入五個間接轉銷商。 這只適用於於歐盟/歐洲自由貿易聯盟國家/地區內交易的合作夥伴。

要求範例

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