Eseguire la transizione di una nuova sottoscrizione commerciale
Si applica a: Centro per i partner | Centro per i partner gestito da 21Vianet | Centro per i partner per Microsoft Cloud per il governo degli Stati Uniti
Ruoli appropriati
- Agente amministratore
Questi metodi supportano sottoscrizioni tradizionali e nuove di origine commerciale.
Nota
Le nuove esperienze commerciali per i servizi basati su licenza includono molte nuove funzionalità e sono disponibili per tutti i provider di soluzioni cloud. Per altre informazioni, vedere la panoramica delle nuove esperienze commerciali.
Usato per aggiornare la nuova sottoscrizione commerciale di un cliente a una sottoscrizione di destinazione o convertire una versione di valutazione di NCE in una sottoscrizione a pagamento. Per eseguire la transizione di una sottoscrizione, è necessario effettuare due richieste API. Prima transizione idonea GET per ottenere gli SKU disponibili per l'aggiornamento. Eseguire quindi la transizione POST per eseguire la transizione.
Ottenere le idoneità per la transizione
Restituisce un elenco di transizioni idonee per un determinato cliente, sottoscrizione e tipo richiesto. Restituisce anche l'idoneità per l'aggiornamento della sottoscrizione di destinazione. Le idoneità per la transizione possono includere offerte nello stato EndofSaleWithConversions.
Prerequisiti
Credenziali descritte in Autenticazione del Centro per i partner. Questo scenario supporta l'autenticazione con le credenziali app autonome e App+Utente.
ID cliente (
customer-tenant-id
). Se non si conosce l'ID del cliente, è possibile cercarlo nel Centro per i partner selezionando l'area di lavoro Clienti , quindi il cliente dall'elenco dei clienti, quindi Account. Nella pagina Account del cliente cercare l'ID Microsoft nella sezione Informazioni sull'account del cliente. L'ID Microsoft corrisponde all'ID del cliente (customer-tenant-id
).ID sottoscrizione per la sottoscrizione iniziale.
Ruoli GDAP
Sono necessari almeno uno dei ruoli GDAP seguenti:
- Ruolo con autorizzazioni di lettura della directory
- Ruolo con autorizzazioni di lettura globali
Nota
Anche se questa API è disponibile per legacy e NCE, GDAP è necessaria solo per la versione legacy.
Richiesta REST
Sintassi della richiesta
metodo | URI della richiesta |
---|---|
GET | {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id}/transitionEligibilities?eligibilityType={immediate, scheduled} HTTP/1.1 |
Parametro URI
Usare i parametri di query seguenti per restituire transizioni idonee.
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
customer-tenant-id | guid | Y | GUID corrispondente al tenant del cliente. |
subscription-id | guid | Y | GUID corrispondente alla sottoscrizione iniziale. |
idoneitàType | string | N | Descrive quando la transizione deve essere eseguita; può essere immediato o pianificato. Il valore predefinito è Immediate . |
Intestazioni delle richieste
Per altre informazioni, vedi Intestazioni REST del Centro per i partner.
Testo della richiesta
None
Esempio di richiesta
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
Risposta REST
In caso di esito positivo, questo metodo restituisce un elenco delle transizioni idonee per la sottoscrizione specificata nel corpo della risposta.
Codici di errore e di esito della risposta
Ogni risposta viene fornita con un codice di stato HTTP che indica l'esito positivo o negativo e altre informazioni di debug. Usare uno strumento di traccia di rete per leggere questo codice, il tipo di errore e altri parametri. Per l'elenco completo, vedi Codici di errore.
Errori di idoneità
Descrizioni degli errori e significato.
Descrizione errore | significato |
---|---|
Non è possibile eseguire la transizione della sottoscrizione. La sottoscrizione di origine non è attiva. | Stato secondario originale non attivo |
Non è possibile eseguire la transizione della sottoscrizione: non è ancora stato effettuato il provisioning della sottoscrizione di origine. | FulfillmentState secondario originale non ha esito positivo |
Il tipo di transizione non è compatibile: è necessario il mapping delle sottoscrizioni di AzureAD. | Errore LegacyCannotConvertSubscriptionId durante la chiamata a GetSubscriptionUpgradeConflicts |
Il tipo di transizione non è compatibile: esistono sottoscrizioni in conflitto per il trasferimento delle licenze. | Se un servizio Microsoft Entra ha ID sottoscrizione da una sottoscrizione diversa, aggiungerlo all'elenco dei conflitti (include gli acquisti effettuati con il flusso di acquisto legacy o moderno) |
Errori di idoneità della sottoscrizione
Se una sottoscrizione di destinazione non è idonea per l'aggiornamento a, verrà restituito uno dei motivi seguenti.
Gli elenchi vuoti verranno restituiti se la sottoscrizione di origine è una versione di valutazione o se l'idoneitàType viene specificata come pianificata. È possibile eseguire la transizione solo in una sottoscrizione esistente con una transizione immediata (nota anche come "midterm") e non una modifica pianificata.
Descrizione errore | Codice errore |
---|---|
La sottoscrizione non è attiva. | SubscriptionNotActive = 1 |
La sottoscrizione si trova all'interno della finestra di annullamento. | SubscriptionInDegtionWindow = 2 |
La durata della sottoscrizione è inferiore alla durata della sottoscrizione di origine. | SubscriptionTermDurationShorterThanSourceTermDuration = 3 |
La data di fine del termine della sottoscrizione è prima della data di fine del termine della sottoscrizione di origine. | La data di fine del termine della sottoscrizione è prima della data di fine del termine della sottoscrizione di origine. =4 |
Risposta di esempio
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"
}
}
Post-transizione
Invia una richiesta di transizione per un determinato cliente e sottoscrizione. Restituisce la transizione con lo stato iniziale.
Prerequisiti
Credenziali descritte in Autenticazione del Centro per i partner. Questo scenario supporta l'autenticazione con le credenziali app autonome e App+Utente.
ID cliente (
customer-tenant-id
). Se non si conosce l'ID del cliente, è possibile cercarlo nel Centro per i partner selezionando l'area di lavoro Clienti , quindi il cliente dall'elenco dei clienti, quindi Account. Nella pagina Account del cliente cercare l'ID Microsoft nella sezione Informazioni sull'account del cliente. L'ID Microsoft corrisponde all'ID del cliente (customer-tenant-id
).ID sottoscrizione per la sottoscrizione iniziale.
Ruoli GDAP
Sono necessari almeno uno dei ruoli GDAP seguenti:
- Lettore directory o lettore globale (solo transizione)
- Writer directory (transizione con trasferimento di licenze)
Nota
Anche se questa API è disponibile per legacy e NCE, GDAP è necessaria solo per la versione legacy.
Richiesta REST
Sintassi della richiesta
metodo | URI della richiesta |
---|---|
POST | {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id}/transitions HTTP/1.1 |
Parametro URI
Usare i parametri di query seguenti per eseguire una transizione.
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
customer-tenant-id | guid | Y | GUID corrispondente al tenant del cliente. |
subscription-id | guid | Y | GUID corrispondente alla sottoscrizione iniziale. |
Intestazioni delle richieste
Per altre informazioni, vedi Intestazioni REST del Centro per i partner.
Testo della richiesta
Questa tabella descrive le proprietà di transizione nel corpo della richiesta.
Proprietà | Type | Obbligatorio | Descrizione |
---|---|---|---|
fromCatalogItemId | string | No | Elemento del catalogo da cui si sta eseguendo la transizione. |
fromSubscriptionId | string | No | ID sottoscrizione da cui si sta eseguendo la transizione. |
toCatalogItemId | string | Sì | Elemento del catalogo a cui si sta eseguendo la transizione. |
toSubscriptionId | string | No | ID sottoscrizione a cui si sta eseguendo la transizione. |
quantity | integer | Sì | Numero di licenze da trasferire. |
termDuration | string | No | Specifica della durata della sottoscrizione. |
billingCycle | string | No | Specifica del ciclo di fatturazione della sottoscrizione. |
transitionType | string | Sì | Tipo di transizione. Valori possibili - transition_only , transition_with_license_transfer . |
Esempio di richiesta
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"
}
Risposta REST
In caso di esito positivo, questo metodo restituisce una risorsa Transition con lo stato iniziale.
Codici di errore e di esito della risposta
Ogni risposta viene fornita con un codice di stato HTTP che indica l'esito positivo o negativo e altre informazioni di debug. Usare uno strumento di traccia di rete per leggere questo codice, il tipo di errore e altri parametri. Per l'elenco completo, vedi Codici di errore.
Risposta di esempio
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"
}
}