Freigeben über


Aktualisieren eines Abonnements nach ID

anwendbar auf: Partnerzentrum | Partnerzentrum betrieben von 21Vianet | Partnerzentrum für die Microsoft-Cloud für die US-Regierung

Aktualisiert ein Abonnement nach ID.

Führen Sie diesen Vorgang in Partner Center aus, indem Sie zuerst einen Kunden auswählen. Wählen Sie dann das betreffende Abonnement aus, das Sie aktualisieren möchten. Ändern Sie abschließend die gewünschten Werte, und wählen Sie dann Senden 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 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.

C#

Um die Werte eines Kundenabonnements zu aktualisieren, rufen Sie zuerst das Abonnement ab, und ändern Sie dann die gewünschten Eigenschaften des Abonnements. Nachdem die Änderung vorgenommen wurde, verwenden Sie Ihre IAggregatePartner.Customers-Auflistung , und rufen Sie die ById()- Methode auf. Rufen Sie dann die Subscriptions-Eigenschaft auf, gefolgt von der ById( )-Methode. Beenden Sie dann den Vorgang mit dem Aufruf der Patch()- Methode.

// IAggregatePartner partnerOperations;
// var customerId;
// var subscriptionId;

//retrieving the subscription, for the purpose of the sample
ResourceCollection<Subscription> customerSubscriptions = partnerOperations.Customers.ById(selectedCustomerId).Subscriptions.Get();
Subscription selectedSubscription = customerSubscriptions.Items.FirstOrDefault(sub => sub.Status == SubscriptionStatus.Active);

//update selected subscription; a variety of fields can be updated, but quantity is used as an example below
selectedSubscription.Quantity++;

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

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

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 Aktualisieren des Abonnements 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 Abonnement-Ressource erforderlich. Stellen Sie sicher, dass die gewünschten Eigenschaften aktualisiert werden.

Wenn autoRenewEnabled eines Abonnements auf true festgelegt ist, Anweisungen für die nächste Laufzeit oder Anweisungen für die nächste Abrechnung enthält, sind diese Attribute als Teil des Textes für die PATCH-Anforderung erforderlich. Wenn diese Attribute nicht angegeben werden, wird autoRenewEnabled versehentlich auf false festgelegt, oder die nächste Laufzeit/Abrechnungsanweisung wird gelöscht. Dies gilt nur, wenn die Nutzlast nur minimale Informationen enthält. Wenn zuvor ein Get-Aufruf erfolgt und diese Antwort geändert und an die API übergeben wird, werden die erforderlichen Felder in der Anforderung ausgefüllt.

Hinweis

Partner-IDs sind nur für Händler relevant, die den offiziell eingetragenen Partner für das Abonnement ihres Kunden bestimmen. Direktabrechnungspartner sehen partnerID als NULL. Händler, die in den EU/EFTA-Märkten tätig sind, haben möglicherweise mehreren Wiederverkäufern ein einziges Abonnement zugewiesen. Alle Partner-IDs für das Abonnement müssen die Validierungsanforderungen erfüllen, bevor sie ein Abonnement aktualisieren. Weitere Informationen zu eu/EFTA zusätzlichen Wiederverkäufern finden Sie in der Abonnementverwaltungsdokumentation.

Beispiel-#1a anfordern

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

{
    "Id": "83ef9d05-4169-4ef9-9657-0e86b1eab1de",
    "FriendlyName": "nickname",
    "Quantity": 2,
    "UnitType": "none",
    "ParentSubscriptionId": null,
    "CreationDate": "2015-11-25T06:41:12Z",
    "EffectiveStartDate": "2015-11-24T08:00:00Z",
    "CommitmentEndDate": "2016-12-12T08:00:00Z",
    "Status": "active",
    "AutoRenewEnabled": false,
    "BillingType": "none",
    "partnerId": "5357564",
    "additionalPartnerIds": ["517285","5357563"],
    "ContractType": "subscription",
    "OrderId": "6183db3d-6318-4e52-877e-25806e4971be",
    "Attributes": {
        "Etag": "<etag>",
        "ObjectType": "Subscription"
    }
}

Anfordern von Beispiel-#1b: Neues Commerce-Abonnement zum Aktualisieren des Anzeigenamens

Die neuen E-Commerce-Umgebungen für lizenzbasierte Dienste umfassen viele neue Funktionen und sind für alle Cloud Solution Provider-Partner (CSPs) verfügbar. Weitere Informationen finden Sie unter Übersicht über neue E-Commerce-Erfahrungen.

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 
Content-Type: application/json 
Content-Length: 1029 
Expect: 100-continue 
Connection: Keep-Alive 
 
{ 
    "id": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e", 
    "offerId": "CFQ7TTC0LH18:0001:CFQ7TTC0K971", 
    "offerName": "Microsoft 365 Business Basic", 
    "friendlyName": "nickname", //originally Microsoft 365 Business Basic 
    "productType": { 
        "id": "OnlineServicesNCE", 
        "displayName": "OnlineServicesNCE" 
    }, 
    "quantity": 1, 
    "unitType": "Licenses", 
    "hasPurchasableAddons": false, 
    "creationDate": "2021-01-14T16:57:15.0966728Z", 
    "effectiveStartDate": "2021-01-14T16:57:14.498252Z", 
    "commitmentEndDate": "2022-01-13T00:00:00Z", 
    "status": "active",  
    "autoRenewEnabled": true, //must be included if set to true; see note in Request Body section 
    "isTrial": false, 
    "billingType": "license", 
    "billingCycle": "monthly", 
    "termDuration": "P1Y", 
    "renewalTermDuration": "", 
    "refundOptions": [ 
        { 
            "type": "Full", 
            "expiresAt": "2021-01-15T00:00:00Z" 
        } 
    ], 
    "isMicrosoftProduct": true, 
    "partnerId": "5357564",
    "additionalPartnerIds": ["517285","5357563"],
    "attentionNeeded": false, 
    "actionTaken": false, 
    "contractType": "subscription", 
    "links": { 
        "product": { 
            "uri": "/products/CFQ7TTC0LH18?country=US", 
            "method": "GET", 
            "headers": [] 
        }, 
        "sku": { 
            "uri": "/products/CFQ7TTC0LH18/skus/0001?country=US", 
            "method": "GET", 
            "headers": [] 
        }, 
        "availability": { 
            "uri": "/products/CFQ7TTC0LH18/skus/0001/availabilities/CFQ7TTC0K971?country=US", 
            "method": "GET", 
            "headers": [] 
        }, 
        "self": { 
            "uri": "/customers/d8202a51-69f9-4228-b900-d0e081af17d7/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e", 
            "method": "GET", 
            "headers": [] 
        } 
    }, 
    "publisherName": "Microsoft Corporation", 
    "orderId": "34b37d7340cc", 
    "attributes": { 
        "objectType": "Subscription" 
    } 
} 

REST-Antwort

Wenn diese Methode erfolgreich ist, gibt sie den HTTP-Statuscode Status 200 und aktualisierte Eigenschaften der Abonnementressource im Antworttext zurück.

Antworterfolgs- und Fehlercodes

Jede Antwort gibt einen HTTP-Statuscode zurück, der den Erfolg oder Fehler sowie andere Debuginformationen angibt. Verwenden Sie ein Netzwerkverfolgungswerkzeug, um den Statuscode, den Fehlertyp und andere Parameter zu lesen. Die vollständige Liste findest du unter Fehlercodes.

Wenn der Patchvorgang länger als die erwartete Zeit dauert, sendet das Partner Center einen HTTP-Statuscode 202 und einen Standortheader, der darauf verweist, wo das Abonnement abgerufen werden soll. Sie können das Abonnement regelmäßig abfragen, um den Status zu überwachen.

Beispielantworten

Beispiel für eine Antwort #1a

Erfolgreiche Anforderung mit dem HTTP-Statuscode 200 :

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

{
    "Id": "83ef9d05-4169-4ef9-9657-0e86b1eab1de",
    "FriendlyName": "nickname",
    "Quantity": 1,
    "UnitType": "none",
    "ParentSubscriptionId": null,
    "CreationDate": "2015-11-25T06:41:12Z",
    "EffectiveStartDate": "2015-11-24T08:00:00Z",
    "CommitmentEndDate": "2016-12-12T08:00:00Z",
    "Status": "active",
    "AutoRenewEnabled": true,
    "BillingType": "none",
    "partnerId": "5357564",
    "additionalPartnerIds": ["517285","5357563"],
    "ContractType": "subscription",
    "Links": {
        "Offer": {
            "Uri": "/v1/offers/0CCA44D6-68E9-4762-94EE-31ECE98783B9",
            "Method": "GET",
            "Headers": []
        },
        "Entitlement": {
            "Uri": "/entitlements?key=<key>",
            "Method": "GET",
            "Headers": []
        },
        "Self": {
            "Uri": "/subscriptions?key=<key>",
            "Method": "GET",
            "Headers": []
        }
    },
    "OrderId": "6183db3d-6318-4e52-877e-25806e4971be",
    "Attributes": {
        "Etag": "<etag>",
        "ObjectType": "Subscription"
    }
}

Antwortbeispiel #1b: Neues Commerce-Abonnement zum Aktualisieren des Anzeigenamens

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 
Content-Type: application/json 
Content-Length: 1029 
Expect: 100-continue 
Connection: Keep-Alive 
 
{ 
    "id": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e", 
    "offerId": "CFQ7TTC0LH18:0001:CFQ7TTC0K971", 
    "offerName": "Microsoft 365 Business Basic", 
    "friendlyName": "nickname",  
    "productType": { 
        "id": "OnlineServicesNCE", 
        "displayName": "OnlineServicesNCE" 
    }, 
    "quantity": 1, 
    "unitType": "Licenses", 
    "hasPurchasableAddons": false, 
    "creationDate": "2021-01-14T16:57:15.0966728Z", 
    "effectiveStartDate": "2021-01-14T16:57:14.498252Z", 
    "commitmentEndDate": "2022-01-13T00:00:00Z", 
    "status": "active",  
    "autoRenewEnabled": true, 
    "isTrial": false, 
    "billingType": "license", 
    "billingCycle": "monthly", 
    "termDuration": "P1Y", 
    "renewalTermDuration": "", 
    "refundOptions": [ 
        { 
            "type": "Full", 
            "expiresAt": "2021-01-15T00:00:00Z" 
        } 
    ], 
    "isMicrosoftProduct": true, 
    "partnerId": "5357564",
    "additionalPartnerIds": ["517285","5357563"],
    "attentionNeeded": false, 
    "actionTaken": false, 
    "contractType": "subscription", 
    "links": { 
        "product": { 
            "uri": "/products/CFQ7TTC0LH18?country=US", 
            "method": "GET", 
            "headers": [] 
        }, 
        "sku": { 
            "uri": "/products/CFQ7TTC0LH18/skus/0001?country=US", 
            "method": "GET", 
            "headers": [] 
        }, 
        "availability": { 
            "uri": "/products/CFQ7TTC0LH18/skus/0001/availabilities/CFQ7TTC0K971?country=US", 
            "method": "GET", 
            "headers": [] 
        }, 
        "self": { 
            "uri": "/customers/d8202a51-69f9-4228-b900-d0e081af17d7/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e", 
            "method": "GET", 
            "headers": [] 
        } 
    }, 
    "publisherName": "Microsoft Corporation", 
    "orderId": "34b37d7340cc", 
    "attributes": { 
        "objectType": "Subscription" 
    } 
}

Antwort-Beispiel #2

Erfolgreiche Anforderung mit dem HTTP-Statuscode 202 :

PATCH https://api.partnercenter.microsoft.com/v1/customers/<customer-tenant-id>/subscriptions/<subscriptionID> HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 01880c1b-1966-40f0-d470-501a66d9948b
MS-CorrelationId: bbbb1111-cc22-3333-44dd-555555eeeeee
Content-Type: application/json
Content-Length: 1432
Connection: Keep-Alive
Location: /customers/<customer-tenant-id>/subscriptions/<subscriptionID>