Sepeti güncelleştirme
Sepette müşteri için sipariş güncelleştirme.
Önkoşullar
kimlik doğrulamasında açıklandığı gibi İş Ortağı Merkezi bilgileri. Bu senaryo hem tek başına Uygulama hem de Uygulama+Kullanıcı kimlik bilgileriyle kimlik doğrulamasını destekler.
Müşteri kimliği (
customer-tenant-id). Müşterinin kimliğini bilmiyorsanız bu kimliği panoda İş Ortağı Merkezi. İş Ortağı Merkezi'den CSP'yi ve ardından Müşteriler'i seçin. Müşteri listesinden müşteriyi ve ardından Hesap'ı seçin. Müşterinin Hesap sayfasında Müşteri Hesabı Bilgileri bölümünde MicrosoftKimliği'ne bakın. Microsoft Kimliği, müşteri kimliği () ilecustomer-tenant-idaynıdır.Mevcut sepet için sepet kimliği.
C#
Bir müşterinin siparişlerini güncelleştirmek için, ById() işlevini kullanarak müşteri ve sepet kimliklerini ileterek Get() yöntemini kullanarak sepete sahip olun. Sepette gerekli değişiklikleri yapın. Şimdi ById() yöntemini kullanarak müşteri ve sepet kimliklerini kullanarak Put yöntemini çağırma.
Son olarak, siparişi oluşturmak için Put() veya PutAsync() yöntemini arayı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);
Bu işlemi tamamlamak ve ek kurumsal bayileri dahil etmek için aşağıdaki örnekle birlikte bakın.
API Örneği - Sepete göz at
{
"orders": [
{
"id": "f76c6b7f449d",
"alternateId": "f76c6b7f449d",
"referenceCustomerId": "f81d98dd-c2f4-499e-a194-5619e260344e",
"billingCycle": "monthly",
"currencyCode": "USD",
"currencySymbol": "$",
"lineItems": [
{
"lineItemNumber": 0,
"offerId": "CFQ7TTC0LH0Z:0001:CFQ7TTC0K18P",
"subscriptionId": "ebc0beef-7ffb-4044-c074-16f324432139",
"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": "261bac40-7d88-4327-dfa3-dacd09222d62",
"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ştirilacak sepeti belirtmek için aşağıdaki yol parametrelerini kullanın.
| Ad | Tür | Gerekli | Açıklama |
|---|---|---|---|
| customer-id | string | Yes | Müşteriyi tanımlayan GUID biçimlendirilmiş customer-id. |
| cart-id | string | Yes | Sepeti tanımlayan GUID biçimli sepet kimliği. |
İstek üst bilgileri
Daha fazla bilgi için bkz. İş Ortağı Merkezi REST üst bilgileri.
İstek gövdesi
Bu tablo, istek gövdesinin Sepet özelliklerini açıklar.
| Özellik | Tür | Gerekli | Açıklama |
|---|---|---|---|
| kimlik | dize | No | Sepetin başarıyla oluşturulmasının ardından sağlanan bir sepet tanımlayıcısı. |
| creationTimeStamp | DateTime | No | Sepetin tarih-saat biçiminde oluşturulma tarihi. Sepetin başarıyla oluşturulmasının ardından uygulanır. |
| lastModifiedTimeStamp | DateTime | No | Sepetin en son güncelleştirilen tarih-saat biçiminde olduğu tarih. Sepetin başarıyla oluşturulmasının ardından uygulanır. |
| expirationTimeStamp | DateTime | No | Sepetin tarih-saat biçiminde süresi dolacak tarih. Sepetin başarıyla oluşturulmasının ardından uygulanır. |
| lastModifiedUser | dize | No | Sepeti en son güncelleştirilen kullanıcı. Sepetin başarıyla oluşturulmasının ardından uygulanır. |
| lineItems | Nesne dizisi | Yes | CartLineItem kaynaklarının dizisi. |
Bu tablo, istek gövdesinin CartLineItem özelliklerini açıklar.
| Özellik | Tür | Gerekli | Açıklama |
|---|---|---|---|
| kimlik | dize | No | Sepet satır öğesi için benzersiz tanımlayıcı. Sepetin başarıyla oluşturulmasının ardından uygulanır. |
| catalogId | string | Yes | Katalog öğesi tanımlayıcısı. |
| Friendlyname | dize | No | İsteğe bağlı. Karartmanıza yardımcı olmak için iş ortağı tarafından tanımlanan öğenin kolay adı. |
| miktar | int | Yes | Lisans veya örnek sayısı. |
| currencyCode | dize | No | Para birimi kodu. |
| Bilimlingcycle | Nesne | Yes | Geçerli dönem için ayarlanan faturalandırma dönemi türü. |
| Katılımcılar | Nesne dizesi çiftlerinin listesi | No | Satın alımdaki katılımcılar koleksiyonu. |
| provisioningContext | Sözlük < dizesi, dize> | No | Teklifin sağlanması için kullanılan bir bağlam. |
| orderGroup | dize | No | Hangi öğelerin birlikte yerleştirilebileceğini belirten bir grup. |
| error | Nesne | No | Bir hata durumunda sepet oluşturulduktan sonra uygulandı. |
| Additionalpartnerıdsonrecord | Dize | No | Dolaylı bir sağlayıcı dolaylı bir satıcı adına bir sipariş yerleştirirse, bu alanı yalnızca ek dolaylı satıcının MPN kimliğiyle doldurun (dolaylı sağlayıcının kimliği hiçbir zaman değildir). Teşvikleri bu ek satıcılar için geçerli değildir. Yalnızca en fazla 5 dolaylı satıcıda girilebilir. Bu, AB/EFTA ülkelerinde yalnızca geçerli iş ortakları deneyimidir. |
İ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: 0e93c70c-977a-4a88-9580-7cf084c73286
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": "3D5ECED6-1151-44C7-AEE6-70A4BB725666",
"Scope": "shared",
"Duration": "1Year"
}
}
],
}
}
REST yanıtı
Başarılı olursa, bu yöntem yanıt gövdesinde doldurulmuş sepet kaynağını döndürür.
Yanıt başarısı ve hata kodları
Her yanıt başarı veya başarısızlık ve ek hata ayıklama bilgilerini gösteren bir HTTP durum kodu ile gelir. Bu kodu, hata türünü ve ek 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: 0e93c70c-977a-4a88-9580-7cf084c73286
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": "3D5ECED6-1151-44C7-AEE6-70A4BB725666",
"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"
}
}