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ı'nde açıklandığı gibi kimlik bilgileri. Bu senaryo hem tek başına Uygulama hem de Uygulama+Kullanıcı kimlik bilgileriyle kimlik doğrulamayı destekler.

  • Bir müşteri kimliği (customer-tenant-id). Müşterinin kimliğini bilmiyorsanız, önce İş Ortağı Merkezi'ne giderek Müşteriler çalışma alanını seçin, ardından müşteri listesinden müşteriyi seçin ve son olarak Hesapbölümüne erişebilirsiniz. Müşteri Hesap sayfasında, Müşteri Hesabı Bilgileri bölümünde, Microsoft Kimliği arayın. Microsoft kimliği, müşteri kimliğiyle (customer-tenant-id) aynıdır.

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

C#

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, Put() veya PutAsync() yöntemini çağırarak sırayı oluşturun.

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 Gerekli Açıklama
müşteri kimliği dizgi Evet Müşteriyi tanımlayan GUID biçimli müşteri kimliği.
cart-id dizgi Evet Sepeti tanımlayan GUID biçimli cart-id.

İstek üst bilgileri

Daha fazla bilgi için bkz. Ortak Merkez REST üstbilgileri.

İstek gövdesi

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

Mülk Tür Gerekli Açıklama
Kimlik dizgi Hayır Sepet başarıyla oluşturulduğunda sağlanan bir sepet tanımlayıcısı.
creationTimeStamp TarihSaat 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üncellenme tarihi (tarih-saat biçiminde). Sepet başarıyla oluşturulduktan sonra uygulanır.
son kullanma zaman damgası TarihSaat Hayır Sepetin süresinin dolacağı tarih, tarih-saat biçiminde belirtilecektir. Sepet başarıyla oluşturulduktan sonra uygulanır.
sonDeğişiklikYapanKullanıcı dizgi Hayır Sepeti son güncelleştiren kullanıcı. Sepet başarıyla oluşturulduktan sonra uygulanır.
satır öğeleri Nesne dizisi Evet CartLineItem kaynakları dizisi.

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

Mülk Tür Gerekli Açıklama
Kimliği dizgi Hayır Sepet satırı öğesi için benzersiz tanımlayıcı. Sepet başarıyla oluşturulduktan sonra uygulanır.
catalogId dizgi Evet Katalog öğesi tanımlayıcısı.
dostça İsim karakter dizisi Hayır Opsiyonel. Belirsizliği gidermek için iş ortağı tarafından tanımlanan öğenin kolay anlaşılır adı.
promotionId metin Hayır Opsiyonel. Ç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.
miktar Int Evet Lisans veya örnek sayısı.
para birimi kodu dizgi Hayır Para birimi kodu.
billingCycle Nesne Evet Geçerli dönem için ayarlanan faturalama dönemi türü.
Katılımcılar Nesne Dizesi çiftlerinin listesi Hayır Satın alma işlemine katılanlardan oluşan bir koleksiyon.
sağlama bağlamı Sözlük<dizesi, dize> Hayır Teklif sunumu için kullanılan bağlam.
sipariş grubu dizgi Hayır Hangi öğelerin bir araya yerleştirilebileceğini belirten bir grup.
hata Nesne Hayır Bir hata sonucu sepet oluşturulduktan sonra uygulanır.
Ek Ortak Kimlikleri Kaydı Üzerine Dizgi Hayır Dolaylı bir sağlayıcı dolaylı bir bayi adına bir sipariş verdiğinde, bu alanı yalnızca Ek dolaylı bayinin İş Ortağı Kimliği ile doldurun (hiçbir zaman dolaylı sağlayıcının kimliği kullanılmamalıdır). 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. GitHub 'dan, yararlı bilgiler içeren bir readme dosyası ile birlikte, SDK sürümünü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 doldurulmuş kart 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"
    }
}