Megosztás a következőn keresztül:


Ü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:

  1. 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.

  2. 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.

  3. 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.

  4. Hívja meg a Create vagy CreateAsync metódust, és adja meg a Order objektumot.

  5. 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"
    }
}