Anulowanie komercyjnej platformy handlowej lub nowej subskrypcji handlowej przy użyciu interfejsów API Centrum partnerskiego
Dotyczy: Centrum partnerskie
W tym artykule opisano, jak za pomocą interfejsu API Centrum partnerskiego można anulować komercyjną platformę handlową lub nowy zasób subskrypcji zgodny z identyfikatorem klienta i subskrypcji .
Uwaga
Nowe środowiska handlowe dla usług opartych na licencjach obejmują wiele nowych funkcji i są dostępne dla wszystkich Dostawca rozwiązań w chmurze (CSP). Aby uzyskać więcej informacji, zobacz omówienie nowych środowisk handlowych.
Nowe subskrypcje handlowe można anulować w ciągu 7 dni, z wyjątkiem przypadków, gdy wymagane jest inaczej zgodnie z prawem, zakupu lub odnowienia. Po upływie tego okna nie można już anulować subskrypcji, a interfejs API zgłosi błąd.
Wymagania wstępne
Poświadczenia zgodnie z opisem w temacie Uwierzytelnianie w Centrum partnerskim. Ten scenariusz obsługuje uwierzytelnianie zarówno przy użyciu autonomicznych poświadczeń aplikacji, jak i aplikacji i użytkownika.
Identyfikator klienta (
customer-tenant-id
). Jeśli nie znasz identyfikatora klienta, możesz wyszukać go w Centrum partnerskim w obszarze roboczym Klienci. Wybierz klienta z listy klienta, a następnie wybierz pozycję Konto. Na stronie Konto klienta poszukaj identyfikatora Microsoft w sekcji Informacje o koncie klienta. Identyfikator Microsoft jest taki sam jak identyfikator klienta (customer-tenant-id
).Identyfikator subskrypcji.
Metoda Centrum partnerskiego
Aby anulować subskrypcję platformy handlowej w Centrum partnerskim:
Wybierz subskrypcję, którą chcesz anulować.
Wybierz opcję Anuluj subskrypcję, a następnie wybierz pozycję Prześlij.
C#
Aby anulować subskrypcję klienta:
Pobierz subskrypcję według identyfikatora.
Zmień właściwość Status subskrypcji. Aby uzyskać informacje na temat kodów stanu , zobacz wyliczenie SubscriptionStatus.
Po wprowadzeniu zmiany użyj
IAggregatePartner.Customers
kolekcji i wywołaj metodę ById().Wywołaj właściwość Subscriptions, a następnie metodę ById().
Wywołaj metodę Patch().
// IAggregatePartner partnerOperations;
// var selectedCustomerId as string;
// Subscription selectedSubscription;
selectedSubscription.Status = SubscriptionStatus.Deleted;
var updatedSubscription = partnerOperations.Customers.ById(selectedCustomerId).Subscriptions.ById(selectedSubscription.Id).Patch(selectedSubscription);
Przykładowa aplikacja testowa konsoli
Przykład: aplikacja testowa konsoli. Projekt: PartnerSDK.FeatureSample Class: UpdateSubscription.cs
Żądanie REST
Składnia żądania
Method | Identyfikator URI żądania |
---|---|
PATCH | {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id} HTTP/1.1 |
Parametr identyfikatora URI
W tej tabeli wymieniono wymagany parametr zapytania, aby zawiesić subskrypcję.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
identyfikator dzierżawy klienta | guid | Y | Identyfikator GUID odpowiadający klientowi. |
identyfikator subskrypcji | guid | Y | Identyfikator GUID odpowiadający subskrypcji. |
Nagłówki żądań
Aby uzyskać więcej informacji, zobacz Nagłówki REST Centrum partnerskiego.
Treść żądania
Pełny zasób subskrypcji jest wymagany w treści żądania. Aby anulować subskrypcję, upewnij się, że właściwość Status została zaktualizowana do wartości deleted
.
Pole | Typ | Wymagania | opis |
---|---|---|---|
status | string | Y | Stan subskrypcji. Opcje mogą być następujące: active , , suspended deleted |
Przykład żądania
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"},
}
Odpowiedź REST
Jeśli żądanie zakończy się pomyślnie, ta metoda zwraca usunięte właściwości zasobu Subskrypcja w treści odpowiedzi.
Kody powodzenia i błędów odpowiedzi
Każda odpowiedź zawiera kod stanu HTTP, który wskazuje powodzenie lub niepowodzenie i dodatkowe informacje o debugowaniu. Użyj narzędzia do śledzenia sieci, aby odczytać ten kod, typ błędu i dodatkowe parametry. Aby uzyskać pełną listę, zobacz Kody błędów.
Przykład odpowiedzi
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"
}
}