Een commerciële marketplace of een nieuw commerce-abonnement annuleren met behulp van Partner center-API's
is van toepassing op: Partnercentrum
In dit artikel wordt beschreven hoe u de Partnercentrum-API kunt gebruiken om een commerciële marketplace of een nieuw commerce--abonnement te annuleren resource die overeenkomt met de klant- en abonnements-id.
Notitie
De nieuwe commerce-ervaringen voor services op basis van licenties omvatten veel nieuwe mogelijkheden en zijn beschikbaar voor alle CSP's (Cloud Solution Provider). Zie overzicht van nieuwe commerce-ervaringenvoor meer informatie.
Nieuwe commerce-abonnementen kunnen binnen 7 dagen worden opgezegd, behalve indien anderszins vereist door de wet, van aankoop of verlenging. Nadat dit venster is verstreken, kunnen abonnementen niet meer worden geannuleerd en genereert de API een fout.
Voorwaarden
Referenties zoals beschreven in Partnercentrum-authenticatie. Dit scenario ondersteunt verificatie met zowel zelfstandige app- als app+gebruikersreferenties.
Een klant-id (
customer-tenant-id
). Als u de klant-id niet weet, kunt u deze opzoeken in Partnercentrum in de werkruimte Klanten. Selecteer de klant in de lijst met klanten en selecteer vervolgens Account. Zoek op de pagina Account van de klant naar de Microsoft-id in de sectie Klantaccountgegevens. De Microsoft-id is hetzelfde als de klant-id (customer-tenant-id
).Een abonnements-id.
Partnercentrummethode
Een abonnement op de commerciële marketplace annuleren in partnercentrum:
Selecteer het abonnement dat u wilt annuleren.
Kies de optie Abonnement opzeggen en selecteer vervolgens Verzenden.
C#
Ga als volgt te werk om het abonnement van een klant te annuleren:
Haal het abonnement op via ID.
Wijzig de eigenschap Status van het abonnement. Voor informatie over status codes, zie SubscriptionStatus-enumeratie.
Nadat de wijziging is aangebracht, gebruikt u uw
IAggregatePartner.Customers
verzameling en roept u de ById() methode aan.Roep de eigenschap Subscriptions aan, gevolgd door de methode ById().
Roep de methode Patch() aan.
// IAggregatePartner partnerOperations;
// var selectedCustomerId as string;
// Subscription selectedSubscription;
selectedSubscription.Status = SubscriptionStatus.Deleted;
var updatedSubscription = partnerOperations.Customers.ById(selectedCustomerId).Subscriptions.ById(selectedSubscription.Id).Patch(selectedSubscription);
Voorbeeld van consoletest-app
Voorbeeld van: Console-test-app. Project: PartnerSDK.FeatureSample Klasse: UpdateSubscription.cs
REST-aanvraag
Aanvraagsyntaxis
Methode | Aanvraag-URI |
---|---|
PATCH | {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id} HTTP/1.1 |
URI-parameter
Deze tabel bevat de vereiste queryparameter om het abonnement te onderbreken.
Naam | Type | Vereist | Beschrijving |
---|---|---|---|
klant-huurder-id | guid- | Y | Een GUID die overeenkomt met de klant. |
abonnements-id | guid- | Y | Een GUID die overeenkomt met het abonnement. |
Aanvraagheaders
Zie Partnercentrum REST-headersvoor meer informatie.
Aanvraaginhoud
Een volledige Abonnement bron is vereist in de aanvraaggegevens. Als u uw abonnement wilt annuleren, moet u ervoor zorgen dat de eigenschap Status is bijgewerkt naar de waarde van deleted
.
Veld | Type | Verplicht | Beschrijving |
---|---|---|---|
status | tekenreeks | Y | Status van de abonnementen. Opties kunnen zijn - active , suspended , deleted |
Voorbeeld van een verzoek
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-antwoord
Als de aanvraag is geslaagd, retourneert deze methode de verwijderde Subscription resource-eigenschappen in de antwoordtekst.
Geslaagde antwoorden en foutcodes
Elk antwoord wordt geleverd met een HTTP-statuscode die aangeeft of er sprake is van succes of mislukking en aanvullende foutopsporingsinformatie. Gebruik een hulpprogramma voor netwerktracering om deze code, het fouttype en aanvullende parameters te lezen. Zie Foutcodesvoor de volledige lijst.
Voorbeeld van antwoord
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"
}
}