Vytvoření košíku s doplňky k objednávce zákazníka

Doplňky si můžete koupit prostřednictvím košíku. Další informace o tom, co je aktuálně k dispozici k prodeji, najdete v tématu Nabídky partnerů v Cloud Solution Provider programu.

Požadavky

  • Přihlašovací údaje, jak je popsáno Partnerské centrum ověřování. 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 ID zákazníka neznáme, můžete ho na řídicím panelu Partnerské centrum. V nabídce Partnerské centrum vyberte CSP a pak Zákazníci. V seznamu zákazníků vyberte zákazníka a pak vyberte Účet. Na stránce Účtu 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 ).

C#

Košík umožňuje nákup základní nabídky a odpovídajících doplňků. Při vytváření košíku postupujte takto:

  1. Vytvoření instance objektu Cart

  2. Vytvořte seznam objektů CartLineItem, které představují základní nabídky, a přiřaďte tento seznam k vlastnosti LineItems košíku.

  3. Pod řádkovou položkou košíku každé základní nabídky naplňte seznam AddOnItems jinými objekty CartLineItem, které představují doplněk, který bude zakoupen na základě této základní nabídky.

  4. Získejte rozhraní pro operace košíku pomocí IAggregatePartner k volání metody ICustomerCollection.ById s ID zákazníka k identifikaci zákazníka a načtením rozhraní z vlastnosti Cart.

  5. Nakonec zavolejte metodu Create nebo CreateAsync a vytvořte košík.

Příklad # jazyka C

// IAggregatePartner partnerOperations;
// string customerId;

var cart = new Cart()
    {
        LineItems = new List<CartLineItem>()
        {
            new CartLineItem()
            {
                Id = 0,
                CatalogItemId = "A_base_offer_ID",
                FriendlyName = "Myofferpurchase",
                Quantity = 3,
                BillingCycle = BillingCycleType.Monthly,
                AddonItems = new List<CartLineItem>
                {
                    new CartLineItem
                    {
                        Id = 1,
                        CatalogItemId = "An_addon_item_ID",
                        BillingCycle = BillingCycleType.Monthly,
                        Quantity = 2,
                    },
                    new CartLineItem
                    {
                        Id = 2,
                        CatalogItemId = "Another_addon_item_ID",
                        BillingCycle = BillingCycleType.Monthly,
                        Quantity = 3
                    }
                }
            }
        }
    };

var createdCart = partnerOperations.Customers.ById(customerId).Carts.Create(cart);

Postupujte podle těchto kroků a vytvořte košík, který umožní nákup doplňků pro stávající základní předplatná:

  1. Vytvořte košík s novým CartLineItem obsahujícím ID předplatného ve vlastnosti ProvisioningContext s klíčem ParentSubscriptionId.

  2. Zavolejte metodu Create nebo CreateAsync.

// IAggregatePartner partnerOperations;
// string selectedCustomerId;

var cart = new Cart()
    {
        LineItems = new List<CartLineItem>()
        {
            new CartLineItem()
            {
                Id = 0,
                CatalogItemId = "An_addon_item_ID",
                ProvisioningContext = new Dictionary<string, string>
                {
                    {
                        "ParentSubscriptionId", "An_existing_subscription_Id"
                    }
                },
                Quantity = 1,
                BillingCycle = BillingCycleType.Annual,
            }
        }
    };

var createdCart = partnerOperations.Customers.ById(selectedCustomerId).Carts.Create(cart);

Požadavek REST

Syntaxe požadavku

Metoda Identifikátor URI žádosti
Příspěvek {baseURL}/v1/customers/{ID_zákazníka}/carts HTTP/1.1

Parametr URI

K identifikaci zákazníka použijte následující parametr cesty.

Název Typ Vyžadováno Popis
id zákazníka řetězec Yes Identifikátor GUID naformátovaný jako customer-id, který identifikuje zákazníka.

Hlavičky požadavku

Další informace najdete v Partnerské centrum REST.

Text požadavku

Tato tabulka popisuje vlastnosti Cart (Košík) v textu požadavku.

Vlastnost Typ Vyžadováno Popis
id řetězec No Identifikátor košíku, který se dodá po úspěšném vytvoření košíku.
creationTimeStamp DateTime No Datum vytvoření košíku ve formátu data a času. Použije se při úspěšném vytvoření košíku.
lastModifiedTimeStamp DateTime No Datum poslední aktualizace košíku ve formátu data a času Použije se při úspěšném vytvoření košíku.
expirationTimeStamp DateTime No Datum, kdy vyprší platnost košíku ve formátu data a času. Použije se při úspěšném vytvoření košíku.
lastModifiedUser řetězec No Uživatel, který naposledy aktualizoval košík Použije se při úspěšném vytvoření košíku.
položky řádku Pole objektů Yes Pole prostředků CartLineItem

Tato tabulka popisuje vlastnosti CartLineItem v textu požadavku.

Vlastnost Typ Description
id řetězec Jedinečný identifikátor řádkové položky košíku. Použije se při úspěšném vytvoření košíku.
id katalogu řetězec Identifikátor položky katalogu.
Friendlyname řetězec Nepovinný parametr. Popisný název položky definované partnerem, který pomáhá jednoznačně rozpoznat.
quantity int Počet licencí nebo instancí
currencyCode řetězec Kód měny
billingCycle Objekt Typ fakturačního cyklu nastaveného pro aktuální období.
členům Seznam párů řetězců objektů Kolekce PartnerId na záznamu (MPN ID) na nákupu.
provisioningContext Řetězec<slovníku, řetězec> Kontext použitý ke zřízení nabídky.
pořadí řetězec Skupina, která označuje, které položky lze umístit dohromady.
addonItems Seznam objektů CartLineItem Kolekce položek řádků košíku pro doplňky, které budou koupeny k základnímu předplatnému, které je výsledkem nákupu položky řádku nadřazeného košíku.
error Objekt Používá se po vytvoření košíku, pokud dojde k chybě.

Příklad požadavku (nové základní předplatné)

Následující příklad REST ukazuje, jak vytvořit košík s položkami doplňku pro nové základní předplatné.

POST https://api.partnercenter.microsoft.com/v1/customers/18ac2950-8ea9-4dfc-92a4-ff4d4cd57796/carts HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: f931348a-6312-47d0-a8dd-31a386dedb8f
MS-CorrelationId: f73baf70-bbc3-43d0-8b29-dffa08ff9511

{
    "LineItems": [
        {
            "Id":0,
            "CatalogItemId":"91FD106F-4B2C-4938-95AC-F54F74E9A239",
            "FriendlyName":"Myofferpurchase",
            "Quantity":3,
            "BillingCycle":"monthly",
            "AddonItems": [
                {
                    "Id":1,
                    "CatalogItemId":"C94271D8-B431-4A25-A3C5-A57737A1C909",
                    "Quantity":2,
                    "BillingCycle":"monthly"
                },
                {
                    "Id":2,
                    "CatalogItemId":"43FCE491-76D1-4BCC-B709-8A288786DBAE",
                    "Quantity":3,
                    "BillingCycle":"monthly"
                }
            ]
        }
    ]
}

Příklad požadavku (stávající základní předplatné)

Následující příklad REST ukazuje, jak připojit doplňky ke stávajícímu základnímu předplatnému.

POST https://api.partnercenter.microsoft.com/v1/customers/18ac2950-8ea9-4dfc-92a4-ff4d4cd57796/carts HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 512a777a-5427-452d-9637-18421387e435
MS-CorrelationId: 182474ba-7303-4d0f-870a-8c7fba5ccc4b

{
    "LineItems": [
        {
            "Id":0,
            "CatalogItemId":"C94271D8-B431-4A25-A3C5-A57737A1C909",
            "Quantity":1,
            "BillingCycle":"annual",
            "ProvisioningContext":{"ParentSubscriptionId":"97555B61-7461-477A-A98C-9C76148783E4"}
        }
    ]
}

Odpověď REST

V případě úspěchu tato metoda vrátí prostředek vyplněné vozíku v těle odpovědi.

Úspěšné odpovědi a chybové kódy

Každá odpověď je dodávána se stavovým kódem HTTP, který označuje úspěch nebo selhání a další informace o ladění. Použijte nástroj pro trasování sítě ke čtení tohoto kódu, typu chyby a dalších parametrů. Úplný seznam najdete v tématu kódy chyb.

Příklad odpovědi (nové základní předplatné)

HTTP/1.1 201 Created
Content-Length: 958
Content-Type: application/json
MS-CorrelationId: f73baf70-bbc3-43d0-8b29-dffa08ff9511
MS-RequestId: f931348a-6312-47d0-a8dd-31a386dedb8f
X-Locale: en-US,en-US
Date: Thu, 01 Nov 2018 22:29:05 GMT

{
    "id":"dbe2f8d4-f21d-43e2-9356-cff6387c4ba1",
    "creationTimestamp":"2018-11-01T22:29:03.6900182Z",
    "lastModifiedTimestamp":"2018-11-01T22:29:03.6900182Z",
    "expirationTimestamp":"2018-11-01T22:44:05.0025799Z",
    "lastModifiedUser":"1824b7fc-2fac-4478-b177-66823c40ab75",
    "status":"Active",
    "lineItems": [
        {
            "id":0,
            "catalogItemId":"91FD106F-4B2C-4938-95AC-F54F74E9A239",
            "friendlyName":"Myofferpurchase",
            "quantity":3,
            "currencyCode":"USD",
            "billingCycle":"monthly",
            "orderGroup":"OMS-0",
            "addonItems": [
                {
                    "id":1,
                    "catalogItemId":"C94271D8-B431-4A25-A3C5-A57737A1C909",
                    "quantity":2,
                    "currencyCode":"USD",
                    "billingCycle":"monthly",
                    "orderGroup":"OMS-0"
                },
                {
                    "id":2,
                    "catalogItemId":"43FCE491-76D1-4BCC-B709-8A288786DBAE",
                    "quantity":3,
                    "currencyCode":"USD",
                    "billingCycle":"monthly",
                    "orderGroup":"OMS-0"
                }
            ]
        }
],
    "links": {
        "self": {
            "uri":"/customers/18ac2950-8ea9-4dfc-92a4-ff4d4cd57796/carts/dbe2f8d4-f21d-43e2-9356-cff6387c4ba1",
            "method":"GET",
            "headers":[
            ]
        }
    },
    "attributes": {
        "objectType":"Cart"
    }
}

Příklad odpovědi (stávající základní předplatné)

HTTP/1.1 201 Created
Content-Length: 707
Content-Type: application/json
MS-CorrelationId: 182474ba-7303-4d0f-870a-8c7fba5ccc4b
MS-RequestId: 512a777a-5427-452d-9637-18421387e435
X-Locale: en-US,en-US
Date: Thu, 01 Nov 2018 22:46:18 GMT

{
    "id":"4d927e27-93d1-448b-abe5-819b66ecca22",
    "creationTimestamp":"2018-11-01T22:46:16.2996364Z",
    "lastModifiedTimestamp":"2018-11-01T22:46:16.2996364Z",
    "expirationTimestamp":"2018-11-01T23:01:18.7543264Z",
    "lastModifiedUser":"1824b7fc-2fac-4478-b177-66823c40ab75",
    "status":"Active",
    "lineItems": [
        {
            "id":0,
            "catalogItemId":"C94271D8-B431-4A25-A3C5-A57737A1C909",
            "quantity":1,
            "currencyCode":"USD",
            "billingCycle":"annual",
            "provisioningContext": {
                "parentSubscriptionId":"97555B61-7461-477A-A98C-9C76148783E4"
            },
            "orderGroup":"OMS-0"
        }
    ],
    "links": {
        "self": {
            "uri":"/customers/18ac2950-8ea9-4dfc-92a4-ff4d4cd57796/carts/4d927e27-93d1-448b-abe5-819b66ecca22",
            "method":"GET",
            "headers":[
            ]
        }
    },
    "attributes": {
        "objectType":"Cart"
    }
}