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