Ügyfél rendelésének létrehozása Partnerközpont API-k használatával
A következővonatkozik: Partnerközpont | A 21Vianet által üzemeltetett Partnerközpont | Partnerközpont az amerikai kormányzat Microsoft Cloud szolgáltatása számára
A fenntartott Azure-beli virtuálisgép-példányok termékeihez rendelés létrehozása csak vonatkozik:
- Partnerközpont
A jelenleg értékesíthető dolgokról további információt a Partnerajánlatok a Felhőszolgáltató programbantalálhat.
Előfeltételek
Hitelesítő adatok, amint a Partnerközpont hitelesítési leírásában szerepel . Ez a forgatókönyv támogatja az önálló alkalmazással és az App+Felhasználói hitelesítő adatokkal való hitelesítést is.
Ügyfélazonosító (
customer-tenant-id
). Ha nem ismeri az ügyfélazonosítót, megkeresheti a Partnerközpontban a Ügyfelek munkaterület kiválasztásával, majd az ügyfél kiválasztásával az ügyféllistából, végül a Fiók. Az ügyfél Fiók lapján keresse meg a Microsoft-azonosító az Ügyfélfiók adatai szakaszban. A Microsoft-azonosító megegyezik az ügyfél-azonosítóval (customer-tenant-id
).Ajánlatazonosító.
C#
Rendelés létrehozása egy ügyfél számára:
Példányosítson egy Order objektumot, és állítsa be a ReferenceCustomerID tulajdonságot az ügyfélazonosítóra az ügyfél rögzítéséhez.
Hozzon létre egy listát OrderLineItem objektumokról, és rendelje hozzá a listát a rendelés LineItems tulajdonságához. Minden rendeléssorelem egy ajánlat beszerzési adatait tartalmazza. Legalább egy rendelési tétel szükséges.
Szerezzen be egy felületet a műveletek elvégzéséhez. Először hívja meg az IAggregatePartner.Customers.ById metódust az ügyfélazonosítóval az ügyfél azonosításához. Ezután kérje le a felületet az Orders tulajdonságból.
Hívja meg a Create vagy CreateAsync metódust, és adja meg a Order objektumot.
Az igazolás befejezéséhez és további viszonteladók hozzáadásához tekintse meg a következő mintakérési és válaszmintákat:
Példa kérése
{
"PartnerOnRecordAttestationAccepted":true,
"lineItems": [
{
"offerId": "CFQ7TTC0LH0Z:0001:CFQ7TTC0K18P",
"quantity": 1,
"lineItemNumber": 0,
"PartnerIdOnRecord": "873452",
"AdditionalPartnerIdsOnRecord":["4847383","873452"]
}
],
"billingCycle": "monthly"
}
Példa válaszra
{
"id": "5cf72f146967",
"alternateId": "5cf72f146967",
"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,
"partnerIdOnRecord": "873452",
"additionalPartnerIdsOnRecord": [
"4847383",
"873452"
],
"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": []
}
}
}
],
"creationDate": "2021-08-17T18:13:11.3122226Z",
"status": "pending",
"transactionType": "UserPurchase",
"links": {
"self": {
"uri": "/customers/f81d98dd-c2f4-499e-a194-5619e260344e/orders/5cf72f146967",
"method": "GET",
"headers": []
},
"provisioningStatus": {
"uri": "/customers/f81d98dd-c2f4-499e-a194-5619e260344e/orders/5cf72f146967/provisioningstatus",
"method": "GET",
"headers": []
},
"patchOperation": {
"uri": "/customers/f81d98dd-c2f4-499e-a194-5619e260344e/orders/5cf72f146967",
"method": "PATCH",
"headers": []
}
},
"client": {},
"attributes": {
"objectType": "Order"
}
}
IAggregatePartner partnerOperations;
string customerId;
string offerId;
var order = new Order()
{
ReferenceCustomerId = customerId,
LineItems = new List<OrderLineItem>()
{
new OrderLineItem()
{
OfferId = offerId,
FriendlyName = "new offer purchase",
Quantity = 1,
ProvisioningContext = new Dictionary<string, string>
{
{ "subscriptionId", "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f" },
{ "scope", "shared" },
{ "duration", "3Years" }
}
}
}
};
var createdOrder = partnerOperations.Customers.ById(customerId).Orders.Create(order);
minta: konzolteszt alkalmazás. Projekt: Partnerközpont SDK-minták osztály: CreateOrder.cs
REST-kérés
Kérés szintaxisa
Módszer | URI kérése |
---|---|
POSZT | {baseURL}/v1/customers/{customer-id}/orders HTTP/1.1 |
URI-paraméterek
Az ügyfél azonosításához használja az alábbi elérési út paramétert.
Név | Típus | Szükséges | Leírás |
---|---|---|---|
ügyfél-azonosító | húr | Igen | Guid formátumú ügyfél-azonosító, amely azonosítja az ügyfelet. |
Kérelemfejlécek
További információ: Partnerközpont REST-fejlécei.
Kérési törzs
Megrendelés
Ez a táblázat a kérelemtörzsben található Rendelés tulajdonságait ismerteti.
Ingatlan | Típus | Szükséges | Leírás |
---|---|---|---|
azonosító | húr | Nem | A megrendelés sikeres létrehozásakor megadott rendelésazonosító. |
referenciaVásárlóiAzonosító | húr | Nem | Az ügyfél azonosítója. |
számlázási ciklus | húr | Nem | Annak gyakoriságát jelzi, amellyel a partnert kiszámlázzuk ennél a megrendelésnél. A támogatott értékek azok a tagnevek, amelyek megtalálhatók a BillingCycleType-ben. Az alapértelmezett érték a "Havi" vagy az "Egyszeri" a rendelés létrehozásakor. Ez a mező a rendelés sikeres létrehozásakor lesz alkalmazva. |
lineItems | OrderLineItem-erőforrások tömbje | Igen | Az ügyfél által vásárolt ajánlatok tételes listája, beleértve a mennyiséget is. |
valutakód | húr | Nem | Írásvédett. A rendelés leadásakor használt pénznem. A rendelés sikeres létrehozásakor alkalmazva. |
létrehozásDátuma | dátumidő | Nem | Írásvédett. A rendelés létrehozásának dátuma dátum-idő formátumban. A rendelés sikeres létrehozásakor alkalmazva. |
állapot | húr | Nem | Írásvédett. A rendelés állapota. A támogatott értékek az OrderStatus-ben található tagnevek. |
Linkek | OrderLinks | Nem | A Rendelésnek megfelelő erőforrás-linkek. |
Attribútumok | ErőforrásAttribútumok | Nem | A Rendelésnek megfelelő metaadat-attribútumok. |
Nyilvántartott Partner Igazolás Elfogadva | Boole-forma | Igen | Igazolja az igazolás befejezését |
Rendelési Tétel
Ez a táblázat a kérelemtörzs OrderLineItem tulajdonságait ismerteti.
Jegyzet
A partnerIdOnRecord csak akkor adható meg, ha egy közvetett szolgáltató megrendelést ad le egy közvetett viszonteladó nevében. Csak a közvetett viszonteladó partnerazonosítójának tárolására szolgál (a közvetett szolgáltató azonosítója soha nem).
Név | Típus | Szükséges | Leírás |
---|---|---|---|
tételszám | Int | Igen | A gyűjtemény minden soreleme egyedi sorszámot kap, amely 0-tól 1-ig számol. |
ajánlatAzonosító | húr | Igen | Az ajánlat azonosítója. Győződjön meg arról, hogy az ajánlat a megfelelő szegmenshez tartozik. |
előfizetésAzonosító (subscriptionId) | húr | Nem | Az előfizetés azonosítója. |
szülő előfizetésazonosító | zsinór | Nem | Szabadon választható. A szülő-előfizetés azonosítója egy bővítményajánlatban. Csak a PATCH-ekre vonatkozik. |
barátságosNév | zsinór | Nem | Szabadon választható. A partner által a egyértelműség érdekében definiált előfizetés rövid neve. |
mennyiség | Int | Igen | Licencalapú előfizetés licenceinek száma. |
egyediFutamidőLejáratiDátum | DátumIdő | Nem | Az új előfizetés első számlázási időszakának záró dátuma. |
partnerIdOnRecord | zsinór | Nem | Amikor egy közvetett szolgáltató megrendelést ad egy közvetett viszonteladó nevében, ezt a mezőt kizárólag a közvetett viszonteladó PartnerID-jával töltse ki ( soha nem a közvetett szolgáltató azonosítójával). Ez biztosítja az ösztönzők megfelelő nyilvántartását. |
felügyeleti környezet | Szótár<karakterlánc, karakterlánc> | Nem | A katalógus egyes elemeihez szükséges információk előállítása. A termékváltozatban található ProvisioningVariables tulajdonság azt jelzi, hogy mely tulajdonságok szükségesek a katalógus egyes elemeihez. |
Linkek | Megrendelési Tétel Kapcsolatok | Nem | Írásvédett. A rendelési tételhez tartozó erőforráshivatkozások. |
Attribútumok | ResourceAttributes | Nem | Az OrderLineItemnek megfelelő metaadat-attribútumok. |
renewsTo | Objektumok tömbje | Nem | RenewsTo-erőforrások tömbje. |
Igazolás Elfogadva | Bool | Nem | Az ajánlatra vagy termékváltozatra vonatkozó feltételeket jelzi. Csak azokra az ajánlatokra vagy termékváltozatokra szükséges, amelyekben a SkuAttestationProperties vagy az OfferAttestationProperties enforceAttestation igaz. |
TovábbiPartnerAzonosítókAlapján | Húr | Nem | Ha egy közvetett szolgáltató megrendelést ad egy közvetett viszonteladó nevében, töltse ki ezt a mezőt a További közvetett viszonteladó partnerazonosítójával csak (a közvetett szolgáltató azonosítója soha nem). Ezekre a további viszonteladókra nem vonatkoznak ösztönzők. Legfeljebb 5 közvetett viszonteladó adható meg. Ez csak azokat a partnereket érinti, akik tranzakciókat bonyolítanak az EU/EFTA országokban/régiókban. |
RenewsTo
Ez a táblázat a kérési törzs RenewsTo tulajdonságait írja le.
Ingatlan | Típus | Szükséges | Leírás |
---|---|---|---|
időtartam | húr | Nem | A megújítási időszak időtartamának ISO 8601-es ábrázolása. Az aktuális támogatott értékek P1M (1 hónap) és P1Y (1 év). |
Példa kérése
POST https://api.partnercenter.microsoft.com/v1/customers/b0d70a69-4c42-4b27-b17b-91a835d8686a/orders HTTP/1.1
Authorization: Bearer <token>
Host: api.partnercenter.microsoft.com
Content-Length: 691
Content-Type: application/json
{
"BillingCycle": "one_time",
"CurrencyCode": "USD",
"LineItems": [
{
"LineItemNumber": 0,
"ProvisioningContext": {
"subscriptionId": "cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
"scope": "shared",
"duration": "1Year"
},
"OfferId": "DZH318Z0BQ4B:0047:DZH318Z0DSM8",
"FriendlyName": "A_sample_Azure_RI",
"Quantity": 1
}
]
}
REST-válasz
Ha sikeres, a metódus egy Order erőforrást ad vissza a válasz törzsében.
Ha a rendelés egy vagy több előfizetést tartalmaz, a megfelelő előfizetés-azonosító értékek csak akkor jelennek meg a REST-válaszban, ha a megfelelő előfizetések ki lettek építve az API-hívás időpontjában. Az előfizetések kiépítése aszinkron módon történik, ezért előfordulhat, hogy az előfizetés-azonosító értékek nem mindig jelennek meg a Rendelés létrehozása hívás REST-válaszában. A megfelelő előfizetések kiépítése után azonban az előfizetés-azonosítójuk értékei a Rendelések lekérése és a Rendelés lekérése AZONOSÍTÓ API-hívások segítségével érhetők el.
Válasz sikeresség é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. A kód, a hibatípus és a további paraméterek olvasásához használjon hálózati nyomkövetési eszközt. A teljes listáért lásd a Partnerközpont hibakódjai.
Példa válaszra
HTTP/1.1 201 Created
Content-Length: 788
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 025f4c19-217f-49d6-a056-391902c62fb3
Date: Thu, 15 Mar 2018 22:30:02 GMT
{
"id": "Cs_jyTxubLpvdJXdo8xcQZN6I2RsLrgZ1",
"referenceCustomerId": "b0d70a69-4c42-4b27-b17b-91a835d8686a",
"billingCycle": "one_time",
"currencyCode": "USD",
"lineItems": [
{
"lineItemNumber": 0,
"offerId": "84A03D81-6B37-4D66-8D4A-FAEA24541538",
"friendlyName": "A_sample_Azure_RI",
"quantity": 1,
"links": {
"sku": {
"uri": "/products/DZH318Z0BQ4B/skus/0047?country=US",
"method": "GET",
"headers": []
}
}
} ],
"creationDate": "2018-03-15T22:30:02.085152Z",
"status": "pending",
"links": {
"provisioningStatus": {
"uri": "/customers/b0d70a69-4c42-4b27-b17b-91a835d8686a/orders/Cs_jyTxubLpvdJXdo8xcQZN6I2RsLrgZ1/provisioningstatus",
"method": "GET",
"headers": []
},
"self": {
"uri": "/customers/b0d70a69-4c42-4b27-b17b-91a835d8686a/orders/Cs_jyTxubLpvdJXdo8xcQZN6I2RsLrgZ1",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Order"
}
}