Sdílet prostřednictvím


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, jak je popsáno v autentizaci v Partnerském centru . Tento scénář umožňuje ověřování pomocí samostatných přihlašovacích údajů aplikace i přihlašovacích údajů 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 zákaznickém účtu. 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() Get() předáním ID zákazníka a košíku pomocí funkce ById(). Proveďte potřebné změny v košíku. Pomocí ID zákazníka a košíku volejte metodu Put použitím metody ById().

Nakonec zavolejte metodu Put() nebo PutAsync() k vytvoření objednávky.

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 požadavku
UMÍSTIT {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.

Jméno Typ Vyžadováno Popis
id zákazníka řetězec Ano Identifikátor zákazníka ve formátu GUID, který identifikuje zákazníka.
cart-id řetězec Ano Identifikátor cart-id ve formátu GUID, který identifikuje košík.

Hlavičky požadavku

Další informace najdete v tématu hlavičky REST Partnerského centra.

Text požadavku

Tato tabulka popisuje vlastnosti Cart v textu požadavku.

Vlastnictví Typ Požadovaný Popis
id řetězec Ne Identifikátor košíku zadaný při úspěšném vytvoření košíku.
creationTimeStamp datum a čas Ne Datum vytvoření košíku ve formátu data a času. Použito při úspěšném vytvoření košíku.
časová_značka_poslední_úpravy Datum a čas Ne Datum poslední aktualizace košíku ve formátu data a času. Použito při úspěšném vytvoření košíku.
časová známka vypršení Datum a čas Ne Datum vypršení platnosti košíku ve formátu data a času. Použito při úspěšném vytvoření košíku.
lastModifiedUser řetězec Ne Uživatel, který naposledy aktualizoval košík. Použito při úspěšném vytvoření košíku.
lineItems Pole objektů Ano Pole prostředků CartLineItem.

Tato tabulka popisuje vlastnosti CartLineItem v textu požadavku.

Vlastnost Typ Povinný Popis
id řetězec Ne Jedinečný identifikátor položky v košíku. Použito při úspěšném vytvoření košíku.
catalogId řetězec Ano Identifikátor položky katalogu.
přátelskéJméno řetězec Ne Volitelný. Uživatelský název položky definované partnerem, který pomáhá odstranit nejednoznačnost.
promotionId řetězec Ne Volitelný. 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í aplikovat na položku v košíku, musí partneři do žádosti o přidání do košíku zahrnout ID promoakce.
množství Int Ano Počet licencí nebo instancí.
kód měny řetězec Ne Kód měny.
fakturační cyklus Objekt Ano Typ fakturačního cyklu nastavený pro aktuální období.
účastníci Seznam párů řetězců objektů Ne Skupina účastníků při nákupu.
kontext zajišťování Dictionary<řetězec, řetězec> Ne Kontext používaný ke poskytování nabídky.
skupina objednávek řetězec Ne Skupina označující, které položky lze umístit dohromady.
chyba Objekt Ne Použije se po chybě při vytváření košíku.
DalšíIdentifikátoryPartnerůVZáznamu Řetězec Ne Když nepřímý poskytovatel zadá objednávku jménem nepřímého prodejce, vyplňte toto pole ID partnera pouze 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. Verzi sady SDK můžete stáhnout z GitHubuspolečně s souborem readme, který obsahuje užitečné informace.

Doporučujeme, aby partneři nadále používali rozhraní REST API Partnerského centra.

Odpověď REST

V případě úspěchu vrátí tato metoda vyplněný cart prostředek 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"
    }
}