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ódeł handlu.
Uwaga
Nowe doświadczenia handlowe dla usług opartych na licencjach obejmują wiele nowych funkcji i są dostępne dla wszystkich Dostawców rozwiązań w chmurze (CSP). Aby uzyskać więcej informacji, zobacz omówienie nowych doświadczeń 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. Najpierw użyj polecenia GET, aby uzyskać kwalifikujące się przejścia i dostępne do uaktualnienia SKU. Następnie POST transition w celu wykonania przejścia.
Uzyskaj uprawnienia do przejścia
Zwraca listę możliwych 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 jak opisano w Uwierzytelnianie w Centrum partnerskim. Ten scenariusz obsługuje uwierzytelnianie zarówno przy użyciu poświadczeń samodzielnej aplikacji, jak i poświadczeń aplikacji i użytkownika.
Identyfikator klienta (
customer-tenant-id
). Jeśli nie znasz identyfikatora klienta, możesz wyszukać go w Partner Center, wybierając obszar roboczy Klienci, następnie klienta z listy, a potem pozycję Konto. Na stronie Konta klienta poszukaj identyfikatora Microsoft ID w sekcji Informacje o koncie klienta. Identyfikator Microsoft jest taki sam jak identyfikator klienta (customer-tenant-id
).Identyfikator subskrypcji początkowej.
Role w 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 wersji dziedzicznej i NCE, GDAP jest wymagany tylko dla wersji dziedzicznej.
Żądanie REST
Składnia żądania
Metoda | 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ć kwalifikowane przejścia.
Nazwisko | Rodzaj | Wymagane | opis |
---|---|---|---|
identyfikator dzierżawy klienta | GUID | Y | Identyfikator GUID odpowiadający dzierżawcy klienta. |
identyfikator subskrypcji | guid | Y | Początkowej subskrypcji odpowiadający identyfikator GUID. |
typ kwalifikowalności | 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 Partner Center REST headers.
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 zakończy się powodzeniem, zwraca listę dostępnych 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 jest udany |
Typ przejścia nie jest zgodny — wymagane jest mapowanie subskrypcji usługi AzureAD. | Błąd LegacyCannotConvertSubscriptionId podczas wywoływania funkcji GetSubscriptionUpgradeConflicts |
Typ przejścia nie jest zgodny — istnieją subskrypcje konfliktowe dla przeniesienia licencji. | Jeśli jakakolwiek usługa Microsoft Entra ma identyfikatory subskrypcji z innej subskrypcji, dodaj ją do listy konfliktów (w tym zakupy dokonane przy użyciu starszego lub nowszego trybu zakupu). |
Błędy kwalifikacji do 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 kwalifikowalności jest określony jako Zaplanowane. Możesz przejść tylko do istniejącej subskrypcji z natychmiastowym przejściem (nazywanym również "środokresowym"), a nie z zaplanowaną zmianą.
Opis błędu | Kod błędu |
---|---|
Subskrypcja nie jest aktywna. | SubskrypcjaNieaktywna = 1 |
Subskrypcja jest w okresie, w którym można ją anulować. | SubscriptionInCancellationWindow = 2 |
Czas trwania okresu subskrypcji jest krótszy niż czas trwania subskrypcji źródłowej. | Czas trwania subskrypcji krótszy niż źródłowy czas trwania = 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"
}
}
Okres po zmianie
Publikuje żądanie przeniesienia dla danego klienta i subskrypcji. Zwraca przejście ze stanem początkowym.
Wymagania wstępne
Dane uwierzytelniające, zgodnie z opisem w sekcji autoryzacja 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 Partnerów, wybierając obszar roboczy Klienci, następnie wybierając klienta z listy klientów, a potem pozycję Konto. Na stronie Konta klienta poszukaj identyfikatora Microsoft w 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 na czas przejścia)
- Narzędzie do zapisu katalogów (przejście połączone z przeniesieniem licencji)
Uwaga
Chociaż ten interfejs API jest dostępny dla wersji dziedzicznej i NCE, GDAP jest wymagany tylko dla wersji dziedzicznej.
Żądanie REST
Składnia żądania
Metoda | Żądanie URI |
---|---|
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 | Typ | Wymagane | opis |
---|---|---|---|
identyfikator dzierżawy klienta | guid | Y | Identyfikator GUID odpowiadający dzierżawcy 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ść | Typ | Wymagane | opis |
---|---|---|---|
zElementuKataloguId | string | Nie | Element wykazu, z którego przechodzisz. |
IdentyfikatorSubskrypcjiPochodzenia | string | Nie | Identyfikator subskrypcji, z której przechodzisz. |
toCatalogItemId (identyfikator elementu katalogu) | string | Tak | Element wykazu, do którego przechodzisz. |
toSubscriptionId | ciąg znaków | Nie | Identyfikator subskrypcji, do której przechodzisz. |
ilość | liczba całkowita | Tak | Liczba licencji do przeniesienia. |
okres trwania | ciąg znaków | Nie | Określanie terminu trwania subskrypcji. |
billingCycle | string | Nie | Określanie cyklu rozliczeniowego subskrypcji. |
typPrzejścia | 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 odpowiedzi: sukcesu i błędów
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"
}
}