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 nur bei der Verlängerung stattfinden. Diese API unterstützt neue commerce-lizenzierte 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 automatisch ändern, wenn die nächste Verlängerung erfolgt. Durch die Planung von Änderungen können Sie die Anzahl der Lizenzen erhöhen oder verkleinern, den Abrechnungszeitraum und die Häufigkeit ändern und sogar die SKU aktualisieren. Mit der Planung von Änderungen können Sie Änderungen an Ihrem Abonnement bei der Verlängerung vornehmen, anstatt sofort während der aktuellen Laufzeit.

Wichtig

Wenn Sie vor dem Verlängerungsdatum eine Halbzeitänderung vornehmen, werden alle geplanten Änderungen, die zuvor bei der Verlängerung stattfinden sollen, 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 " 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 entspricht 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 im Partner Center:

  1. Wählen Sie einen Kunden aus.

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

  3. Automatische Verlängerung aktivieren.

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

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

  6. Wählen Sie 'Ok ' aus, um den Seitenbereich zu schließen.

  7. wählen Sie "Absenden" aus, um die Änderungen zu speichern.

Hinweis

Verlängerungen werden nach dem letzten Tag einer Laufzeit ab 12:00 Uhr UTC am folgenden Tag verarbeitet. Verlängerungen werden in einer Warteschlange verarbeitet und können 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. Erhalten Sie die Berechtigung für die Ü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);

Um Änderungen für das Abonnement eines Kunden zu planen, wobei die gewünschte geplante Änderung auf ein anderes Produkt festgelegt ist:

  1. Rufen Sie das Abonnement nach ID ab.
  2. Erhalten Sie die Berechtigung für die Ü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
PATCH {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id} HTTP/1.1

URI-Parameter

In dieser Tabelle sind die erforderlichen Abfrageparameter aufgeführt, um die API aufzurufen.

Name Type Erforderlich Beschreibung
customer-tenant-id guid Y Eine GUID, die dem Kunden entspricht.
Abonnement-ID guid Y Eine GUID, die dem Abonnement entspricht.

Anforderungsheader

Weitere Informationen finden Sie unter Partner Center-REST-Header.

Anforderungstext

Eine vollständige Abonnementressource ist im Anforderungstext erforderlich, wobei die 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 Verfügbarkeits-ID am Ende des Verkaufs mit Konvertierungen (EndofSaleWithConversions) Angebote:

  1. GetTransitionEligibility zum Zurückgeben von CatalogItemID.

    a. Stellen Sie sicher, dass Sie den Typ der geplanten Berechtigung festlegen, andernfalls ist die Standardeinstellung sofort.

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

Hinweis

Wenn Sie GET Availabilities verwenden, um die Verfügbarkeit der geplantenNextTerm-Anweisungen zu bestimmen und wenn alle Begriffe EOS-Status sind, 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 type Erforderlich Beschreibung
scheduledNextTermInstructions object Y Definiert die nächsten Ausdrucksanweisungen für das Abonnement. Die Eigenschaft enthält das product Objekt und das quantity Feld.

Anforderungsbeispiel

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 Abonnementressourceneigenschaften im Antworttext zurück.

Erfolgs- und Fehlercodes der Antwort

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

Beispielantwort

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