Przeniesienie nowej subskrypcji handlowej
Dotyczy: Centrum partnerskie | Centrum partnerskie obsługiwane przez firmę 21Vianet | Centrum partnerskie dla chmury firmy Microsoft dla instytucji rządowych USA
Odpowiednie role
- Agent administracyjny
Te metody obsługują zarówno tradycyjne, jak i nowe subskrypcje źródłowe handlu.
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.
Służy do uaktualniania nowej subskrypcji handlowej klienta do subskrypcji docelowej lub konwertowania wersji próbnej usługi NCE na płatną subskrypcję. Aby można było przenieść subskrypcję, należy wykonać dwa żądania interfejsu API. Pierwsze kwalifikujące się przejścia GET w celu uzyskania jednostek SKU dostępnych do uaktualnienia. Następnie przejście POST w celu wykonania przejścia.
Uzyskiwanie uprawnień do przejścia
Zwraca listę kwalifikujących się przejść dla danego klienta, subskrypcji i żądanego typu. Zwraca również uprawnienia do uaktualnienia subskrypcji docelowej. Uprawnienia do przejścia mogą obejmować oferty, które znajdują się w stanie EndofSaleWithConversions.
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, wybierając obszar roboczy Klienci , a następnie klienta z listy klienta, a następnie 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 początkowej.
Role GDAP
Będziesz potrzebować co najmniej jednej z następujących ról GDAP:
- Czytelnik katalogów
- Czytelnik globalny
Uwaga
Chociaż ten interfejs API jest dostępny dla starszej wersji i NCE, GDAP jest wymagany tylko w przypadku starszej wersji.
Żądanie REST
Składnia żądania
Method | Identyfikator URI żądania |
---|---|
GET | {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id}/transitionEligibilities?eligibilityType={immediate, scheduled} HTTP/1.1 |
Parametr identyfikatora URI
Użyj następujących parametrów zapytania, aby zwrócić kwalifikujące się przejścia.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
identyfikator dzierżawy klienta | guid | Y | Identyfikator GUID odpowiadający dzierżawie klienta. |
identyfikator subskrypcji | guid | Y | Identyfikator GUID odpowiadający początkowej subskrypcji. |
kwalifikowalnościType | string | N | Opisuje, kiedy ma zostać wykonane przejście; może być natychmiastowe lub zaplanowane. Wartość domyślna to Immediate . |
Nagłówki żądań
Aby uzyskać więcej informacji, zobacz Nagłówki REST Centrum partnerskiego.
Treść żądania
Brak
Przykład żądania
GET https://api.partnercenter.microsoft.com/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id}/transitionEligibilities?eligibilityType=immediate HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
Odpowiedź REST
Jeśli ta metoda powiedzie się, zwraca listę kwalifikujących się przejść dla danej subskrypcji 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 więcej informacji o debugowaniu. Użyj narzędzia do śledzenia sieci, aby odczytać ten kod, typ błędu i inne parametry. Aby uzyskać pełną listę, zobacz Kody błędów.
Błędy uprawnień
Opisy błędów i znaczenie.
Opis błędu | Znaczenie |
---|---|
Nie można przenieść subskrypcji — subskrypcja źródłowa nie jest aktywna. | Oryginalny stan podrzędny nie jest aktywny |
Nie można przenieść subskrypcji — subskrypcja źródłowa nie została jeszcze aprowizowana. | Oryginalny sub FulfillmentState nie powiodło się |
Typ przejścia nie jest zgodny — wymagane jest mapowanie subskrypcji usługi AzureAD. | Błąd LegacyCannotConvertSubscriptionId podczas wywoływania metody GetSubscriptionUpgradeConflicts |
Typ przejścia nie jest zgodny — istnieją subskrypcje powodujące konflikt dla przeniesienia licencji. | Jeśli dowolna usługa Microsoft Entra ma identyfikatory subskrypcji z innej subskrypcji, dodaj ją do listy konfliktów (łącznie z zakupami wykonanymi przy użyciu starszego lub nowoczesnego przepływu zakupów) |
Błędy uprawnień subskrypcji
Jeśli subskrypcja docelowa nie kwalifikuje się do uaktualnienia, zostanie zwrócona jedna z następujących przyczyn.
Puste listy zostaną zwrócone, jeśli subskrypcja źródłowa jest wersją próbną lub jeśli typ uprawnień jest określony jako Zaplanowane. Możesz przejść tylko do istniejącej subskrypcji z bezpośrednim przejściem (nazywanym również "midterm"), a nie zaplanowaną zmianą.
Opis błędu | Kod błędu |
---|---|
Subskrypcja nie jest aktywna. | SubscriptionNotActive = 1 |
Subskrypcja znajduje się w oknie anulowania. | SubscriptionInCancellationWindow = 2 |
Czas trwania okresu subskrypcji jest krótszy niż czas trwania subskrypcji źródłowej. | SubscriptionTermDurationShorterThanSourceTermDuration = 3 |
Data zakończenia okresu subskrypcji przypada przed datą zakończenia okresu subskrypcji źródłowej. | Data zakończenia okresu subskrypcji przypada przed datą zakończenia okresu subskrypcji źródłowej. = 4 |
Przykład odpowiedzi
HTTP/1.1 200 OK
Content-Length: 138
Content-Type: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
Date: Fri, 26 Feb 2021 20:42:26 GMT
{
"totalCount": 2,
"items": [
{
"operationId": "1caf8ec7-62cc-4ab5-b35d-572d2a62974c",
"catalogItemId": "CFQ7TTC0KZCR:0001:CFQ7TTC0K71H",
"title": "Microsoft 365 E5 Test Sku Title",
"description": "Microsoft 365 E5 Test Sku Description",
"quantity": 1,
"subscriptionEligibilities": [
{
"isEligible": false,
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"subscriptionFriendlyName": "Microsoft 365 Business Premium",
"subscriptionTermDuration": "P1M",
"subscriptionBillingCycle": "monthly",
"errors": [
{
"code": 3,
"description": "The subscription's term duration is shorter than the source subscription's term duration."
}
]
},
{
"isEligible": true,
"subscriptionId": "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
"subscriptionFriendlyName": "Microsoft 365 Business Premium",
"subscriptionTermDuration": "P1Y",
"subscriptionBillingCycle": "monthly",
"errors": []
}
],
"eligibilities": [
{
"isEligible": true,
"transitionType": "transition_only",
"errors": []
},
{
"isEligible": false,
"transitionType": "transition_with_license_transfer",
"errors": [
{
"code": 3,
"description": "Subscription cannot be transitioned because there are conflicting services."
}
]
}
],
"attributes": {
"objectType": "TransitionEligibility"
}
},
{
"operationId": "1caf8ec7-62cc-4ab5-b35d-572d2a62974c",
"catalogItemId": "CFQ7TTC0L4M3:0001:CFQ7TTC0K78T",
"title": "Business Premium Test Sku Title",
"description": "Business Premium Test Sku Description",
"quantity": 1,
"eligibilities": [
{
"isEligible": false,
"transitionType": "transition_with_license_transfer",
"errors": [
{
"code": 3,
"description": "Subscription cannot be transitioned because there are conflicting services."
}
]
}
],
"attributes": {
"objectType": "TransitionEligibility"
}
}
],
"attributes": {
"objectType": "Collection"
}
}
Przejście po przejściu
Publikuje żądanie przeniesienia dla danego klienta i subskrypcji. Zwraca przejście ze stanem początkowym.
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, wybierając obszar roboczy Klienci , a następnie klienta z listy klienta, a następnie 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 początkowej.
Role GDAP
Będziesz potrzebować co najmniej jednej z następujących ról GDAP:
- Czytelnik katalogu lub Czytelnik globalny (tylko przejście)
- Składnik zapisywania katalogów (przejście z transferem licencji)
Uwaga
Chociaż ten interfejs API jest dostępny dla starszej wersji i NCE, GDAP jest wymagany tylko w przypadku starszej wersji.
Żądanie REST
Składnia żądania
Method | Identyfikator URI żądania |
---|---|
POST | {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id}/transitions HTTP/1.1 |
Parametr identyfikatora URI
Aby wykonać przejście, użyj następujących parametrów zapytania.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
identyfikator dzierżawy klienta | guid | Y | Identyfikator GUID odpowiadający dzierżawie klienta. |
identyfikator subskrypcji | guid | Y | Identyfikator GUID odpowiadający początkowej subskrypcji. |
Nagłówki żądań
Aby uzyskać więcej informacji, zobacz Nagłówki REST Centrum partnerskiego.
Treść żądania
W tej tabeli opisano właściwości Przejścia w treści żądania.
Właściwość | Type | Wymagania | opis |
---|---|---|---|
fromCatalogItemId | string | Nie | Element wykazu, z którego przechodzisz. |
fromSubscriptionId | string | Nie | Identyfikator subskrypcji, z której przechodzisz. |
toCatalogItemId | string | Tak | Element wykazu, do którego przechodzisz. |
toSubscriptionId | string | Nie | Identyfikator subskrypcji, do której przechodzisz. |
ilość | integer | Tak | Liczba licencji do przejścia. |
termDuration | string | Nie | Określanie terminu trwania subskrypcji. |
billingCycle | string | Nie | Określanie cyklu rozliczeniowego subskrypcji. |
transitionType | string | Tak | Typ przejścia. Możliwe wartości — transition_only , transition_with_license_transfer . |
Przykład żądania
POST https://api.partnercenter.microsoft.com/v1/customers/{customerId}/subscriptions/{subscriptionId}/transitions HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
{
"fromCatalogItemId": "CFQ7TTC0LF8Q:0001:CFQ7TTC0K39X",
"fromSubscriptionId": "e487e8dc-421e-4275-cb42-3c1c8daccf70",
"toCatalogItemId": "CFQ7TTC0LF8R:0001:CFQ7TTC0KCSV",
"toSubscriptionId": "0af52192-4a2a-4364-d25b-c8ecab3a5697",
"quantity": 2,
"termDuration": "P1M",
"billingCycle": "Monthly",
"transitionType": "transition_only"
}
Odpowiedź REST
W przypadku powodzenia ta metoda zwraca zasób Transition ze stanem początkowym.
Kody powodzenia i błędów odpowiedzi
Każda odpowiedź zawiera kod stanu HTTP, który wskazuje powodzenie lub niepowodzenie i więcej informacji o debugowaniu. Użyj narzędzia do śledzenia sieci, aby odczytać ten kod, typ błędu i inne parametry. Aby uzyskać pełną listę, zobacz Kody błędów.
Przykład odpowiedzi
HTTP/1.1 200 OK
Content-Length: 138
Content-Type: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
Date: Fri, 26 Feb 2021 20:42:26 GMT
{
"fromCatalogItemId": "CFQ7TTC0LF8Q:0001:CFQ7TTC0K39X",
"fromSubscriptionId": "e487e8dc-421e-4275-cb42-3c1c8daccf70",
"toCatalogItemId": "CFQ7TTC0LF8R:0001:CFQ7TTC0KCSV",
"toSubscriptionId": "0af52192-4a2a-4364-d25b-c8ecab3a5697",
"quantity": 2,
"termDuration": "P1M",
"billingCycle": "Monthly",
"transitionType": "transition_only"
"Events": [
{
"name": "Conversion",
"status": "Started ",
"timestamp": "2021-01-08T18:01:14.7488618Z",
"attributes":
{
"objectType": "TransitionEvent"
}
}
],
"attributes":
{
"objectType": "Transition"
}
}