Freigeben über


Kündigen eines kommerziellen Marketplace oder eines neuen Commerce-Abonnements 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 einen kommerziellen Marketplace oder eine neue Commerce-Abonnementressource zu kündigen, die der Kunden- und Abonnement-ID entspricht.

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.

Neue Commerce-Abonnements können innerhalb von 7 Tagen storniert werden, es sei denn, dies ist gesetzlich vorgeschrieben, kauf- oder verlängerung. Nachdem dieses Fenster übergeben wurde, können Abonnements nicht mehr abgebrochen werden, und die API löst einen Fehler aus.

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 im Arbeitsbereich "Kunden " nachschlagen. Wählen Sie den Kunden aus der Kundenliste aus, und wählen Sie dann Konto aus. 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.

Partner Center-Methode

So kündigen Sie ein kommerzielles Marketplace-Abonnement im Partner Center:

  1. Wählen Sie einen Kunden aus.

  2. Wählen Sie das Abonnement aus, das Sie kündigen möchten.

  3. Wählen Sie die Option "Abonnement kündigen" und dann " Absenden" aus.

C#

So kündigen Sie das Abonnement eines Kunden:

  1. Rufen Sie das Abonnement nach ID ab.

  2. Ändern Sie die Statuseigenschaft des Abonnements. Informationen zu den Codes für Status finden Sie unter SubscriptionStatus-Enumeration.

  3. Nachdem die Änderung vorgenommen wurde, verwenden Sie Ihre IAggregatePartner.Customers Sammlung, und rufen Sie die ById()-Methode auf.

  4. Rufen Sie die Eigenschaft Subscriptions und dann die ById()-Methode auf.

  5. Rufen Sie die Patch()-Methode auf.

// IAggregatePartner partnerOperations;
// var selectedCustomerId as string;
// Subscription selectedSubscription;

selectedSubscription.Status = SubscriptionStatus.Deleted;
var updatedSubscription = partnerOperations.Customers.ById(selectedCustomerId).Subscriptions.ById(selectedSubscription.Id).Patch(selectedSubscription);

Beispiel-Konsolentest-App

Beispiel: Konsolentest-App. Projekt: PartnerSDK.FeatureSample-Klasse: UpdateSubscription.cs

REST-Anforderung

Anforderungssyntax

Methode Anforderungs-URI
PATCH {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id} HTTP/1.1

URI-Parameter

Diese Tabelle enthält den erforderlichen Abfrageparameter zum Anhalten des Abonnements.

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

Im Anforderungstext ist eine vollständige Subscription-Ressource erforderlich. Um Ihr Abonnement zu kündigen, stellen Sie sicher, dass die Status-Eigenschaft auf den Wert von deletedaktualisiert wurde.

Feld type Erforderlich Beschreibung
status string J Status der Abonnements. Optionen können - active, , suspendeddeleted

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": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
    "offerId": "DZH318Z0BXWC:0001:DZH318Z0BMJX",
    "offerName": "offer Name",
    "friendlyName": "friendly Name",
    "quantity": 1,
    "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": "deleted",
    "autoRenewEnabled": false,
    "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 Eigenschaften der gelöschten Subscription-Ressource im Antworttext zurück.

Erfolgs- und Fehlercodes der Antwort

Jede Antwort enthält einen HTTP-Statuscode, der Aufschluss darüber gibt, ob der Vorgang erfolgreich war, sowie ggf. zusätzliche Debuginformationen. Verwende ein Tool für die Netzwerkablaufverfolgung, um diesen Code, den Fehlertyp und zusätzliche 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": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
    "offerId": "DZH318Z0BXWC:0001:DZH318Z0BMJX",
    "offerName": "offer Name",
    "friendlyName": "friendly Name",
    "quantity": 1,
    "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": "deleted",
    "autoRenewEnabled": false,
    "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",
    "links": {
        "product": {
            "uri": "/products/DZH318Z0BXWC?country=US",
            "method": "GET",
            "headers": []
        },
        "sku": {
            "uri": "/products/DZH318Z0BXWC/skus/0001?country=US",
            "method": "GET",
            "headers": []
        },
        "availability": {
            "uri": "/products/DZH318Z0BXWC/skus/0001/availabilities/DZH318Z0BMJX?country=US",
            "method": "GET",
            "headers": []
        },
        "self": {
            "uri": "/customers/5921f00a-32c0-4457-aaa1-e8018c650895/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
            "method": "GET",
            "headers": []
        }
    },
    "publisherName": "publisher Name",
    "orderId": "ImxjLNL4_fOc-2KoyOxGTZcrlIquzls11",
    "attributes": {
        "etag": "",
        "objectType": "Subscription"
    }
}