Aktualizace košíku
Postup aktualizace objednávky pro zákazníka v košíku
Všimněte si, že platnost košíků vyprší sedm dnů od počátečního vytvoření.
Požadavky
Přihlašovací údaje popsané v ověřování v Partnerském centru Tento scénář podporuje ověřování pomocí samostatných přihlašovacích údajů aplikace i aplikace a uživatele.
ID zákazníka (
customer-tenant-id
). Pokud neznáte ID zákazníka, můžete ho vyhledat v Partnerském centru tak , že vyberete pracovní prostor Zákazníci , pak zákazník ze seznamu zákazníků a pak účet. Na stránce Účet zákazníka vyhledejte ID Microsoftu v části Informace o účtu zákazníka. ID Microsoftu je stejné jako ID zákazníka (customer-tenant-id
).ID košíku pro existující košík.
C#
Pokud chcete aktualizovat objednávku pro zákazníka, získejte košík pomocí metody Get() předáním ID zákazníka a košíku pomocí funkce ById(). Proveďte potřebné změny v košíku. Teď volejte metodu Put pomocí ID zákazníka a košíku pomocí metody ById().
Nakonec zavolejte Metodu Put() nebo PutAsync() a vytvořte objednávku.
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);
Pokud chcete dokončit ověření identity a zahrnout další prodejce, podívejte se na následující ukázku.
Ukázka rozhraní API – Rezervace košíku
{
"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"
}
}
Požadavek REST
Syntaxe požadavku
metoda | Identifikátor URI žádosti |
---|---|
PUT | {baseURL}/v1/customers/{customer-id}/carts/{cart-id} HTTP/1.1 |
Parametry identifikátoru URI
Pomocí následujících parametrů cesty identifikujte zákazníka a zadejte košík, který se má aktualizovat.
Name | Type | Požadováno | Popis |
---|---|---|---|
ID zákazníka | string | Ano | IDENTIFIKÁTOR GUID naformátovaný id zákazníka, které identifikuje zákazníka. |
cart-id | string | Ano | IDENTIFIKÁTOR GUID formátovaný košíkem, který identifikuje košík. |
Záhlaví žádosti
Další informace najdete v tématu Hlavičky REST Partnerského centra.
Text požadavku
Tato tabulka popisuje vlastnosti košíku v textu požadavku.
Vlastnost | Typ | Požadováno | Popis |
---|---|---|---|
ID | string | No | Identifikátor košíku zadaný při úspěšném vytvoření košíku. |
creationTimeStamp | DateTime | No | Datum vytvoření košíku ve formátu data a času. Použito při úspěšném vytvoření košíku. |
lastModifiedTimeStamp | DateTime | No | Datum poslední aktualizace košíku ve formátu data a času. Použito při úspěšném vytvoření košíku. |
expirationTimeStamp | DateTime | No | Datum vypršení platnosti košíku ve formátu data a času. Použito při úspěšném vytvoření košíku. |
lastModifiedUser | string | No | Uživatel, který naposledy aktualizoval košík. Použito při úspěšném vytvoření košíku. |
lineItems | Pole řetězců | Ano | Pole prostředků CartLineItem . |
Tato tabulka popisuje vlastnosti CartLineItem v textu požadavku.
Vlastnost | Typ | Požadováno | Popis |
---|---|---|---|
ID | string | No | Jedinečný identifikátor položky řádku košíku. Použito při úspěšném vytvoření košíku. |
catalogId | string | Ano | Identifikátor položky katalogu. |
Friendlyname | string | No | Nepovinné. Popisný název položky definované partnerem, který pomáhá nejednoznačný. |
promotionId | string | No | Nepovinné. Většina propagačních akcí NCE se automaticky použije, ale u volitelných propagačních akcí (například Bridge to the Cloud 2), které se mají použít u položky řádku košíku, musí partneři do žádosti o přidání do košíku zahrnout ID povýšení. |
množství. | int | Ano | Počet licencí nebo instancí. |
currencyCode | string | No | Kód měny. |
billingCycle | Object | Ano | Typ fakturačního cyklu nastavený pro aktuální období. |
Účastníci | Seznam párů řetězců objektů | No | Kolekce účastníků při nákupu. |
provisioningContext | Řetězec slovníku<, řetězec> | No | Kontext používaný ke zřizování nabídky. |
orderGroup | string | No | Skupina označující, které položky lze umístit dohromady. |
chyba | Object | No | Použije se po vytvoření košíku v chybě. |
AdditionalPartnerIdsOnRecord | Řetězcové | No | Když nepřímý zprostředkovatel umístí objednávku jménem nepřímého prodejce, vyplňte toto pole pouze ID partnera dalšího nepřímého prodejce (nikdy ID nepřímého poskytovatele). Pobídky se nevztahují na tyto další prodejce. Je možné zadat maximálně pět nepřímých prodejců. Jedná se pouze o příslušné partnery, kteří provádí transakce v rámci zemí/oblastí EU/ESVO. |
Příklad požadavku
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"
}
}
],
}
}
Důležité
Od června 2023 se teď archivuje nejnovější verze sady .NET SDK partnerského centra 3.4.0. Vydání sady SDK si můžete stáhnout z GitHubu spolu se souborem readme, který obsahuje užitečné informace.
Doporučujeme, aby partneři dál používali rozhraní REST API Partnerského centra.
Odpověď REST
Pokud je tato metoda úspěšná, vrátí naplněný prostředek Cart v textu odpovědi.
Kódy úspěšnosti a chyb odpovědi
Každá odpověď obsahuje stavový kód HTTP, který označuje úspěch nebo selhání a další informace o ladění. Ke čtení tohoto kódu, typu chyby a dalších parametrů použijte nástroj pro trasování sítě. Úplný seznam najdete v tématu Kódy chyb.
Příklad odpovědi
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"
}
}