Kosár létrehozása vevői megrendeléssel

A következőre vonatkozik: Partnerközpont | A 21Vianet által üzemeltetett Partnerközpont | Partnerközpont a Microsoft Cloud for US Government számára

Egy ügyfél megrendelését kosárba helyezheti. A jelenleg elérhető értékesítésről további információt a Felhőszolgáltató programban található Partnerajánlatok című témakörben talál.

Feljegyzés

A kocsik a kezdeti létrehozástól számított 7 napon belül lejárnak.

Előfeltételek

  • Hitelesítő adatok a Partnerközpont hitelesítésében leírtak szerint. 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él azonosítóját, megkeresheti a Partnerközpontban az Ügyfelek munkaterület kiválasztásával, majd az ügyféllistából, majd a Fiók listában. 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).

C#

Rendelés létrehozása egy ügyfél számára:

  1. Cart objektum példányosítása.

  2. Hozzon létre egy CartLineItem objektumlistát, és rendelje hozzá a listát a kosár LineItems tulajdonságához. Minden egyes kosársorelem egy termék vásárlási adatait tartalmazza. Legalább egy kosársorelemnek rendelkeznie kell.

  3. Szerezze be a kosárműveletek felületét az IAggregatePartner.Customers.ById metódus meghívásával az ügyfélazonosítóval az ügyfél azonosításához, majd az interfész lekéréséhez a Cart tulajdonságból.

  4. A kosár létrehozásához hívja meg a Create vagy a CreateAsync metódust.

  5. Az igazolás befejezéséhez és más viszonteladókhoz való hozzáadásához tekintse meg a következő mintakérési és válaszmintákat:

Minta kérése


{
    "PartnerOnRecordAttestationAccepted":true,     "lineItems": [
        {
            "id": 0,
            "catalogItemId": "CFQ7TTC0LH0Z:0001:CFQ7TTC0K18P",
            "quantity": 1,
            "billingCycle": "monthly",
            "termDuration": "P1M",
            "renewsTo": null,
            "provisioningContext": {},
            "customTermEndDate": "2022-02-19T00:00:00Z"
        },
        {
            "id": 1,
            "catalogItemId": "CFQ7TTC0LFLS:0002:CFQ7TTC0KDLJ",
            "quantity": 2,
            "billingCycle": "monthly",
            "termDuration": "P1Y",
            "participants": [
                {
                    "key": "transaction_reseller",
                    "value": "5357564"
                },
                 {
                    "key": "additional_transaction_reseller",                     
                    "value": "517285"
                },
                 {
                    "key": "additional_transaction_reseller", 
                    "value": "5357563"
                }
            ]
        }
    ]
}


Válaszminta


{
    "id": "3e22b548-647d-4223-9675-1fcb6cb57665",
    "creationTimestamp": "2021-08-18T17:29:52.3517492Z",
    "lastModifiedTimestamp": "2021-08-18T17:29:52.3517553Z",
    "expirationTimestamp": "2021-08-25T17:30:11.2406416Z",
    "lastModifiedUser": "da62a0dc-35e9-4601-b48e-a047bd3ec7c1",
    "status": "Active",
    "lineItems": [
        {
            "id": 0,
            "catalogItemId": "CFQ7TTC0LH0Z:0001:CFQ7TTC0K18P",
            "quantity": 1,
            "currencyCode": "USD",
            "billingCycle": "monthly",
            "termDuration": "P1M",
	    "customTermEndDate": "2022-02-19T00:00:00Z";
            "provisioningContext": {},
            "orderGroup": "0"
        },
        {
            "id": 1,
            "catalogItemId": "CFQ7TTC0LFLS:0002:CFQ7TTC0KDLJ",
            "quantity": 2,
            "currencyCode": "USD",
            "billingCycle": "monthly",
            "termDuration": "P1Y",
            "participants": [
                {
                    "key": "transaction_reseller",
                    "value": "5357564"
                },
                {
                    "key": "additional_transaction_reseller", 
                    "value": "517285"
                },
                {
                    "key": "additional_transaction_reseller", 
                    "value": "5357563"
                }
            ],
            "provisioningContext": {},
            "orderGroup": "0"
        }
    ],
    "links": {
        "self": {
            "uri": "/customers/f81d98dd-c2f4-499e-a194-5619e260344e/carts/3e22b548-647d-4223-9675-1fcb6cb57665",
            "method": "GET",
            "headers": []
        }
    },
    "attributes": {
        "objectType": "Cart"
    }
}


C# példa

// IAggregatePartner partnerOperations;
// string customerId;
// string subscriptionId;

var cart = new Cart()
{
    LineItems = new List<CartLineItem>()
    {
        new CartLineItem()
        {
      /* Microsoft Azure Subscription */
            Id = 0,
            CatalogItemId = "MS-AZR-0145P",
            Quantity = 1,
            BillingCycle = BillingCycleType.Monthly,
            TermDuration = "P1Y"
        },
        new CartLineItem()
        {
      /* Azure Reserved Instance */
            Id = 1,
            CatalogItemId = "DZH318Z0BQ36:004G:DZH318Z08C0S",
            Quantity = 1,
            BillingCycle = BillingCycleType.OneTime,
            TermDuration = "P1Y",
            ProvisioningContext = new Dictionary<string, string>
            {
                { "subscriptionId", subscriptionId },
                { "scope", "shared" }
            }
        },
        new CartLineItem()
        {
      /* Azure Reserved Instance */
            Id = 2,
            CatalogItemId = "DZH318Z0BQ36:004J:DZH318Z08B8X",
            Quantity = 1,
            BillingCycle = BillingCycleType.OneTime,
            TermDuration = "P3Y",
            ProvisioningContext = new Dictionary<string, string>
            {
                { "subscriptionId", subscriptionId },
                { "scope", "shared" }
            }
        },
        new CartLineItem()
        {
      /* Perpetual Software */
            Id = 3,
            CatalogItemId = "DG7GMGF0DWM3:0002:DG7GMGF0DT1M",
            Quantity = 1,
            BillingCycle = BillingCycleType.OneTime
        },
        new CartLineItem()
        {
      /* SaaS */
            Id = 4,
            CatalogItemId = "DZH318Z0BXWC:0002:DZH318Z0BMRV",
            Quantity = 1,
            BillingCycle = BillingCycleType.Monthly,
            TermDuration = "P1M"
        },
        new CartLineItem()
        {
      /* SaaS Free Trial */
            Id = 5,
            CatalogItemId = "DZH318Z0C0WF:0001:DZH318Z0BP69",
            Quantity = 10,
            BillingCycle = BillingCycleType.None,
            TermDuration = "P1M",
            RenewsTo = new RenewsTo
            {
                TermDuration = "P1Y"
            }
        }
    }
};

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

Java

A Partnerközpont Java SDK-val kezelheti a Partnerközpont erőforrásait. Ez egy nyílt forráskódú projekt, amelyet a partnerközösség tart fenn, és amelyet a Microsoft hivatalosan nem támogat. Ha problémát tapasztal, segítséget kérhet a közösségtől, vagy problémákat nyithat meg a GitHubon.

Rendelés létrehozása egy ügyfél számára:

  1. Cart objektum példányosítása.

  2. Hozzon létre egy CartLineItem objektumlistát, és rendelje hozzá a listát a kosár sorelemeihez. Minden egyes kosársorelem egy termék vásárlási adatait tartalmazza. Legalább egy kosársorelemnek rendelkeznie kell.

  3. Az IAggregatePartner.getCustomers().byId függvény és az ügyfélazonosító meghívásával szerezze be a kosárműveletek felületét az ügyfél azonosításához, majd kérje le a felületet a getCart függvényből.

  4. A kosár létrehozásához hívja meg a create függvényt.

Java-példa

// IAggregatePartner partnerOperations;
// String customerId;
// String subscriptionId;
// String catalogItemId;

CartLineItem lineItem = new CartLineItem();

lineItem.setBillingCycle(BillingCycleType.OneTime);
lineItem.setCatalogItemId(catalogItemId);
lineItem.setFriendlyName("Sample RI Purchase");
lineItem.setQuantity(1);

Map<String, String> provisioningContext = new HashMap<String,String>();

provisioningContext.put("duration", "3Years");
provisioningContext.put("scope", "shared");
provisioningContext.put("subscriptionId", subscriptionId);

lineItem.setProvisioningContext(provisioningContext);

List<CartLineItem> lineItemList = new ArrayList<CartLineItem>();
lineItemList.add(lineItem);

Cart cart = new Cart();
cart.setLineItems(lineItemList);

Cart cartCreated = partnerOperations.getCustomers().byId(customerId).getCarts().create(cart);

PowerShell

A Partnerközpont PowerShell-modulja a Partnerközpont erőforrásainak kezelésére használható. Ez egy nyílt forráskódú projekt, amelyet a partnerközösség tart fenn, és amelyet a Microsoft hivatalosan nem támogat. Ha problémát tapasztal, segítséget kérhet a közösségtől, vagy problémákat nyithat meg a GitHubon.

Rendelés létrehozása egy ügyfél számára:

  1. Cart objektum példányosítása.

  2. Hozzon létre egy CartLineItem objektumlistát, és rendelje hozzá a listát a kosár sorelemeihez. Minden egyes kosársorelem egy termék vásárlási adatait tartalmazza. Legalább egy kosársorelemnek rendelkeznie kell.

  3. Hajtsa végre a New-PartnerCustomerCart parancsot a kosár létrehozásához.

# $customerId
# $subscriptionId
# $catalogItemId

$lineItem = New-Object -TypeName Microsoft.Store.PartnerCenter.PowerShell.Models.Carts.PSCartLineItem

$lineItem.BillingCycle = 'OneTime'
$lineItem.CatalogItemId = $catalogItemId
$lineItem.FriendlyName = 'Sample RI Purchase'
$lineItem.ProvisioningContext.Add('duration', '1Year')
$lineItem.ProvisioningContext.Add('scope', 'shared')
$lineItem.ProvisioningContext.Add('subscriptionId', $subsciptionId)
$lineItem.Quantity = 10

New-PartnerCustomerCart -CustomerId $customerId -LineItems $lineItem

REST-kérés

Kérés szintaxisa

Metódus Kérés URI-ja
POST {baseURL}/v1/customers/{customer-id}/carts HTTP/1.1

URI-paraméter

Az ügyfél azonosításához használja az alábbi elérési út paramétert.

Név Típus Kötelező Leírás
ügyfél-azonosító sztring Igen Guid formátumú ügyfél-azonosító, amely azonosítja az ügyfelet.

Kérésfejlécek

További információ: Partnerközpont – REST fejlécek.

Kérés törzse

Ez a táblázat a kérelem törzsében található Kosár tulajdonságokat ismerteti.

Tulajdonság Típus Kötelező Leírás
id húr Nem A kosár sikeres létrehozásakor megadott kosárazonosító.
creationTimeStamp Dátum/idő Nem A kosár létrehozásának dátuma dátum-idő formátumban. Alkalmazva a kosár sikeres létrehozásakor.
lastModifiedTimeStamp Dátum/idő Nem A kosár utolsó frissítésének dátuma dátum-idő formátumban. Alkalmazva a kosár sikeres létrehozásakor.
expirationTimeStamp Dátum/idő Nem A kosár lejáratának dátuma dátum-idő formátumban. Alkalmazva a kosár sikeres létrehozásakor.
lastModifiedUser húr Nem A felhasználó, aki legutóbb frissítette a kosárt. Alkalmazva a kosár sikeres létrehozásakor.
lineItems Objektumok tömbje Igen CartLineItem-erőforrások tömbje.
PartnerOnRecordAttestationAccepted Logikai Igen Igazolja az igazolás befejezését

Ez a táblázat a kérelem törzsében található CartLineItem tulajdonságokat ismerteti.

Tulajdonság Típus Kötelező Leírás
id húr Nem Egy kosársorelem egyedi azonosítója. Alkalmazva a kosár sikeres létrehozásakor.
catalogId sztring Igen A katalóguselem azonosítója. Győződjön meg arról, hogy a katalóguselem rendelkezésre állása a megfelelő szegmenshez tartozik.
friendlyName húr Nem Opcionális. A partner által definiált elem rövid neve, amely segít a egyértelműségben.
promotionId húr Nem Opcionális. A legtöbb NCE-előléptetés automatikusan érvényes lesz, de ha az opcionális promóciók (például a Bridge to the Cloud 2) egy kosársorra vonatkoznak, a partnereknek tartalmazniuk kell az előléptetés azonosítóját a kosárhoz való hozzáadási kérelemben.
mennyiség egész Igen A licencek vagy példányok száma.
currencyCode húr Nem A pénznem kódja.
billingCycle Objektum Igen Az aktuális időszakhoz beállított számlázási ciklus típusa.
customTermEndDate Dátum/idő Nem Annak a meglévő előfizetésnek a záró dátuma, amelyhez az új előfizetést össze szeretné fűzni.
Résztvevők Objektumsztring-párok listája Nem PartnerId rekordon (PartnerID) gyűjteménye a vásárlás során.
provisioningContext Szótári sztring<, sztring> Nem A katalógus egyes elemeinek kiépítéséhez szükséges információk. A termékváltozatban található ProvisioningVariables tulajdonság azt jelzi, hogy mely tulajdonságok szükségesek a katalógus egyes elemeihez.
orderGroup húr Nem Egy csoport, amely jelzi, hogy mely elemek helyezhetők el együtt.
error Objektum Nem A kosár létrehozása után alkalmazva, ha hiba történt.
renewsTo Objektumok tömbje Nem A RenewsTo-erőforrások tömbje.
IgazolásAccepted Logikai Nem Az ajánlatra vagy termékváltozatra vonatkozó feltételeket jelzi. Csak olyan ajánlatokhoz vagy termékváltozatokhoz szükséges, ahol a SkuAttestationProperties vagy az OfferAttestationProperties enforceAttestation igaz.
transaction_reseller Sztring Nem Ha egy közvetett szolgáltató megrendelést ad egy közvetett viszonteladó nevében, ezt a mezőt csak a közvetett viszonteladó PartnerID azonosítójával töltse fel (a közvetett szolgáltató azonosítója soha nem). Ez biztosítja az ösztönzők megfelelő nyilvántartását.
additional_transaction_reseller Sztring Nem Ha egy közvetett szolgáltató megrendelést ad egy közvetett viszonteladó nevében, töltse ki ezt a mezőt csak a További közvetett viszonteladó partnerazonosítójával (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 az EU-n/EFTA-országokon/régiókon belül működő alkalmazandó partnerek.

Ez a táblázat a kérelem törzsében található RenewsTo tulajdonságokat ismerteti.

Tulajdonság Típus Kötelező Leírás
termDuration 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 a P1M (1 hónap) és a P1Y (1 év).

Példa kérése

POST /v1/customers/d6bf25b7-e0a8-4f2d-a31b-97b55cfc774d/carts HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 4fa6dad6-a89f-4875-8247-8294a10ae1cf
MS-CorrelationId: 0e93c70c-977a-4a88-9580-7cf084c73286
X-Locale: en-US
MS-PartnerCenter-Client: Partner Center .NET SDK
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 496
Expect: 100-continue

{
  "lineItems": [
    {
    /* Microsoft Azure Subscription */
      "id": 0,
      "catalogItemId": "MS-AZR-0145P",
      "quantity": 1,
      "billingCycle": "monthly",
      "termDuration": "P1Y"
    },
    {
    /* Azure Reserved Instance */
      "id": 1,
      "catalogItemId": "DZH318Z0BQ36:004G:DZH318Z08C0S",
      "quantity": 1,
      "billingCycle": "one_time",
      "termDuration": "P1Y",
      "provisioningContext": {
        "subscriptionId": "1C461A25-F729-4FA5-AADB-280947DD05E8",
        "scope": "shared"
      }
    },
    {
    /* Azure Reserved Instance */
      "id": 2,
      "catalogItemId": "DZH318Z0BQ36:004J:DZH318Z08B8X",
      "quantity": 1,
      "billingCycle": "one_time",
      "termDuration": "P3Y",
      "provisioningContext": {
        "subscriptionId": "1C461A25-F729-4FA5-AADB-280947DD05E8",
        "scope": "single"
      }
    },
    {
    /* Perpetual Software */
      "id": 3,
      "catalogItemId": "DG7GMGF0DWTL:0001:DG7GMGF0DSFM",
      "quantity": 1,
      "billingCycle": "one_time"
    },
    {
    /* SaaS */
      "id": 4,
      "catalogItemId": "DZH318Z0BXWC:0002:DZH318Z0BMRV",
      "quantity": 1,
      "billingCycle": "monthly",
      "termDuration": "P1M"
    },
  {
    /* SaaS Free Trial */
       "id": 5,
       "catalogItemId": "DZH318Z0C0WF:0001:DZH318Z0BP69",
       "quantity": 10,
       "billingCycle": "none",
       "termDuration": "P1M",
       "renewsTo": {
         "termDuration": "P1Y"
       }
    }
  ]
}

Fontos

2023 júniusától a partnerközpont .NET SDK legújabb, 3.4.0-s kiadását archiváljuk. Az SDK-kiadást letöltheti a GitHubról, valamint egy hasznos információkat tartalmazó olvasófájlt.

A partnereket arra ösztönzik, hogy továbbra is használják a Partnerközpont REST API-jait.

REST-válasz

Ha sikeres, ez a metódus a válasz törzsében lévő feltöltött Kosár erőforrást adja vissza.

Válasz sikeresség és hibakódok

Minden válaszhoz tartozik egy HTTP-állapotkód, amely jelzi a sikert vagy a hibát és a hibakeresési információkat. A kód, hibatípus és egyéb paraméterek olvasásához használjon hálózati nyomkövetési eszközt. A teljes listát a Hibakódok című témakörben találja.

Példa válaszra

HTTP/1.1 201 Created
Content-Length: 764
Content-Type: application/json; charset=utf-8
MS-CorrelationId: 0e93c70c-977a-4a88-9580-7cf084c73286
MS-RequestId: 4fa6dad6-a89f-4875-8247-8294a10ae1cf
X-Locale: en-US,en-US
MS-CV: sF/wRa2ih0CzbABc.0
MS-ServerId: 000001
Date: Thu, 15 Mar 2018 17:15:01 GMT
{
  "id": "3655b1a0-b1c9-4268-9824-577fdbc4d0be",
  "creationTimestamp": "2019-01-16T00:45:41.6062996Z",
  "lastModifiedTimestamp": "2019-01-16T00:45:41.6062996Z",
  "expirationTimestamp": "2019-01-16T01:00:54.4188497Z",
  "lastModifiedUser": "1824b7fc-2fac-4478-b177-66823c40ab75",
  "status": "Active",
  "lineItems": [
    {
      "id": 0,
      "catalogItemId": "MS-AZR-0145P",
      "quantity": 1,
      "currencyCode": "USD",
      "billingCycle": "monthly",
      "termDuration": "P1Y",
      "orderGroup": "OMS-0"
    },
    {
      "id": 1,
      "catalogItemId": "DZH318Z0BQ36:004G:DZH318Z08C0S",
      "quantity": 1,
      "currencyCode": "USD",
      "billingCycle": "one_time",
      "termDuration": "P1Y",
      "provisioningContext": {
        "subscriptionId": "1C461A25-F729-4FA5-AADB-280947DD05E8",
        "scope": "shared"
      },
      "orderGroup": "0"
    },
    {
      "id": 2,
      "catalogItemId": "DZH318Z0BQ36:004J:DZH318Z08B8X",
      "quantity": 1,
      "currencyCode": "USD",
      "billingCycle": "one_time",
      "termDuration": "P3Y",
      "provisioningContext": {
        "subscriptionId": "1C461A25-F729-4FA5-AADB-280947DD05E8",
        "scope": "shared"
      },
      "orderGroup": "0"
    },
    {
      "id": 3,
      "catalogItemId": "DG7GMGF0DWM3:0002:DG7GMGF0DT1M",
      "quantity": 1,
      "currencyCode": "USD",
      "billingCycle": "one_time",
      "orderGroup": "0"
    },
    {
      "id": 4,
      "catalogItemId": "DZH318Z0BXWC:0002:DZH318Z0BMRV",
      "quantity": 1,
      "currencyCode": "USD",
      "billingCycle": "monthly",
      "termDuration": "P1M",
      "orderGroup": "1"
    },
  {
      "id": 5,
      "catalogItemId": "DZH318Z0C0WF:0001:DZH318Z0BP69",
      "quantity": 10,
      "currencyCode": "USD",
      "billingCycle": "none",
      "termDuration": "P1M",
      "renewsTo": {
  "termDuration": "P1Y"
      },
    "orderGroup": "2"
    }
  ],
  "links": {
    "self": {
      "uri": "/customers/28045616-f6b9-462f-9701-0d89b5e65c44/carts/3655b1a0-b1c9-4268-9824-577fdbc4d0be",
      "method": "GET",
      "headers": []
    }
  },
  "attributes": {
    "objectType": "Cart"
  }
}

Példa új kereskedelmi licencalapú szolgáltatásokra

Feljegyzés

A licencalapú szolgáltatások új kereskedelmi szolgáltatásai számos új képességet tartalmaznak, és minden Felhőszolgáltató (CSP) számára elérhetők. További információkért tekintse meg az új kereskedelmi szolgáltatások áttekintését.

Példa kérése

POST /v1/customers/932c4101-dc08-461b-b4c1-75d80e905775/carts HTTP/1.1
Host: api.partnercenter.microsoft.com
Content-Type: application/json
Content-Length: 165

{
	"LineItems": [
		{
			"CatalogItemId":"CFQ7TTC0LFLZ:0002:CFQ7TTC0K4TS",
			"Quantity": 1,
			"TermDuration": "P1M",
			"BillingCycle": "Monthly"
		}
	]
}

Fontos

Az Azure-terv és az állandó szoftversorelemek nem támogatják a termDuration tulajdonságot. Ne foglalja bele ezt az ilyen típusú elemekbe.

REST-válasz

Ha sikeres, ez a metódus a válasz törzsében lévő feltöltött Kosár erőforrást adja vissza.

Válasz sikeresség és hibakódok

Minden válaszhoz tartozik egy HTTP-állapotkód, amely jelzi a sikert vagy a hibát, valamint egyéb hibakeresési információkat. A kód, hibatípus és egyéb paraméterek olvasásához használjon hálózati nyomkövetési eszközt. A teljes listát a Hibakódok című témakörben találja.

Példa válaszra


{
    "id": "2517c51b-58cd-4abe-87ed-3ab812401ab4",
    "creationTimestamp": "2023-07-11T21:16:11.55149Z",
    "lastModifiedTimestamp": "2023-07-11T21:16:11.5515713Z",
    "expirationTimestamp": "2023-07-18T21:16:17.2480482Z",
    "lastModifiedUser": "9db12087-fbc3-481c-8965-73d44ff88e27",
    "status": "Active",
    "lineItems": [
        {
            "id": 0,
            "catalogItemId": "CFQ7TTC0LF8S:0001:CFQ7TTC0VZW5",
            "quantity": 1,
            "currencyCode": "USD",
            "billingCycle": "monthly",
            "termDuration": "P1Y",
            "provisioningContext": {},
            "orderGroup": "0",
            "pricing": {
                "listPrice": 30.4,
                "discountedPrice": 30.4,
                "proratedPrice": 30.4,
                "price": 30.4,
                "extendedPrice": 364.8
            }
        }
    ],
    "links": {
        "self": {
            "uri": "/customers/ebd8b4c2-4069-46a8-bd70-123d6dec3e39/carts/2517c51b-58cd-4abe-87ed-3ab812401ab4",
            "method": "GET",
            "headers": []
        }
    },
    "attributes": {
        "objectType": "Cart"
    }
}