Convertir un abonnement d’essai en abonnement payant à l’aide des API de l’Espace partenaires
Remarque
Ces étapes ne s’appliquent pas aux nouveaux produits commerciaux. Reportez-vous à la documentation sur la transition d’un nouvel abonnement commercial pour convertir les versions d’évaluation new commerce en abonnements payants
Vous pouvez convertir un abonnement d’essai en abonnement payant.
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 de l’application et de l’utilisateur uniquement.
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 pour un abonnement d’essai actif.
Offre de conversion disponible.
Convertir un abonnement d’essai en abonnement payant par le biais du code
Pour convertir un abonnement d’évaluation en abonnement payant, vous devez d’abord obtenir une collection des conversions d’évaluation disponibles. Ensuite, vous devez choisir l’offre de conversion que vous souhaitez acheter.
Les offres de conversion spécifient une quantité qui correspond par défaut au même nombre de licences que l’abonnement d’évaluation. Vous pouvez modifier cette quantité en définissant la propriété Quantity sur le nombre de licences que vous souhaitez acheter.
Remarque
Quel que soit le nombre de licences achetées, l’ID d’abonnement de la version d’évaluation est réutilisé pour les licences achetées. Par conséquent, la version d’évaluation disparaît et est remplacée par l’achat.
Procédez comme suit pour convertir un abonnement d’évaluation par le biais du code :
Obtenez une interface pour les opérations d’abonnement disponibles. Vous devez identifier le client et spécifier l’identificateur d’abonnement de l’abonnement d’évaluation.
var subscriptionOperations = partnerOperations.Customers.ById(customerId).Subscriptions.ById(subscriptionId);
Obtenez une collection des offres de conversion disponibles. Pour plus d’informations et pour plus d’informations sur la demande/réponse pour cette méthode, consultez Obtenir la liste des offres de conversion d’essai.
var conversions = subscriptionOperations.Conversions.Get();
Choisissez une offre de conversion. Le code suivant choisit la première offre de conversion dans la collection.
var selectedConversion = conversions.Items.ToList()[0];
Spécifiez éventuellement le nombre de licences à acheter. La valeur par défaut est le nombre de licences dans l’abonnement d’évaluation.
selectedConversion.Quantity = 10;
Appelez la méthode Create ou CreateAsync pour convertir l’abonnement d’évaluation en abonnement payant.
var convertResult = subscriptionOperations.Conversions.Create(selectedConversion);
C#
Pour convertir un abonnement d’essai en abonnement payant :
Utilisez la méthode IAggregatePartner.Customers.ById avec l’ID client, pour identifier le client.
Obtenez une interface pour les opérations d’abonnement en appelant la méthode Subscriptions.ById avec l’ID d’abonnement d’évaluation. Enregistrez une référence à l’interface des opérations d’abonnement dans une variable locale.
Utilisez la propriété Conversions pour obtenir une interface pour les opérations disponibles sur les conversions, puis appelez la méthode Get ou GetAsync pour récupérer une collection d’offres de conversion disponibles. Vous devez choisir l’un ou l’autre. L’exemple suivant est défini par défaut sur la première conversion disponible.
Utilisez la référence à l’interface des opérations d’abonnement que vous avez enregistrée dans une variable locale et la propriété Conversions pour obtenir une interface pour les opérations disponibles sur les conversions.
Transmettez l’objet d’offre de conversion sélectionné à la méthode Create ou CreateAsync pour tenter la conversion d’évaluation.
Exemple en code C#
// IAggregatePartner partnerOperations;
// string customerId;
// string subscriptionId;
// Get subscription operations for the trial subscription.
var subscriptionOperations = partnerOperations.Customers.ById(customerId).Subscriptions.ById(subscriptionId);
// Get the available conversions.
var conversions = subscriptionOperations.Conversions.Get();
// If there are no conversions available, we're done.
// Otherwise, convert the trial to the first available conversion offer.
if (conversions.TotalCount <= 0)
{
System.Console.WriteLine("This subscription has no conversions");
}
else
{
// Default to the first conversion.
var selectedConversion = conversions.Items.ToList()[0];
// Convert the trial and return the result.
var convertResult = subscriptionOperations.Conversions.Create(selectedConversion);
}
Demande REST
Syntaxe de la requête
Méthode | URI de demande |
---|---|
POST | {baseURL}/v1/customers/{customer-id}/subscriptions/{subscription-id}/conversions HTTP/1.1 |
Paramètre d’URI
Utilisez les paramètres de chemin d’accès suivants pour identifier le client et l’abonnement d’évaluation.
Nom | Type | Requis | Description |
---|---|---|---|
id-client | string | Oui | Chaîne au format GUID qui identifie le client. |
id-abonnement | string | Oui | Chaîne au format GUID qui identifie l’abonnement d’évaluation. |
En-têtes de requête
Pour plus d’informations, consultez En-têtes REST de l’Espace Partenaires.
Corps de la demande
Une ressource de conversion remplie doit être incluse dans le corps de la requête.
Exemple de requête
POST https://api.partnercenter.microsoft.com/v1/customers/0c39d6d5-c70d-4c55-bc02-f620844f3fd1/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/conversions HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: bd0cde7f-ba87-4010-8a73-1190b641f2a4
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 234
Expect: 100-continue
{
"OfferId": "C0BD2E08-11AC-4836-BDC7-3712E744922F",
"TargetOfferId": "031C9E47-4802-4248-838E-778FB1D2CC05",
"OrderId": "D51A052E-043C-4A2A-AA37-2BB938CEF6C1",
"Quantity": 25,
"BillingCycle": "monthly",
"Attributes": {
"ObjectType": "Conversion"
}
}
Réponse REST
Si elle réussit, le corps de la réponse contient une ressource ConversionResult .
Codes d’erreur et de réussite de la réponse
Chaque réponse est accompagnée d’un code d’état HTTP qui indique la réussite ou l’échec ainsi que des informations de débogage supplémentaires. Utilisez un outil de trace réseau pour lire ce code, le type d’erreur et des paramètres supplémentaires. Pour obtenir la liste complète, consultez les codes d’erreur de l’Espace partenaires.
Exemple de réponse
HTTP/1.1 200 OK
Content-Length: 211
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: bd0cde7f-ba87-4010-8a73-1190b641f2a4
MS-CV: kW4GzmhvHEqCq1ls.0
MS-ServerId: 030020643
Date: Thu, 15 Jun 2017 23:10:40 GMT
{
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"offerId": "C0BD2E08-11AC-4836-BDC7-3712E744922F",
"targetOfferId": "031C9E47-4802-4248-838E-778FB1D2CC05",
"attributes": {
"objectType": "ConversionResult"
}
}