Freigeben über


Planen von Änderungen für ein neues Commerce-Abonnement mithilfe von Partner Center-APIs

gilt für: Partner Center

In diesem Artikel wird beschrieben, wie Sie die Partner Center-API verwenden können, um Änderungen für ein neues Commerce-Abonnement zu planen, die erst bei der Verlängerung erfolgen. Diese API unterstützt neue lizenzbasierte E-Commerce-Abonnements und Softwareabonnements.

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.

Durch das Erstellen geplanter Änderungen können Sie Ihr Abonnement bei der nächsten Verlängerung automatisch ändern. Durch das Planen von Änderungen können Sie die Anzahl der Lizenzen erhöhen oder verringern, den Abrechnungszeitraum und die Abrechnungshäufigkeit ändern und sogar die SKU aktualisieren. Durch die Planung von Änderungen können Sie Änderungen an Ihrem Abonnement bei der Verlängerung vornehmen, anstatt sofort während der aktuellen Laufzeit.

Von Bedeutung

Wenn Sie eine mittelfristige (unmittelbare) Änderung vor dem Verlängerungsdatum vornehmen, werden alle geplanten Änderungen, die zuvor für die Verlängerung geplant waren, gelöscht.

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 auswählen, dann den Kunden aus der Kundenliste und anschließend Konto. Suchen Sie auf der Kontoseite des Kunden im Abschnitt Kundenkontoinfo nach der Microsoft-ID. Die Microsoft-ID ist identisch mit der Kunden-ID (customer-tenant-id).

  • Eine Abonnement-ID.

  • Die automatische Verlängerung ist für das Abonnement aktiviert.

Partner Center-Methode

So planen Sie Änderungen für ein Abonnement in Partner Center:

  1. Wählen Sie einen Kundenaus.

  2. Wählen Sie das Abonnement aus, für das Sie Änderungen planen möchten.

  3. Aktivieren Sie die automatische Erneuerung.

  4. Wählen Sie Manage renewal (Verlängerung verwalten) aus.

  5. Nehmen Sie Änderungen am Abonnement vor, die bei der Verlängerung erfolgen sollen.

  6. Wählen Sie OK aus, um die Seitenleiste zu schließen.

  7. Wählen Sie Senden aus, um die Änderungen zu speichern.

Hinweis

Verlängerungen werden nach dem letzten Tag einer Laufzeit bearbeitet, beginnend um 12:00 Uhr UTC am folgenden Tag. Verlängerungen werden in einer Warteschlange verarbeitet und es kann bis zu 24 Stunden dauern, bis sie verarbeitet werden.

C#

So planen Sie Änderungen für das Abonnement eines Kunden:

  1. Rufen Sie das Abonnement nach ID ab.
  2. Abrufen der Übergangsberechtigung für den geplanten Übergangsberechtigungstyp.
  3. Erstellen Sie ein ScheduledNextTermInstructions-Objekt , und legen Sie es auf die Eigenschaft des Abonnements fest.
  4. Rufen Sie die Patch()- Methode auf, um das Abonnement mit den geplanten Änderungen zu aktualisieren.
var selectedSubscription = subscriptionOperations.Get();
selectedSubscription.ScheduledNextTermInstructions = new ScheduledNextTermInstructions
{
    Product = new ProductTerm
    {
        ProductId = changeToProductId,
        SkuId = changeToSkuId,
        AvailabilityId = changeToAvailabilityId,
        BillingCycle = changeToBillingCycle,
        TermDuration = changeToTermDuration,
    },
    Quantity = changeToQuantity,
    customTermEndDate = DateTime,
};
var updatedSubscription = subscriptionOperations.Patch(selectedSubscription);

So planen Sie Änderungen für ein Kundenabonnement, bei dem die geplante Änderung auf ein anderes Produkt übertragen werden soll:

  1. Rufen Sie das Abonnement nach ID ab.
  2. Abrufen der Übergangsberechtigung für den geplanten Übergangsberechtigungstyp.
  3. Rufen Sie die Patch()- Methode auf, um das Abonnement mit den geplanten Änderungen zu aktualisieren.

REST-Anforderung

Anforderungssyntax

Methode Anforderungs-URI
FLICKEN {baseURL}/v1/customers/{Kundschaftsmandaten-ID}/subscriptions/{Abonnement-ID} HTTP/1.1

URI-Parameter

In dieser Tabelle sind die erforderlichen Abfrageparameter zum Aufrufen der API aufgeführt.

Name Typ Erforderlich BESCHREIBUNG
Kunden-Mieter-ID GUID Ja Eine GUID für den Kunden.
Abonnement-ID GUID Ja Eine GUID für das Abonnement

Anforderungsheader

Weitere Informationen finden Sie unter Partner Center REST-Header.

Anfragekörper

Im Anforderungstext ist eine vollständige Abonnementressource erforderlich, deren scheduledNextTermInstructions Eigenschaft definiert ist. Um Änderungen für Ihr Abonnement zu planen, stellen Sie sicher, dass die AutoRenewEnabled-Eigenschaft auf true festgelegt ist.

Für die Verfügbarkeits-ID am Ende des Verkaufs mit Konvertierungen (EndofSaleWithConversions) wird Folgendes angeboten:

  1. GetTransitionEligibility, um CatalogItemID zurückzugeben.

    a) Stellen Sie sicher, dass Sie den Berechtigungstyp Geplant festlegen, andernfalls ist die Standardeinstellung sofort.

  2. Verwenden Sie CatalogItemID, um dann availabilityID zu extrahieren.

Hinweis

Wenn Sie GET Availabilitys verwenden, um die Verfügbarkeit für die scheduledNextTerm-Anweisungen zu ermitteln, und wenn alle Bedingungen den EOS-Status haben, erhalten Sie eine leere Liste. Die beste Methode zum Ermitteln gültiger Pfade besteht darin, die GetTransitionEligibilty-API aufzurufen, um die gültigen Optionen zurückzugeben.

Feld Typ Erforderlich BESCHREIBUNG
scheduledNextTermInstructions Objekt- Ja Definiert die Anweisungen für die nächste Laufzeit für das Abonnement. Die Eigenschaft enthält das product Objekt und das quantity Feld.

Beispielanfrage

PATCH https://api.partnercenter.microsoft.com/v1/customers/<customer-tenant-id>/subscriptions/<subscription-id> HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: ca7c39f7-1a80-43bc-90d8-ee7d1cad3831
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
If-Match: <etag>
Content-Type: application/json
Content-Length: 1029
Expect: 100-continue
Connection: Keep-Alive

{
    "id": "6e7aa601-629e-461b-8933-0898c3cc3c7c",
    "offerId": "DZH318Z0BXWC:0001:DZH318Z0BMJX",
    "offerName": "offer Name",
    "friendlyName": "friendly Name",
    "quantity": 1,
    "customTermEndDate": "2019-01-09T00:21:45.9263727",
    "unitType": "License(s)",
    "hasPurchasableAddons": false,
    "creationDate": "2019-01-04T01:00:12.6647304Z",
    "effectiveStartDate": "2019-01-09T00:21:45.9263727+00:00",
    "commitmentEndDate": "2019-02-08T00:21:45.9263727+00:00",
    "status": "active",
    "autoRenewEnabled": true,
    "scheduledNextTermInstructions": { 
      "product": { 
         "productId":  "DG7GMGF0DVSV", 
         "skuId":  "000P", 
         "availabilityId":  "DG7GMGF0F3Q9", 
         "billingCycle":  "Annual", 
         "termDuration":  "P3Y",
         "promotionId": "39NFJQT1PFPJ:000H:39NFJQT1Q5DK"
        }, 
      "quantity":  1 
      "customTermEndDate" : "2019-01-09T00:21:45.9263727",
     },  // original value = null 
    "isTrial": false,
    "billingType": "license",
    "billingCycle": "monthly",
    "termDuration": "P1M",
    "refundOptions": [{
        "type": "Full",
        "expiresAt": "2019-01-10T00:21:45.9263727+00:00"
    }],
    "isMicrosoftProduct": false,
    "partnerId": "",
    "contractType": "subscription",
    "publisherName": "publisher Name",
    "orderId": "ImxjLNL4_fOc-2KoyOxGTZcrlIquzls11",
    "attributes": {"objectType": "Subscription"},
}

REST-Antwort

Wenn die Anforderung erfolgreich ist, gibt diese Methode die aktualisierten Eigenschaften der Abonnementressource im Antworttext zurück.

Antworterfolgs- und Fehlercodes

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

Antwortbeispiel

HTTP/1.1 200 OK
Content-Length: 1322
Content-Type: application/json; charset=utf-8
MS-RequestId: ca7c39f7-1a80-43bc-90d8-ee7d1cad3831
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US

{
    "id": "6e7aa601-629e-461b-8933-0898c3cc3c7c",
    "offerId": "DZH318Z0BXWC:0001:DZH318Z0BMJX",
    "offerName": "offer Name",
    "friendlyName": "friendly Name",
    "quantity": 1,
    "customTermEndDate": "2019-01-09T00:21:45.9263727",
    "unitType": "License(s)",
    "hasPurchasableAddons": false,
    "creationDate": "2019-01-04T01:00:12.6647304Z",
    "effectiveStartDate": "2019-01-09T00:21:45.9263727+00:00",
    "commitmentEndDate": "2019-02-08T00:21:45.9263727+00:00",
    "status": "active",
    "autoRenewEnabled": true,
    "scheduledNextTermInstructions": { 
      "product": { 
         "productId":  "DG7GMGF0DVSV", 
         "skuId":  "000P", 
         "availabilityId":  "DG7GMGF0F3Q9", 
         "billingCycle":  "Annual", 
         "termDuration":  "P3Y",
         "promotionId": "39NFJQT1PFPJ:000H:39NFJQT1Q5DK"
        }, 
      "quantity":  1 
      "customTermEndDate": "2019-01-09T00:21:45.9263727",
     },  // original value = null 
    "isTrial": false,
    "billingType": "license",
    "billingCycle": "monthly",
    "termDuration": "P1M",
    "refundOptions": [{
        "type": "Full",
        "expiresAt": "2019-01-10T00:21:45.9263727+00:00"
    }],
    "isMicrosoftProduct": false,
    "partnerId": "",
    "contractType": "subscription",
    "publisherName": "publisher Name",
    "orderId": "ImxjLNL4_fOc-2KoyOxGTZcrlIquzls11",
    "attributes": {"objectType": "Subscription"},
}