Sepeti güncelleştirme

Sepetteki bir müşteri için siparişi güncelleştirme.

Sepetlerin ilk oluşturma işleminden yedi gün sonra sona ereceğini unutmayın.

Önkoşullar

  • İş Ortağı Merkezi kimlik doğrulamasında açıklandığı gibi kimlik bilgileri. Bu senaryo hem tek başına Uygulama hem de Uygulama+Kullanıcı kimlik bilgileriyle kimlik doğrulamayı destekler.

  • Müşteri kimliği (customer-tenant-id). Müşterinin kimliğini bilmiyorsanız, İş Ortağı Merkezi'nde Müşteriler çalışma alanını, ardından müşteri listesinden müşteriyi ve ardından Hesap'ı seçerek bunu arayabilirsiniz. Müşterinin Hesap sayfasında, Müşteri Hesabı Bilgileri bölümünde Microsoft Kimliği'ni arayın. Microsoft Kimliği, müşteri kimliğiyle (customer-tenant-id) aynıdır.

  • Mevcut bir sepet için sepet kimliği.

C#

Bir müşterinin siparişini güncelleştirmek için, ById() işlevini kullanarak müşteri ve sepet kimliklerini geçirerek Get() yöntemini kullanarak sepeti alın. Sepette gerekli değişiklikleri yapın. Şimdi ById() yöntemini kullanarak müşteri ve sepet kimliklerini kullanarak Put yöntemini çağırın.

Son olarak, sırayı oluşturmak için Put() veya PutAsync() yöntemini çağırın.

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);

Kanıtlamayı tamamlamak ve diğer kurumsal bayileri dahil etmek için aşağıdaki örneğe bakın.

API Örneği - Sepete göz atın

{
    "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 isteği

İstek söz dizimi

Yöntem İstek URI'si
PUT {baseURL}/v1/customers/{customer-id}/carts/{cart-id} HTTP/1.1

URI parametreleri

Müşteriyi tanımlamak ve güncelleştirilecek sepeti belirtmek için aşağıdaki yol parametrelerini kullanın.

Adı Tür Zorunlu Açıklama
customer-id string Yes Müşteriyi tanımlayan GUID biçimli müşteri kimliği.
cart-id string Yes Sepeti tanımlayan GUID biçimli cart-id.

İstek üst bilgileri

Daha fazla bilgi için bkz . İş Ortağı Merkezi REST üst bilgileri.

Request body

Bu tabloda istek gövdesindeki Sepet özellikleri açıklanmaktadır.

Özellik Type Zorunlu Açıklama
id dize Hayır Sepetin başarıyla oluşturulmasından sonra sağlanan bir sepet tanımlayıcısı.
creationTimeStamp DateTime Hayır Sepetin oluşturulduğu tarih, tarih-saat biçiminde. Sepet başarıyla oluşturulduktan sonra uygulanır.
lastModifiedTimeStamp DateTime Hayır Sepetin son güncelleştirildiği tarih( tarih-saat biçiminde). Sepet başarıyla oluşturulduktan sonra uygulanır.
expirationTimeStamp DateTime Hayır Sepetin süresinin dolacağı tarih, tarih-saat biçimindedir. Sepet başarıyla oluşturulduktan sonra uygulanır.
lastModifiedUser Dize Hayır Sepeti son güncelleştiren kullanıcı. Sepet başarıyla oluşturulduktan sonra uygulanır.
lineItems Nesneler dizisi Yes CartLineItem kaynakları dizisi.

Bu tabloda istek gövdesindeki CartLineItem özellikleri açıklanmaktadır.

Özellik Type Zorunlu Açıklama
id dize Hayır Sepet satırı öğesi için benzersiz tanımlayıcı. Sepet başarıyla oluşturulduktan sonra uygulanır.
catalogId string Yes Katalog öğesi tanımlayıcısı.
Friendlyname Dize Hayır isteğe bağlı. Belirsizliği gidermek için iş ortağı tarafından tanımlanan öğenin kolay adı.
promotionId Dize Hayır isteğe bağlı. Çoğu NCE promosyonu otomatik olarak uygulanır, ancak isteğe bağlı promosyonların (Buluta Köprü 2 gibi) bir sepet satırı öğesine uygulanması için iş ortaklarının sepete ekleme isteğine promosyon kimliğini dahil etmesi gerekir.
quantity int Yes Lisans veya örnek sayısı.
currencyCode Dize Hayır Para birimi kodu.
billingCycle Object Yes Geçerli dönem için ayarlanan faturalama dönemi türü.
Katılımcı Nesne Dizesi çiftlerinin listesi Hayır Satın alma işlemine katılanlardan oluşan bir koleksiyon.
provisioningContext Sözlük<dizesi, dize> Hayır Teklifin sağlanması için kullanılan bağlam.
orderGroup Dize Hayır Hangi öğelerin bir araya yerleştirilebileceğini belirten bir grup.
error Object Hayır Bir hatada sepet oluşturulduktan sonra uygulanır.
AdditionalPartnerIdsOnRecord String Hayır Dolaylı bir sağlayıcı dolaylı kurumsal bayi adına bir sipariş verildiğinde, bu alanı yalnızca Ek dolaylı satıcının İş Ortağı Kimliği ile doldurun (hiçbir zaman dolaylı sağlayıcının kimliği değildir). Teşvikler bu diğer kurumsal bayiler için geçerli değildir. Yalnızca en fazla beş Dolaylı Kurumsal Bayi girilebilir. Bu yalnızca AB/EFTA ülkeleri/bölgeleri içinde işlem gören geçerli iş ortaklarıdır.

İstek örneği

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

Önemli

Haziran 2023 itibarıyla en son İş Ortağı Merkezi .NET SDK sürümü 3.4.0 arşivlenmiştir. SDK sürümünü, yararlı bilgiler içeren bir benioku dosyasıyla birlikte GitHub'dan indirebilirsiniz.

İş ortaklarının İş Ortağı Merkezi REST API'lerini kullanmaya devam etmesi teşvik edilir.

REST yanıtı

Başarılı olursa, bu yöntem yanıt gövdesinde doldurulan Cart kaynağını döndürür.

Yanıt başarısı ve hata kodları

Her yanıt, başarılı veya başarısız olduğunu belirten bir HTTP durum kodu ve ek hata ayıklama bilgileriyle birlikte gelir. Bu kodu, hata türünü ve diğer parametreleri okumak için bir ağ izleme aracı kullanın. Tam liste için bkz . Hata Kodları.

Yanıt örneği

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