Een commerciële marketplace of een nieuw commerce-abonnement annuleren met behulp van Partner center-API's
Van toepassing op: Partnercentrum
In dit artikel wordt beschreven hoe u partnercentrum-API kunt gebruiken om een commerciële marketplace of een nieuwe commerce-abonnementsresource te annuleren 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 het overzicht van nieuwe commerce-ervaringen voor 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.
Vereisten
Referenties zoals beschreven in verificatie in partnercentrum. 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 het 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 annuleren en selecteer Verzenden.
C#
Ga als volgt te werk om het abonnement van een klant te annuleren:
Haal het abonnement op id op.
Wijzig de eigenschap Status van het abonnement. Zie De opsomming SubscriptionStatus voor meer informatie over statuscodes.
Nadat de wijziging is aangebracht, gebruikt u uw
IAggregatePartner.Customers
verzameling en roept u de Methode ById() aan.Roep de eigenschap Abonnementen aan, gevolgd door de methode ById().
Roep de Patch() -methode 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: consoletest-app. Project: Klasse PartnerSDK.FeatureSample: UpdateSubscription.cs
REST-aanvraag
Aanvraagsyntaxis
Wijze | Aanvraag-URI |
---|---|
LAP | {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.
Name | Type | Vereist | Beschrijving |
---|---|---|---|
klant-tenant-id | Guid | J | Een GUID die overeenkomt met de klant. |
subscription-id | Guid | J | Een GUID die overeenkomt met het abonnement. |
Aanvraagheaders
Zie Rest-headers in Partnercentrum voor meer informatie.
Aanvraagtekst
Er is een volledige abonnementsresource vereist in de aanvraagbody. Als u uw abonnement wilt opzeggen, moet u ervoor zorgen dat de eigenschap Status is bijgewerkt naar de waarde van deleted
.
Veld | Type | Vereist | Beschrijving |
---|---|---|---|
status | snaar | J | Status van de abonnementen. Opties kunnen - active , , suspended deleted |
Aanvraagvoorbeeld
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 resource-eigenschappen van het abonnement in de hoofdtekst van het antwoord.
Geslaagde antwoorden en foutcodes
Elk antwoord wordt geleverd met een HTTP-statuscode die aangeeft dat de fout is geslaagd of mislukt en aanvullende informatie over foutopsporing. Gebruik een hulpprogramma voor netwerktracering om deze code, het fouttype en aanvullende parameters te lezen. Zie Foutcodes voor de volledige lijst.
Responsvoorbeeld
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"
}
}