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 programu Cloud Solution Provider.
Poznámka:
Nové komerční prostředí pro služby založené na licencích zahrnují mnoho nových funkcí a jsou k dispozici pro všechny poskytovatele cloudových řešení (CSP). Další informace najdete v přehledu nových obchodních prostředí.
Nové obchodní košíky s doplňky se liší od tradičních nabídek založených na licencích. Nové obchodní doplňky se kupují stejným způsobem jako základní nabídky, nepoužívají vlastnost addonItems . Toto téma obsahuje příklady požadavků a odpovědí speciálně pro novou skladovou položku produktu založenou na komerčním obchodu s skladovou položku produktu doplňku.
Poznámka:
Platnost košíků vyprší 7 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
).
C#
Košík umožňuje nákup základní nabídky a odpovídající doplňky. Při vytváření košíku postupujte takto:
Vytvoření instance objektu Cart
Vytvořte seznam objektů CartLineItem, které představují základní nabídky, a přiřaďte seznam vlastnosti LineItems košíku.
Pod řádkovou položkou košíku každé základní nabídky naplňte seznam AddOnItems dalšími objekty CartLineItem , které představují doplněk, který bude zakoupen proti této základní nabídce.
Získejte rozhraní pro operace košíku pomocí IAggregatePartner k volání ICustomerCollection.ById metoda s ID zákazníka identifikovat zákazníka a pak načtení rozhraní z Cart vlastnost.
Nakonec zavolejte metodu Create nebo CreateAsync, která vytvoří 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);
Pomocí těchto kroků vytvořte košík, který umožňuje nákup doplňků proti existujícím základním předplatným:
Vytvořte košík s novým CartLineItem obsahujícím ID předplatného ve vlastnosti ProvisioningContext s klíčem ParentSubscriptionId.
Volejte 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 |
---|---|
POST | {baseURL}/v1/customers/{customer-id}/carts HTTP/1.1 |
Parametr identifikátoru URI
Pomocí následujícího parametru cesty identifikujte zákazníka.
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. |
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 | Type | Popis |
---|---|---|
ID | řetězec | Jedinečný identifikátor položky řádku košíku. Použito při úspěšném vytvoření košíku. |
catalogId | string | Identifikátor položky katalogu. |
Friendlyname | string | Nepovinné. Popisný název položky definované partnerem, který pomáhá nejednoznačný. |
množství. | int | Počet licencí nebo instancí. |
currencyCode | string | Kód měny. |
billingCycle | Object | Typ fakturačního cyklu nastavený pro aktuální období. |
Účastníci | Seznam párů řetězců objektů | Kolekce PartnerId on Record (PartnerID) při nákupu. |
provisioningContext | Řetězec slovníku<, řetězec> | Kontext používaný ke zřizování nabídky. |
orderGroup | string | Skupina označující, které položky lze umístit dohromady. |
doplňky | Seznam objektů CartLineItem | Kolekce řádkových položek košíku pro doplňky, které budou zakoupeny do základního předplatného, které je výsledkem nákupu položky řádku nadřazeného košíku. Tato vlastnost je určená pouze pro tradiční licenční košíky založené na obchodních licencích, které zahrnují doplňky jako nabídky založené na licencích. Nové obchodní položky nepoužívají tuto vlastnost addonItems . |
chyba | Object | Pokud dojde k chybě, použije se po vytvoření košíku. |
Příklad požadavku (nové základní předplatné) pro tradiční licence
Následující příklad REST ukazuje, jak vytvořit košík s položkami doplňků 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 (nové základní předplatné) pro nový obchodní košík základní nabídky s doplňkem
{
"LineItems": [
{
"Id": 0,
"CatalogItemId":"CFQ7TTC0LFLX:0001:CFQ7TTC0LB30", - Base
"Quantity": 20,
"BillingCycle": "Monthly",
"TermDuration": "P1M"
},
{
"Id": 1,
"CatalogItemId":"CFQ7TTC0HDJX:0001:CFQ7TTC0K806", - Add on
"Quantity": 20,
"BillingCycle": "Monthly",
"TermDuration": "P1M"
}
]
}
Příklad požadavku (existující základní předplatné) pro tradiční licence
Následující příklad REST ukazuje, jak připojit doplňky k existujícímu základnímu předplatnému. Tento příklad je relevantní jenom pro tradiční licence založené na licencích, ne pro nový obchod.
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
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ý indikuje ú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 (nové základní předplatné) pro tradiční licence
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 (existující základní předplatné) pro tradiční licence
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"
}
}
Příklad odpovědi na novou základní nabídku založenou na komerční licenci a doplněk
{
"id": "ea37ea81-efaf-4113-9785-e1c266aea2ed",
"creationTimestamp": "2022-02-10T16:04:22.4908435Z",
"lastModifiedTimestamp": "2022-02-10T16:04:22.4908444Z",
"expirationTimestamp": "2022-02-17T16:04:26.3085755Z",
"lastModifiedUser": "a7155e79-65e3-42b0-a62a-a41297979782",
"status": "Active",
"lineItems": [
{
"id": 0,
"catalogItemId": "CFQ7TTC0LFLX:0001:CFQ7TTC0LB30", - Base
"quantity": 20,
"currencyCode": "USD",
"billingCycle": "monthly",
"termDuration": "P1M",
"promotionId": "39NFJQT1PHSN:0008:39NFJQT1Q5J0",
"provisioningContext": {},
"orderGroup": "0"
},
{
"id": 1,
"catalogItemId": "CFQ7TTC0HDJX:0001:CFQ7TTC0K806", - Add on
"quantity": 20,
"currencyCode": "USD",
"billingCycle": "monthly",
"termDuration": "P1M",
"provisioningContext": {},
"orderGroup": "0"
}
],
"links": {
"self": {
"uri": "/customers/3a15e1df-b095-41d4-9029-27a5974c2458/carts/ea37ea81-efaf-4113-9785-e1c266aea2ed",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Cart"
}
}
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro