Partager via


Passer à un nouvel abonnement commercial

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 la 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. Tout d’abord , les transitions éligibles GET pour obtenir les références SKU disponibles pour la mise à niveau. Ensuite , la transition POST 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écrit dans Authentification auprès de l’Espace partenaires. Ce scénario prend en charge l’authentification avec les informations d’identification d’application et d’application+utilisateur autonomes.

  • ID du client (customer-tenant-id). Si vous ne connaissez pas l’ID du client, vous pouvez le rechercher dans l’Espace de partenaires en sélectionnant l’espace de travail Clients, puis le client dans la liste des clients, puis compte. Dans la page Compte du client, recherchez l’ID Microsoft dans la section Informations sur le compte client. L’ID Microsoft est le même que l’ID de client (customer-tenant-id).

  • ID d’abonnement de l’abonnement initial.

Rôles GDAP

Vous aurez besoin d’au moins l’un des rôles GDAP suivants :

  • Lecteur de répertoire
  • Lecteur général

Remarque

Bien que cette API soit disponible pour l’héritage et la NCE, GDAP n’est nécessaire que pour l’héritage.

Demande REST

Syntaxe de la requête

Method URI de demande
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 Requise Description
id-locataire-client guid Y GUID correspondant au locataire du client.
id-abonnement guid Y 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 de l’Espace Partenaires.

Corps de demande

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 obtenir la liste complète, consultez Codes d’erreur.

Erreurs d’éligibilité

Descriptions et signification des erreurs.

Description de l'erreur Signification
L’abonnement ne peut pas être transitionné : l’abonnement source n’est pas actif. Sous-état d’origine non actif
L’abonnement ne peut pas être transféré : l’abonnement source n’est pas encore provisionné. L’état de sous-traitement d’origine n’est pas réussi
Le type de transition n’est pas compatible : le mappage d’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 n’est pas éligible à la mise à niveau, l’une des raisons suivantes est retournée.

Les listes vides sont retournées si l’abonnement source est un essai ou si l’éligibilitéType est spécifiée comme planifié. 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 dans la fenêtre d’annulation. 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"
  }
}

Post 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 auprès de l’Espace partenaires. Ce scénario prend en charge l’authentification avec les informations d’identification d’application et d’application+utilisateur autonomes.

  • ID du client (customer-tenant-id). Si vous ne connaissez pas l’ID du client, vous pouvez le rechercher dans l’Espace de partenaires en sélectionnant l’espace de travail Clients, puis le client dans la liste des clients, puis compte. Dans la page Compte du client, recherchez l’ID Microsoft dans la section Informations sur le compte client. L’ID Microsoft est le même que l’ID de client (customer-tenant-id).

  • ID d’abonnement de 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’héritage et la NCE, GDAP n’est nécessaire que pour l’héritage.

Demande REST

Syntaxe de la requête

Method URI de demande
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 Requise Description
id-locataire-client guid Y GUID correspondant au locataire du client.
id-abonnement guid Y GUID correspondant à l’abonnement initial.

En-têtes de requête

Pour plus d’informations, consultez En-têtes REST de l’Espace Partenaires.

Corps de la demande

Ce tableau décrit les propriétés de transition dans le corps de la requête.

Propriété Type Requise Description
fromCatalogItemId string Non Élément de catalogue à partir duquel vous effectuez la transition.
fromSubscriptionId string Non ID d’abonnement à partir duquel vous effectuez la transition.
toCatalogItemId string Oui Élément de catalogue vers lequel vous effectuez la transition.
toSubscriptionId string Non ID d’abonnement vers lequel vous effectuez la transition.
quantité entier Oui Nombre de licences à passer.
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 string 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

Si elle réussit, cette méthode retourne une ressource transition avec 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 obtenir 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" 
    }
}