Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : Espace partenaires | Espace partenaires géré par 21Vianet | Espace partenaires pour Microsoft Cloud pour le gouvernement des États-Unis
Rôles appropriés
- Agent administrateur
Ces méthodes prennent en charge les abonnements traditionnels et de nouvelles sources commerciales.
Remarque
Les nouvelles expériences commerciales pour les services basés sur des licences incluent de nombreuses nouvelles fonctionnalités et sont disponibles pour toutes les fournisseur de solutions Cloud (csp). Pour plus d’informations, consultez vue d’ensemble des nouvelles expériences commerciales.
Utilisé pour mettre à niveau le nouvel abonnement commercial d’un client vers un abonnement cible ou convertir une version d’évaluation NCE en abonnement payant. Pour effectuer la transition d’un abonnement, deux demandes d’API doivent être effectuées. Commencez par GET eligible transitions pour obtenir les SKU disponibles pour la mise à niveau. Ensuite, effectuez une requête POST sur transition pour exécuter la transition.
Obtenir les éligibilités de transition
Retourne la liste des transitions éligibles pour un client, un abonnement et un type demandé donnés. Retourne également l’éligibilité à la mise à niveau de l’abonnement de destination. Les éligibilités de transition peuvent inclure des offres qui se trouvent dans l’état EndofSaleWithConversions.
Prérequis
Informations d’identification, comme décrites dans l’authentification du Partner Center. Ce scénario prend en charge l’authentification avec les identifiants de l’application seule ainsi qu’avec ceux combinés de l’application et de l’utilisateur.
Un identifiant client (
customer-tenant-id). Si vous ne connaissez pas l’ID du client, vous pouvez le rechercher dans Partner Center en sélectionnant l’espace de travail Clients, puis le client dans la liste des clients, puis Compte. Sur la page Compte du client, recherchez l’ID Microsoft dans la section Informations sur le compte client. L’ID Microsoft est identique à l’ID client (customer-tenant-id).Identifiant d’abonnement pour l’abonnement initial.
Rôles GDAP
Vous aurez besoin d’au moins l’un des rôles GDAP suivants :
- Lecteur de répertoire
- Global Reader
Remarque
Bien que cette API soit disponible pour le mode hérité et NCE, GDAP n’est requis que pour le mode hérité.
Demande REST
Syntaxe de la requête
| Méthode | URI de la requête |
|---|---|
| GET | {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id}/transitionEligibilities?eligibilityType={immediate, scheduled} HTTP/1.1 |
Paramètre d’URI
Utilisez les paramètres de requête suivants pour retourner des transitions éligibles.
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
| customer-tenant-id | guid | Y | Un GUID correspondant au tenant du client. |
| ID d’abonnement | guid | Y | Un GUID correspondant à l’abonnement initial. |
| eligibilityType | string | N | Décrit quand la transition doit être exécutée ; peut être immédiat ou planifié. La valeur par défaut est Immediate. |
En-têtes de requête
Pour plus d’informations, consultez En-têtes REST du Centre de partenaires.
Corps de la requête
Aucune
Exemple de requête
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
Réponse REST
Si elle réussit, cette méthode retourne une liste des transitions éligibles pour l’abonnement donné dans le corps de la réponse.
Codes d’erreur et de réussite de la réponse
Chaque réponse est fournie avec un code d’état HTTP qui indique la réussite ou l’échec et plus d’informations de débogage. Utilisez un outil de suivi réseau pour lire ce code, le type d’erreur et d’autres paramètres. Pour la liste complète, consultez Codes d’erreur.
Erreurs d’éligibilité
Descriptions et signification des erreurs.
| Description de l'erreur | Sens |
|---|---|
| L’abonnement ne peut pas être transitionné : l’abonnement source n’est pas actif. | Le statut secondaire d’origine n’est pas actif |
| L’abonnement ne peut pas être transféré : l’abonnement source n’est pas encore provisionné. | Le sous-état FulfillmentState d’origine n’indique pas une réussite |
| Le type de transition n’est pas compatible - le mappage de l’abonnement AzureAD est requis. | Erreur LegacyCannotConvertSubscriptionId lors de l’appel de GetSubscriptionUpgradeConflicts |
| Le type de transition n’est pas compatible : les abonnements en conflit pour le transfert de licence existent. | Si un service Microsoft Entra possède des ID d’abonnement à partir d’un autre abonnement, ajoutez-le à la liste des conflits (y compris les achats effectués avec un flux d’achat hérité ou moderne) |
Erreurs d’éligibilité de l’abonnement
Si un abonnement de destination ne peut pas faire l’objet d’une mise à niveau vers celui-ci, l’une des raisons suivantes est renvoyée.
Des listes vides sont renvoyées si l’abonnement source est un abonnement d’essai ou si eligibilityType est défini sur Scheduled. Vous ne pouvez passer qu’à un abonnement existant avec une transition immédiate (également appelée « midterm »), pas une modification planifiée.
| Description de l'erreur | Code d’erreur |
|---|---|
| L’abonnement n’est pas actif. | SubscriptionNotActive = 1 |
| L’abonnement est encore dans le délai de résiliation. | SubscriptionInCancellationWindow = 2 |
| La durée de l’abonnement est plus courte que la durée de l’abonnement source. | SubscriptionTermDurationShorterThanSourceTermDuration = 3 |
| La date de fin de l’abonnement est antérieure à la date de fin de l’abonnement source. | La date de fin de l’abonnement est antérieure à la date de fin de l’abonnement source. = 4 |
Exemple de réponse
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"
}
}
Exemple de réponse pour les dates autorisées de transition
Certaines références SKU de trois ans avec des équipes permettent aux partenaires en Europe de transférer vers des références SKU sans équipes. Ces transitions ne peuvent se produire que sur les dates annversaires telles que définies dans le résultat elgibily de transition et les dates autorisées.
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": 1,
"items": [
{
"catalogItemId": "CFQ7TTBZZR6H:001L:CFQ7TTC0K994",
"title": "Microsoft 365 E7 - 3 year",
"description": "Microsoft 365 E5, Microsoft 365 Copilot, Agent 365, and Entra Suite. This per-user licensed suite of products offers customers the latest, most advanced, productivity, security, and AI for user and user's agents.",
"quantity": 100,
"subscriptionEligibilities": [],
"transitionAllowedDates": ["2026-08-01T00:00:00Z", "2027-08-01T00:00:00Z"], // This field will show up only if applicable
"eligibilities": [
{
"isEligible": true,
"transitionType": "transition_only",
"errors": []
},
{
"isEligible": true,
"transitionType": "transition_with_license_transfer",
"errors": []
}
],
"attributes": {
"objectType": "TransitionEligibility"
}
}]
}
Après la transition
Publie une demande de transition pour un client et un abonnement donnés. Retourne la transition avec son état initial.
Prérequis
Informations d’identification, comme décrit dans Authentification de l’Espace partenaires. Ce scénario prend en charge l’authentification avec des informations d’identification d’application seule et d’application + utilisateur.
ID du client (
customer-tenant-id). Si vous ne connaissez pas l’identifiant du client, vous pouvez le trouver dans Partner Center en sélectionnant l’espace de travail Customers, puis le client dans la liste des clients, puis Account. Sur la page Compte du client, recherchez l’ID Microsoft dans la section Informations sur le compte client. L’ID Microsoft est identique à l’ID client (customer-tenant-id).Un identifiant pour l’abonnement initial.
Rôles GDAP
Vous aurez besoin d’au moins l’un des rôles GDAP suivants :
- Lecteur d’annuaire ou Lecteur global (transition uniquement)
- Enregistreur d’annuaires (transition avec transfert de licence)
Remarque
Bien que cette API soit disponible pour l’ancien modèle et NCE, GDAP n’est requis que pour l’ancien modèle.
Demande REST
Syntaxe de la requête
| Méthode | URI de la requête |
|---|---|
| POST | {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id}/transitions HTTP/1.1 |
Paramètre d’URI
Utilisez les paramètres de requête suivants pour exécuter une transition.
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
| customer-tenant-id | guid | Y | Un GUID correspondant au tenant du client. |
| ID d’abonnement | guid | Y | Un GUID correspondant à l’abonnement initial. |
En-têtes de requête
Pour plus d’informations, consultez En-têtes REST de Partner Center.
Corps de la requête
Ce tableau décrit les propriétés de Transition dans le corps de la requête.
| Propriété | Type | Obligatoire | Description |
|---|---|---|---|
| fromCatalogItemId | chaîne de caractères | Non | Élément de catalogue à partir duquel vous effectuez la transition. |
| fromSubscriptionId | chaîne de caractères | Non | ID d’abonnement à partir duquel vous effectuez la transition. |
| toCatalogItemId | chaîne de caractères | Oui | Élément de catalogue vers lequel vous effectuez la transition. |
| toSubscriptionId | chaîne de caractères | Non | ID d’abonnement vers lequel vous effectuez la transition. |
| quantité | entier | Oui | Le nombre de licences à transférer. |
| termDuration | string | Non | Spécification de la durée de l’abonnement. |
| billingCycle | string | Non | Spécification de la cycle de facturation de l’abonnement. |
| transitionType | chaîne de caractères | Oui | Type de transition. Valeurs possibles - transition_only, transition_with_license_transfer. |
Exemple de requête
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"
}
Réponse REST
En cas de réussite, cette méthode renvoie une ressource Transition dans son état initial.
Codes d’erreur et de réussite de la réponse
Chaque réponse est fournie avec un code d’état HTTP qui indique la réussite ou l’échec et plus d’informations de débogage. Utilisez un outil de suivi réseau pour lire ce code, le type d’erreur et d’autres paramètres. Pour la liste complète, consultez Codes d’erreur.
Exemple de réponse
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"
}
}