Partager via


Planifier des modifications pour un nouvel abonnement commercial à l’aide des API de l’Espace partenaires

S’applique à : Espace partenaires

Cet article explique comment utiliser l’API Espace partenaires pour planifier les modifications d’un nouvel abonnement commercial, qui n’ont lieu que lors du renouvellement. Cette API prend en charge les nouveaux abonnements sous licence commerciale et logiciels.

Remarque

Les nouvelles expériences commerciales pour les services basés sur des licences incluent de nombreuses nouvelles fonctionnalités et sont disponibles pour tous les Fournisseur de solutions Cloud (CSP). Pour plus d’informations, consultez la Vue d’ensemble des nouvelles expériences commerciales.

La création de modifications planifiées vous permet de modifier automatiquement votre abonnement lorsque le renouvellement suivant se produit. En planifiant les modifications, vous pouvez choisir d’augmenter ou de diminuer le nombre de licences, de modifier le terme et la fréquence de facturation, et même de choisir de mettre à niveau la référence SKU. La planification des modifications vous permet d’apporter des modifications à votre abonnement lors du renouvellement, plutôt que immédiatement pendant la période actuelle.

Important

Si vous apportez une modification à mi-terme (immédiate) avant votre date de renouvellement, toutes les modifications planifiées précédemment planifiées au moment du renouvellement sont supprimées.

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.

  • Le renouvellement automatique est activé sur l’abonnement.

Méthode de l’Espace partenaires

Pour planifier les modifications d’un abonnement dans l’Espace partenaires :

  1. Sélectionnez un client.

  2. Sélectionnez l’abonnement pour lequel vous souhaitez planifier les modifications.

  3. Activez le renouvellement automatique.

  4. Sélectionnez Gérer le renouvellement.

  5. Apportez des modifications à l’abonnement lors du renouvellement.

  6. Sélectionnez Ok pour fermer le panneau latéral.

  7. sélectionnez Envoyer pour enregistrer les modifications.

Remarque

Les renouvellements sont traités après le dernier jour d’un terme, à partir de 12h00 UTC le jour suivant. Les renouvellements sont traités dans une file d’attente et peuvent prendre jusqu’à 24 heures.

C#

Pour planifier les modifications pour l’abonnement d’un client :

  1. Obtenez l’abonnement par ID.
  2. Obtenez l’éligibilité de transition pour le type d’éligibilité à la transition planifiée.
  3. Créez un objet ScheduledNextTermInstructions et définissez-le sur la propriété de l’abonnement.
  4. Appelez la méthode Patch() pour mettre à jour l’abonnement avec les modifications planifiées.
var selectedSubscription = subscriptionOperations.Get();
selectedSubscription.ScheduledNextTermInstructions = new ScheduledNextTermInstructions
{
    Product = new ProductTerm
    {
        ProductId = changeToProductId,
        SkuId = changeToSkuId,
        AvailabilityId = changeToAvailabilityId,
        BillingCycle = changeToBillingCycle,
        TermDuration = changeToTermDuration,
    },
    Quantity = changeToQuantity,
    customTermEndDate = DateTime,
};
var updatedSubscription = subscriptionOperations.Patch(selectedSubscription);

Pour planifier les modifications pour l’abonnement d’un client, où la modification planifiée souhaitée est un autre produit :

  1. Obtenez l’abonnement par ID.
  2. Obtenez l’éligibilité de transition pour le type d’éligibilité à la transition planifiée.
  3. Appelez la méthode Patch() pour mettre à jour l’abonnement avec les modifications planifiées.

Demande REST

Syntaxe de la requête

Méthode URI de demande
PATCH {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id} HTTP/1.1

Paramètre d’URI

Ce tableau répertorie les paramètres de requête requis pour appeler l’API.

Nom Type Requise Description
id-locataire-client guid Y GUID correspondant au client.
id-abonnement guid Y GUID correspondant à l’abonnement.

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 d’abonnement complète est requise dans le corps de la requête, avec la scheduledNextTermInstructions propriété définie. Pour planifier les modifications de votre abonnement, vérifiez que la propriété AutoRenewEnabled a la valeur true.

Pour l’ID de disponibilité à la fin de la vente avec les offres EndofSaleWithConversions :

  1. GetTransitionEligibility pour renvoyer CatalogItemID.

    a. Veillez à définir le type d’éligibilité planifié sinon, la valeur par défaut est immédiate.

  2. Utilisez CatalogItemID pour extraire l’ID de disponibilité.

Remarque

Si vous utilisez GET Availabilities pour déterminer la disponibilité des instructions scheduledNextTerm et si tous les termes sont à l’état EOS, vous recevrez une liste vide. La meilleure façon de déterminer les chemins valides consiste à appeler l’API GetTransitionEligibilty pour retourner les options valides.

Champ Type Requise Description
scheduledNextTermInstructions object Y Définit les instructions de terme suivantes pour l’abonnement. La propriété contient l’objet product et le quantity champ.

Exemple de requête

PATCH https://api.partnercenter.microsoft.com/v1/customers/<customer-tenant-id>/subscriptions/<subscription-id> HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: ca7c39f7-1a80-43bc-90d8-ee7d1cad3831
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
If-Match: <etag>
Content-Type: application/json
Content-Length: 1029
Expect: 100-continue
Connection: Keep-Alive

{
    "id": "6e7aa601-629e-461b-8933-0898c3cc3c7c",
    "offerId": "DZH318Z0BXWC:0001:DZH318Z0BMJX",
    "offerName": "offer Name",
    "friendlyName": "friendly Name",
    "quantity": 1,
    "customTermEndDate": "2019-01-09T00:21:45.9263727",
    "unitType": "License(s)",
    "hasPurchasableAddons": false,
    "creationDate": "2019-01-04T01:00:12.6647304Z",
    "effectiveStartDate": "2019-01-09T00:21:45.9263727+00:00",
    "commitmentEndDate": "2019-02-08T00:21:45.9263727+00:00",
    "status": "active",
    "autoRenewEnabled": true,
    "scheduledNextTermInstructions": { 
      "product": { 
         "productId":  "DG7GMGF0DVSV", 
         "skuId":  "000P", 
         "availabilityId":  "DG7GMGF0F3Q9", 
         "billingCycle":  "Annual", 
         "termDuration":  "P3Y",
         "promotionId": "39NFJQT1PFPJ:000H:39NFJQT1Q5DK"
        }, 
      "quantity":  1 
      "customTermEndDate" : "2019-01-09T00:21:45.9263727",
     },  // original value = null 
    "isTrial": false,
    "billingType": "license",
    "billingCycle": "monthly",
    "termDuration": "P1M",
    "refundOptions": [{
        "type": "Full",
        "expiresAt": "2019-01-10T00:21:45.9263727+00:00"
    }],
    "isMicrosoftProduct": false,
    "partnerId": "",
    "contractType": "subscription",
    "publisherName": "publisher Name",
    "orderId": "ImxjLNL4_fOc-2KoyOxGTZcrlIquzls11",
    "attributes": {"objectType": "Subscription"},
}

Réponse REST

Si la demande réussit, cette méthode retourne les propriétés de ressource d’abonnement mises à jour 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, ainsi que d’autres 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: 1322
Content-Type: application/json; charset=utf-8
MS-RequestId: ca7c39f7-1a80-43bc-90d8-ee7d1cad3831
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US

{
    "id": "6e7aa601-629e-461b-8933-0898c3cc3c7c",
    "offerId": "DZH318Z0BXWC:0001:DZH318Z0BMJX",
    "offerName": "offer Name",
    "friendlyName": "friendly Name",
    "quantity": 1,
    "customTermEndDate": "2019-01-09T00:21:45.9263727",
    "unitType": "License(s)",
    "hasPurchasableAddons": false,
    "creationDate": "2019-01-04T01:00:12.6647304Z",
    "effectiveStartDate": "2019-01-09T00:21:45.9263727+00:00",
    "commitmentEndDate": "2019-02-08T00:21:45.9263727+00:00",
    "status": "active",
    "autoRenewEnabled": true,
    "scheduledNextTermInstructions": { 
      "product": { 
         "productId":  "DG7GMGF0DVSV", 
         "skuId":  "000P", 
         "availabilityId":  "DG7GMGF0F3Q9", 
         "billingCycle":  "Annual", 
         "termDuration":  "P3Y",
         "promotionId": "39NFJQT1PFPJ:000H:39NFJQT1Q5DK"
        }, 
      "quantity":  1 
      "customTermEndDate": "2019-01-09T00:21:45.9263727",
     },  // original value = null 
    "isTrial": false,
    "billingType": "license",
    "billingCycle": "monthly",
    "termDuration": "P1M",
    "refundOptions": [{
        "type": "Full",
        "expiresAt": "2019-01-10T00:21:45.9263727+00:00"
    }],
    "isMicrosoftProduct": false,
    "partnerId": "",
    "contractType": "subscription",
    "publisherName": "publisher Name",
    "orderId": "ImxjLNL4_fOc-2KoyOxGTZcrlIquzls11",
    "attributes": {"objectType": "Subscription"},
}