Bővítmény vásárlása egy előfizetéshez
A következőre vonatkozik: Partnerközpont | A 21Vianet által üzemeltetett Partnerközpont | Partnerközpont Microsoft Cloud for US Government
Bővítmény vásárlása meglévő előfizetéshez.
Előfeltételek
Hitelesítő adatok a Partnerközpont hitelesítésében leírtak szerint. Ez a forgatókönyv támogatja a hitelesítést önálló alkalmazással és app+felhasználói hitelesítő adatokkal is.
Ügyfélazonosító (
customer-tenant-id
). Ha nem ismeri az ügyfél azonosítóját, megkeresheti a Partnerközpontban az Ügyfelek munkaterület, majd az ügyféllista ügyféllistájából, majd a Fiók lehetőség kiválasztásával. Az ügyfél Fiók lapján keresse meg a Microsoft-azonosítót az Ügyfélfiók adatai szakaszban. A Microsoft-azonosító megegyezik az ügyfél-azonosítóval (customer-tenant-id
).Előfizetés-azonosító. Ez az a meglévő előfizetés, amelyhez bővítményajánlatot szeretne vásárolni.
Ajánlatazonosító, amely azonosítja a megvásárolni kívánt bővítményajánlatot.
Bővítmény vásárlása kódon keresztül
Amikor egy előfizetéshez tartozó bővítményt vásárol, frissíti az eredeti előfizetési rendelést a bővítmény megrendelésével. Az alábbiakban a customerId az ügyfélazonosító, az subscriptionId az előfizetés azonosítója, az addOnOfferId pedig a bővítmény ajánlatazonosítója.
A lépések a következők:
Szerezzen be egy felületet az előfizetés műveleteihez.
var subscriptionOperations = partnerOperations.Customers.ById(customerId).Subscriptions.ById(subscriptionId);
Ezzel a felülettel példányosíthat egy előfizetési objektumot. Ez lekéri a szülő-előfizetés adatait, beleértve a rendelésazonosítót is.
var parentSubscription = subscriptionOperations.Get();
Új Order objektum példányosítása. Ez a rendeléspéldány az előfizetés megvásárlásához használt eredeti rendelés frissítésére szolgál. Adjon hozzá egy egysoros elemet a bővítményt jelképező sorrendhez.
var orderToUpdate = new Order() { ReferenceCustomerId = customerId, LineItems = new List<OrderLineItem>() { new OrderLineItem() { LineItemNumber = 0, OfferId = addOnOfferId, FriendlyName = "Some friendly name", Quantity = 2, ParentSubscriptionId = subscriptionId } } };
Frissítse az előfizetés eredeti rendelését a bővítmény új megrendelésével.
Order updatedOrder = partnerOperations.Customers.ById(customerId).Orders.ById(parentSubscription.OrderId).Patch(orderToUpdate);
C#
Bővítmény vásárlásához először szerezzen be egy felületet az előfizetési műveletekhez, és hívja meg az IAggregatePartner.Customers.ById metódust az ügyfél azonosítójával az ügyfél azonosításához, és az Subscriptions.ById metódust a bővítményajánlattal rendelkező előfizetés azonosításához. Ezen a felületen lekérheti az előfizetés adatait a Get hívásával. Az előfizetés részletei tartalmazzák az előfizetési rendelés rendelésazonosítóját, amely a bővítményrel frissítendő rendelés.
Ezután hozzon létre egy új Order objektumot, és töltse fel egyetlen LineItem-példánysal , amely tartalmazza a bővítmény azonosításához szükséges információkat, ahogy az az alábbi kódrészletben látható. Ezzel az új objektummal frissítheti az előfizetési rendelést a bővítményrel. Végül hívja meg a Patch metódust az előfizetési rendelés frissítéséhez, miután először azonosította az ügyfelet az IAggregatePartner.Customers.ById azonosítóval és a rendeléssel az Orders.ById azonosítóval.
// IAggregatePartner partnerOperations;
// string customerId;
// string subscriptionId;
// string addOnOfferId;
// Get an interface to the operations for the subscription.
var subscriptionOperations = partnerOperations.Customers.ById(customerId).Subscriptions.ById(subscriptionId);
// Get the parent subscription details.
var parentSubscription = subscriptionOperations.Get();
// In order to buy an add-on subscription for this offer, we need to patch/update the order through which the base offer was purchased
// by creating an order object with a single line item which represents the add-on offer purchase.
var orderToUpdate = new Order()
{
ReferenceCustomerId = customerId,
LineItems = new List<OrderLineItem>()
{
new OrderLineItem()
{
LineItemNumber = 0,
OfferId = addOnOfferId,
FriendlyName = "Some friendly name",
Quantity = 2,
ParentSubscriptionId = subscriptionId
}
}
};
// Update the order to apply the add on purchase.
Order updatedOrder = partnerOperations.Customers.ById(customerId).Orders.ById(parentSubscription.OrderId).Patch(orderToUpdate);
Minta: Konzolteszt alkalmazás. Projekt: Partnerközpont SDK-minták osztálya: AddSubscriptionAddOn.cs
REST-kérelem
Kérés szintaxisa
Metódus | Kérés URI-ja |
---|---|
JAVÍTÁS | {baseURL}/v1/customers/{customer-tenant-id}/orders/{order-id} HTTP/1.1 |
URI-paraméterek
Az ügyfél és a rendelés azonosításához használja az alábbi paramétereket.
Név | Típus | Kötelező | Leírás |
---|---|---|---|
customer-tenant-id | guid | Y | Az érték egy GUID formátumú ügyfél-bérlő-azonosító , amely azonosítja az ügyfelet. |
order-id | guid | Y | A rendelés azonosítója. |
Kérésfejlécek
További információt a Partnerközpont REST-fejlécei című témakörben talál.
A kérés törzse
Az alábbi táblázatok a kérelem törzsében található tulajdonságokat írják le.
Sorrend
Név | Típus | Kötelező | Leírás |
---|---|---|---|
Id | sztring | N | A rendelés azonosítója. |
ReferenceCustomerId | sztring | Y | Az ügyfél azonosítója. |
LineItems | objektumok tömbje | Y | OrderLineItem objektumok tömbje. |
LétrehozásDátum | sztring | N | A rendelés létrehozásának dátuma dátum-idő formátumban. |
Attribútumok | object | N | Az "ObjectType": "Order" értéket tartalmazza. |
OrderLineItem
Név | Típus | Kötelező | Leírás |
---|---|---|---|
LineItemNumber | szám | Y | A sorelem száma, 0-tól kezdve. |
Ajánlatazonosító | sztring | Y | A bővítmény ajánlatazonosítója. |
SubscriptionId | sztring | N | A megvásárolt bővítmény-előfizetés azonosítója. |
ParentSubscriptionId | sztring | Y | A bővítményajánlattal rendelkező szülő-előfizetés azonosítója. |
FriendlyName | sztring | N | A sorelem rövid neve. |
Mennyiség | szám | Y | A licencek száma. |
PartnerIdOnRecord | sztring | N | A rekordpartner partnerazonosítója. |
Attribútumok | object | N | Az "ObjectType": "OrderLineItem" értéket tartalmazza. |
Példa kérésre
PATCH https://api.partnercenter.microsoft.com/v1/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/orders/CF3B0E37-BE0B-4CDD-B584-D1A97D98A922 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 17a2658e-d2cc-439b-a2f0-2aefd9344fbc
MS-CorrelationId: 60efdd24-17ef-4080-9b02-4fc315f916ff
X-Locale: en-US
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 414
Expect: 100-continue
{
"Id": null,
"ReferenceCustomerId": "4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04",
"LineItems": [{
"LineItemNumber": 0,
"OfferId": "2828BE95-46BA-4F91-B2FD-0BEF192ECF60",
"SubscriptionId": null,
"ParentSubscriptionId": "1C2B75C1-74A5-472A-A729-7F8CEFC477F9",
"FriendlyName": "Some friendly name",
"Quantity": 2,
"PartnerIdOnRecord": null,
"Attributes": {
"ObjectType": "OrderLineItem"
}
}
],
"CreationDate": null,
"Attributes": {
"ObjectType": "Order"
}
}
REST-válasz
Ha sikeres, ez a metódus visszaadja a frissített előfizetési sorrendet a válasz törzsében.
Sikeres válasz és hibakódok
Minden válaszhoz tartozik egy HTTP-állapotkód, amely jelzi a sikert vagy a hibát, valamint további hibakeresési információkat. Használja a hálózati nyomkövetési eszközt a kód, a hibatípus és a további paraméterek olvasásához. A teljes listát a Partnerközpont hibakódjai című témakörben találja.
Példa válaszra
HTTP/1.1 200 OK
Content-Length: 1135
Content-Type: application/json; charset=utf-8
MS-CorrelationId: 60efdd24-17ef-4080-9b02-4fc315f916ff
MS-RequestId: 17a2658e-d2cc-439b-a2f0-2aefd9344fbc
MS-CV: WtFy3zI8V0u2lnT9.0
MS-ServerId: 020021921
Date: Wed, 25 Jan 2017 23:01:08 GMT
{
"id": "cf3b0e37-be0b-4cdd-b584-d1a97d98a922",
"referenceCustomerId": "4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04",
"billingCycle": "none",
"lineItems": [{
"lineItemNumber": 0,
"offerId": "195416C1-3447-423A-B37B-EE59A99A19C4",
"subscriptionId": "1C2B75C1-74A5-472A-A729-7F8CEFC477F9",
"friendlyName": "new offer purchase",
"quantity": 5,
"links": {
"subscription": {
"uri": "/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/subscriptions/1C2B75C1-74A5-472A-A729-7F8CEFC477F9",
"method": "GET",
"headers": []
}
}
}, {
"lineItemNumber": 1,
"offerId": "2828BE95-46BA-4F91-B2FD-0BEF192ECF60",
"subscriptionId": "968BA1CF-C146-4ADF-A300-308DCF718EEE",
"friendlyName": "Some friendly name",
"quantity": 2,
"links": {
"subscription": {
"uri": "/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/subscriptions/968BA1CF-C146-4ADF-A300-308DCF718EEE",
"method": "GET",
"headers": []
}
}
}
],
"creationDate": "2017-01-25T14:53:12.093-08:00",
"links": {
"self": {
"uri": "/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/orders/cf3b0e37-be0b-4cdd-b584-d1a97d98a922",
"method": "GET",
"headers": []
}
},
"attributes": {
"etag": "eyJpZCI6ImNmM2IwZTM3LWJlMGItNGNkZC1iNTg0LWQxYTk3ZDk4YTkyMiIsInZlcnNpb24iOjJ9",
"objectType": "Order"
}
}
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: