Freigeben über


Erstellen eines Einkaufswagens mit einem Kundenauftrag

Gilt für: Partner Center | Partner Center, betrieben von 21Vianet | Partner Center für die Microsoft-Cloud für die US-Regierung

Sie können einen Auftrag für einen Kunden in einem Warenkorb hinzufügen. Weitere Informationen dazu, was derzeit zum Verkauf zur Verfügung steht, finden Sie unter Partnerangebote im Programm für Cloud Solution Provider.

Hinweis

Einkaufswagen laufen sieben Tage nach ihrer ersten Erstellung ab.

Voraussetzungen

  • Anmeldeinformationen wie unter Partner Center-Authentifizierung beschrieben. Dieses Szenario unterstützt die Authentifizierung mit eigenständigen App- und App+Benutzeranmeldeinformationen.

  • Eine Kunden-ID (customer-tenant-id). Wenn Sie die KUNDEN-ID nicht kennen, können Sie sie im Partner Center nachschlagen, indem Sie den Arbeitsbereich "Kunden " und dann den Kunden aus der Kundenliste und dann "Konto" auswählen. Suchen Sie auf der Seite "Konto" des Kunden im Abschnitt "Kundenkontoinformationen" nach der Microsoft-ID. Die Microsoft-ID ist identisch mit der Kunden-ID (customer-tenant-id).

C#

So erstellen Sie einen Auftrag für einen Kunden:

  1. Instanziieren Sie ein Cart-Objekt.

  2. Erstellen Sie eine Liste von CartLineItem-Objekten , und weisen Sie die Liste der LineItems-Eigenschaft des Warenkorbs zu. Jeder Einkaufswagenartikel enthält die Einkaufsinformationen für ein Produkt. Sie müssen über mindestens einen Warenkorbartikel verfügen.

  3. Rufen Sie eine Schnittstelle zu Einkaufswagenvorgängen ab, indem Sie die IAggregatePartner.Customers.ById-Methode mit der Kunden-ID aufrufen, um den Kunden zu identifizieren, und anschließend die Schnittstelle aus der Cart-Eigenschaft abrufen.

  4. Rufen Sie die Create - oder CreateAsync-Methode auf, um den Warenkorb zu erstellen.

  5. Um den Nachweis abzuschließen und andere Händler einzuschließen, lesen Sie das folgende Beispiel für Anforderungs- und Antwortbeispiele:

Anforderungsbeispiel


{
    "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"
                }
            ]
        }
    ]
}


Antwortbeispiel


{
    "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#-Beispiel

// 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

Das Partner Center Java SDK kann zum Verwalten von Partner Center-Ressourcen verwendet werden. Es handelt sich um ein Open-Source-Projekt, das von der Partnercommunity verwaltet wird und von Microsoft nicht offiziell unterstützt wird. Sie können Hilfe von der Community erhalten oder ein Problem auf GitHub öffnen , wenn ein Problem auftritt.

So erstellen Sie einen Auftrag für einen Kunden:

  1. Instanziieren Sie ein Cart-Objekt.

  2. Erstellen Sie eine Liste von CartLineItem-Objekten , und weisen Sie die Liste den Positionen des Einkaufswagens zu. Jeder Einkaufswagenartikel enthält die Einkaufsinformationen für ein Produkt. Sie müssen über mindestens einen Warenkorbartikel verfügen.

  3. Rufen Sie eine Schnittstelle zu Einkaufswagenvorgängen ab, indem Sie die Funktion "IAggregatePartner.getCustomers().byId().byId " mit der Kunden-ID aufrufen, um den Kunden zu identifizieren, und rufen Sie dann die Schnittstelle aus der getCart-Funktion ab.

  4. Rufen Sie die Create-Funktion auf, um den Warenkorb zu erstellen.

Java-Beispiel

// 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

Das Partner Center PowerShell-Modul kann zum Verwalten von Partner Center-Ressourcen verwendet werden. Es handelt sich um ein Open-Source-Projekt, das von der Partnercommunity verwaltet wird und von Microsoft nicht offiziell unterstützt wird. Sie können Hilfe von der Community erhalten oder ein Problem auf GitHub öffnen , wenn ein Problem auftritt.

So erstellen Sie einen Auftrag für einen Kunden:

  1. Instanziieren Sie ein Cart-Objekt.

  2. Erstellen Sie eine Liste von CartLineItem-Objekten , und weisen Sie die Liste den Positionen des Einkaufswagens zu. Jeder Einkaufswagenartikel enthält die Einkaufsinformationen für ein Produkt. Sie müssen über mindestens einen Warenkorbartikel verfügen.

  3. Führen Sie den Befehl "New-PartnerCustomerCart " aus, um den Warenkorb zu erstellen.

# $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-Anforderung

Anforderungssyntax

Methode Anforderungs-URI
POST {baseURL}/v1/customers/{customer-id}/carts HTTP/1.1

URI-Parameter

Verwenden Sie den folgenden Pfadparameter, um den Kunden zu identifizieren.

Name Typ Erforderlich Description
Kunden-ID Schnur Yes Eine guid formatierte Kunden-ID, die den Kunden identifiziert.

Anforderungsheader

Weitere Informationen finden Sie unter Partner Center REST-Header.

Anfragekörper

In dieser Tabelle werden die Cart-Eigenschaften im Anforderungstext beschrieben.

Eigentum Typ Erforderlich Description
id Schnur Nein Ein Warenkorbbezeichner, der bei erfolgreicher Erstellung des Warenkorbs bereitgestellt wird.
creationTimeStamp DateTime Nein Das Datum, an dem der Warenkorb erstellt wurde, im Datums-/Uhrzeitformat. Auf erfolgreiche Erstellung des Warenkorbs angewendet.
lastModifiedTimeStamp DateTime Nein Das Datum, an dem der Warenkorb zuletzt im Datums-/Uhrzeitformat aktualisiert wurde. Auf erfolgreiche Erstellung des Warenkorbs angewendet.
expirationTimeStamp DateTime Nein Das Datum, an dem der Warenkorb abläuft, im Datums-/Uhrzeitformat. Auf erfolgreiche Erstellung des Warenkorbs angewendet.
lastModifiedUser Schnur Nein Der Benutzer, der den Warenkorb zuletzt aktualisiert hat. Auf erfolgreiche Erstellung des Warenkorbs angewendet.
lineItems Array mit Objekten Yes Ein Array von CartLineItem-Ressourcen .
PartnerOnRecordAttestationAccepted Boolean Yes Bestätigt den Abschluss des Nachweises.

In dieser Tabelle werden die CartLineItem-Eigenschaften im Anforderungstext beschrieben.

Hinweis

Beim Auschecken eines Warenkorbs über die API werden die Positionen in der Reihenfolge verarbeitet, in der sie in den Warenkorb gelegt werden. Die Bestellung kann sich auf die Berechtigung für Werbeaktionen mit Einschränkungen für New To Offer auswirken, wenn es zwei Produkte desselben Typs im Warenkorb gibt, eine mit der Promotions-ID und die andere ohne (z. B. mit unterschiedlichen Bedingungen). Stellen Sie sicher, dass Sie alle Positionen, die für eine Werbeaktion berechtigt sind, zuerst im Warenkorb platzieren, wenn Sie mehrere Artikel auschecken.

Eigentum Typ Erforderlich Description
id Schnur Nein Ein eindeutiger Bezeichner für einen Einkaufswagenartikel. Auf erfolgreiche Erstellung des Warenkorbs angewendet.
catalogId (englisch) Schnur Yes Der Katalogelementbezeichner. Stellen Sie sicher, dass die Verfügbarkeit des Katalogelements für das richtige Segment gilt.
friendlyName Schnur Nein Wahlfrei. Der Anzeigename für das element, das vom Partner definiert wurde, um mehrdeutig zu sein.
promotionId Schnur Nein Wahlfrei. Die meisten neuen Commerce-Werbeaktionen werden automatisch angewendet, jedoch müssen Partner für optionale Werbeaktionen (z. B. Bridge to the Cloud 2), die auf einen Einkaufswagenartikel angewendet werden können, die Angebots-ID beim Hinzufügen zum Warenkorb angeben.
Menge INT Yes Die Anzahl der Lizenzen oder Instanzen.
Währungscode Schnur Nein Der Währungscode.
billingCycle Object Yes Der Für den aktuellen Zeitraum festgelegte Abrechnungszyklustyp.
customTermEndDate DateTime Nein Das Enddatum eines vorhandenen Abonnements, für das Sie das neue Abonnement bestimmen möchten.
Teilnehmer Liste der Objektzeichenfolgenpaare Nein Eine Sammlung von PartnerId on Record (PartnerID) für den Kauf.
provisioningContext Wörterbuchzeichenfolge<, Zeichenfolge> Nein Informationen, die für die Bereitstellung einiger Elemente im Katalog erforderlich sind. Die provisioningVariables-Eigenschaft in einer SKU gibt an, welche Eigenschaften für bestimmte Elemente im Katalog erforderlich sind.
orderGroup Schnur Nein Eine Gruppe, die angibt, welche Elemente zusammen platziert werden können.
Fehler Object Nein Wird nach dem Erstellen des Warenkorbs angewendet, wenn ein Fehler auftritt.
renewsTo Array mit Objekten Nein Ein Array von RenewsTo-Ressourcen .
AttestationAccepted Boolean Nein Gibt die Vereinbarung zum Anbieten oder SKU-Bedingungen an. Nur für Angebote oder Skus erforderlich, bei denen SkuAttestationProperties oder OfferAttestationProperties enforceAttestation True ist.
transaction_reseller String Nein Wenn ein indirekter Anbieter eine Bestellung im Auftrag eines indirekten Vertriebspartners abordnet, füllen Sie dieses Feld nur mit der PartnerID des indirekten Vertriebspartners auf (niemals die ID des indirekten Anbieters). Dies sorgt für eine ordnungsgemäße Erfassung von Anreizen.
additional_transaction_reseller String Nein Wenn ein indirekter Anbieter eine Bestellung im Auftrag eines indirekten Vertriebspartners abordnet, füllen Sie dieses Feld nur mit der PartnerID des extra indirekten Vertriebspartners auf (niemals die ID des indirekten Anbieters). Anreize gelten nicht für diese anderen Wiederverkäufer. Es können nur maximal fünf indirekte Wiederverkäufer eingegeben werden. Diese Anforderung gilt nur für Partner, die Geschäfte innerhalb europäischer Länder/Regionen tätigen.
scheduledNextTermInstructions Object Nein Definiert die nächsten Laufzeitanweisungen für ein Testabonnement. Partner können die Laufzeit, die Abrechnungshäufigkeit und die Menge angeben, die das entsprechende kostenpflichtige Abonnement bei der Verlängerung hat.

In dieser Tabelle werden die RenewsTo-Eigenschaften im Anforderungstext für Microsoft Marketplace-Angebote beschrieben.

Eigentum Typ Erforderlich Description
termDuration Schnur Nein Eine ISO 8601-Darstellung der Dauer der Verlängerung. Die aktuellen unterstützten Werte sind P1M (1 Monat) und P1Y (1 Jahr).
ScheduledNextTermInstructions

In dieser Tabelle werden die eigenschaften scheduledNextTermInstructions im Anforderungstext für NCE-lizenzbasierte Testangebote beschrieben. Wenn keine Werte angegeben sind, werden Testversionen zu kostenpflichtigen Abonnements mit einer jährlichen Laufzeit, einer monatlichen Rechnungsstellung und 25 Lizenzen pro Jahr.

Eigentum Typ Erforderlich Description
Produkt Array Nein Ein Array, das das Angebot angibt, in dem ein Testabonnement verlängert wird, sowie die Laufzeit und Abrechnungshäufigkeit, über die das kostenpflichtige Abonnement verfügt.
Menge INT Nein Die Lizenzmenge, über die das entsprechende kostenpflichtige Abonnement verfügt, sobald das Testangebot verlängert wird.
Produkt

In dieser Tabelle werden die productTerm-Eigenschaften im Anforderungstext für lizenzbasierte Testangebote auf NCE-Basis beschrieben. Wenn in diesem Array keine Werte angegeben sind, verlängern sich Testversionen in kostenpflichtige Abonnements mit jährlicher Laufzeit, monatlicher Abrechnung.

Eigentum Typ Erforderlich Description
Produkt-ID Schnur Nein Eine GUID, die so formatiert ist, dass sie das Produkt des kostenpflichtigen Abonnements darstellt, in das die Testversion verlängert wird.
skuId Schnur Nein Eine GUID, die so formatiert ist, dass sie die SKU des kostenpflichtigen Abonnements darstellt, in das die Testversion übergeht.
availabilityId Schnur Nein Eine GUID, die formatiert ist, um die Verfügbarkeit des kostenpflichtigen Abonnements darzustellen, in das die Testversion verlängert wird.
billingCycle Schnur Nein Die Abrechnungshäufigkeit, über die das entsprechende kostenpflichtige Abonnement verfügt, sobald das Testangebot verlängert wird.
termDuration Schnur Nein Die Laufzeit, die das entsprechende kostenpflichtige Abonnement hat, sobald das Testangebot verlängert wird.

Beispielanfrage

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: aaaa0000-bb11-2222-33cc-444444dddddd
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": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
        "scope": "shared"
      }
    },
    {
    /* Azure Reserved Instance */
      "id": 2,
      "catalogItemId": "DZH318Z0BQ36:004J:DZH318Z08B8X",
      "quantity": 1,
      "billingCycle": "one_time",
      "termDuration": "P3Y",
      "provisioningContext": {
        "subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
        "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"
       }
    }
  ]
}

Von Bedeutung

Ab Juni 2023 ist jetzt die neueste Partner Center .NET SDK-Version 3.4.0 archiviert. Sie können die SDK-Version von GitHub zusammen mit einer Infodatei herunterladen, die nützliche Informationen enthält.

Partner werden ermutigt, weiterhin die Partner Center-REST-APIs zu verwenden.

REST-Antwort

Bei erfolgreicher Ausführung gibt die Methode die aufgefüllte Cart-Ressource im Antworttext zurück.

Antworterfolgs- und Fehlercodes

Jede Antwort enthält einen HTTP-Statuscode, der Erfolg oder Fehler und Debugginginformationen angibt. Verwenden Sie ein Netzwerkablaufverfolgungstool, um diesen Code, fehlertyp und andere Parameter zu lesen. Die vollständige Liste finden Sie unter "Fehlercodes".

Antwortbeispiel

HTTP/1.1 201 Created
Content-Length: 764
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
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": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
        "scope": "shared"
      },
      "orderGroup": "0"
    },
    {
      "id": 2,
      "catalogItemId": "DZH318Z0BQ36:004J:DZH318Z08B8X",
      "quantity": 1,
      "currencyCode": "USD",
      "billingCycle": "one_time",
      "termDuration": "P3Y",
      "provisioningContext": {
        "subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
        "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"
  }
}

Beispiel für neue commerce-lizenzbasierte Dienste

Hinweis

Die neuen Commerce-Umgebungen für lizenzbasierte Dienste enthalten zahlreiche neue Funktionen und stehen allen Cloud Solution Providern (CSP) zur Verfügung. Weitere Informationen finden Sie in der Übersicht über neue Commerce-Erfahrungen.

Beispielanfrage

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"
		}
	]
}

Von Bedeutung

Azure-Plan- und unbefristete Softwarezeilenelemente unterstützen die TermDuration-Eigenschaft nicht. Vermeiden Sie dies beim Erwerb dieser Art von Gegenständen.

// request example where several renewal values for an NCE license-based trial are specified
http
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": [
    {
      "id": 0,
      "catalogItemId": "CFQ7TTC0LCHC:0003:CFQ7TTC0XCQC",
      "quantity": 25,
      "currencyCode": "USD",
      "billingCycle": "none",
      "termDuration": "P1M",
      "promotionId": null,
      "provisioningContext": {},
      "customTermEndDate": null,
      "scheduledNextTermInstructions": {
        "product": {
          "billingCycle": "monthly",
          "termDuration": "P1M" 
        }
      }
    }
  ],
  "partnerOnRecordAttestationAccepted": true
}

REST-Antwort

Bei erfolgreicher Ausführung gibt die Methode die aufgefüllte Cart-Ressource im Antworttext zurück.

Antworterfolgs- und Fehlercodes

Jede Antwort enthält einen HTTP-Statuscode, der Erfolg oder Fehler und andere Debuginformationen angibt. Verwenden Sie ein Netzwerkablaufverfolgungstool, um diesen Code, fehlertyp und andere Parameter zu lesen. Die vollständige Liste finden Sie unter "Fehlercodes".

Antwortbeispiel


{
    "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"
    }
}
// response content for an order containing an NCE license-based trial
{
  "id": "99d3777b-61da-4c95-aefa-203c248c4180",
  "creationTimestamp": "2025-02-04T22:22:36.7924103Z",
  "lastModifiedTimestamp": "2025-02-04T22:22:36.7924109Z",
  "expirationTimestamp": "2025-02-11T22:23:34.5190698Z",
  "lastModifiedUser": "b5109661-56c5-45ed-9447-f67463458a97",
  "status": "Active",
  "lineItems": [
    {
      "id": 0,
      "catalogItemId": "CFQ7TTC0LCHC:0003:CFQ7TTC0XCQC",
      "quantity": 25,
      "currencyCode": "USD",
      "billingCycle": "none",
      "termDuration": "P1M",
      "provisioningContext": {},
      "orderGroup": "0",
      "pricing": {
        "listPrice": 0.0,
        "discountedPrice": 0.0,
        "proratedPrice": 0.0,
        "price": 0.0,
        "extendedPrice": 0.0
      },
      "scheduledNextTermInstructions": {
        "product": {
          "productId": "CFQ7TTC0LCHC",
          "skuId": "0002",
          "availabilityId": "CFQ7TTC0XL82",
          "billingCycle": "monthly",
          "termDuration": "P1M"
        },
        "quantity": 25
      }
    }
  ],
  "links": {
    "self": {
      "uri": "/customers/81e78b53-9aa8-44e7-a041-3b15272d8f84/carts/99d3777b-61da-4c95-aefa-203c248c4180",
      "method": "GET",
      "headers": []
    }
  },
  "attributes": {
    "objectType": "Cart"
  }
}