Modifier un abonnement client cycle de facturation
S’applique à : Espace partenaires | Espace partenaires géré par 21Vianet | Espace partenaires de Microsoft Cloud for US Government
Conseil
Cette API vous permet de modifier votre fréquence de facturation uniquement pour les abonnements hérités.
Pour modifier votre fréquence de facturation pour les abonnements Nouvelle expérience commerciale (NCE) et les abonnements hérités, vous pouvez utiliser Mettre à jour un abonnement par ID - Développeur d’applications partenaires | API Microsoft Learn.
Met à jour une commande d’une facturation mensuelle à une facturation annuelle ou d’une facturation annuelle à une facturation mensuelle.
Dans l’Espace partenaires, cette opération peut être effectuée en accédant à la page des détails de l’abonnement d’un client. Une fois là, vous verrez une option définissant le cycle de facturation actuel de l’abonnement avec la possibilité de modifier et de l’envoyer.
Hors de portée pour cet article :
- Modification de la cycle de facturation pour les essais
- Modification des cycle de facturation pour toutes les offres à terme non annuelles (abonnements mensuels, six ans) et Azure
- Modification des cycle de facturation pour les abonnements inactifs
- Modification des cycle de facturation pour les abonnements basés sur des licences Microsoft services en ligne
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 de commande.
C#
Pour modifier la fréquence du cycle de facturation, mettez à jour la propriété Order.BillingCycle.
// IAggregatePartner partnerOperations;
// string customerId;
// string offerId;
// string orderId;
var order = new Order()
{
ReferenceCustomerId = customerId,
BillingCycle = BillingCycleType.Annual,
LineItems = new List<OrderLineItem>()
{
new OrderLineItem()
{
LineItemNumber = 0,
OfferId = offerId,
SubscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
Quantity = 1
}
}
};
var createdOrder = partnerOperations.Customers.ById(customerId).Orders.ById(orderId).Patch(order);
Demande REST
Syntaxe de la requête
Méthode | URI de demande |
---|---|
PATCH | {baseURL}/v1/customers/{customer-tenant-id}/orders/{order-id} HTTP/1.1 |
Paramètre d’URI
Ce tableau répertorie le paramètre de requête requis pour modifier la quantité de l’abonnement.
Nom | Type | Requise | Description |
---|---|---|---|
id-locataire-client | GUID | Y | GUID mis en forme customer-tenant-id qui identifie le client |
order-id | GUID | Y | Identificateur de commande |
En-têtes de requête
Pour plus d’informations, consultez En-têtes REST de l’Espace Partenaires.
Corps de la demande
Les tableaux suivants décrivent les propriétés dans le corps de la requête.
Ordre
Propriété | Type | Requise | Description |
---|---|---|---|
ID | string | N | Identificateur de commande fourni lors de la création réussie de l’ordre |
ReferenceCustomerId | string | Y | Identificateur du client |
BillingCycle | string | Y | Indique la fréquence avec laquelle le partenaire est facturé pour cette commande. Les valeurs prises en charge sont les noms des membres trouvés dans BillingCycleType. |
LineItems | tableau d'objets | Y | Tableau de ressources OrderLineItem |
CreationDate | DATETIME | N | Date de création de l’ordre, au format date-heure |
Attributs | Object | N | Contient « ObjectType » : « OrderLineItem » |
OrderLineItem
Propriété | Type | Requise | Description |
---|---|---|---|
LineItemNumber | nombre | Y | Numéro d’élément de ligne, commençant par 0 |
OfferId | string | Y | ID de l’offre |
SubscriptionId | string | Y | ID de l’abonnement |
FriendlyName | string | N | Nom convivial de l’abonnement défini par le partenaire pour aider à désambiguer |
Quantité | nombre | Y | Nombre de licences ou d’instances |
PartnerIdOnRecord | string | N | PartnerID du partenaire d’enregistrement |
Attributs | Object | N | Contient « ObjectType » : « OrderLineItem » |
Exemple de requête
Mise à jour de la facturation annuelle
PATCH https://api.partnercenter.microsoft.com/v1/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/orders/CF3B0E37-BE0B-4CDD-B584-D1A97D98A922 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 17a2658e-d2cc-439b-a2f0-2aefd9344fbc
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 414
Expect: 100-continue
{
"Id": null,
"ReferenceCustomerId": "4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04",
"BillingCycle" : "Annual",
"LineItems": [{
"LineItemNumber": 0,
"OfferId": "2828BE95-46BA-4F91-B2FD-0BEF192ECF60",
"SubscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"FriendlyName": "Some friendly name",
"Quantity": 2,
"PartnerIdOnRecord": null,
"Attributes": {
"ObjectType": "OrderLineItem"
}
}
],
"CreationDate": null,
"Attributes": {
"ObjectType": "Order"
}
}
Réponse REST
Si elle réussit, cette méthode retourne l’ordre d’abonnement mis à jour dans le corps de la réponse.
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 Codes d’erreur.
Exemple de réponse
HTTP/1.1 200 OK
Content-Length: 1135
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 17a2658e-d2cc-439b-a2f0-2aefd9344fbc
MS-CV: WtFy3zI8V0u2lnT9.0
MS-ServerId: 020021921
Date: Wed, 25 Jan 2017 23:01:08 GMT
{
"id": "cf3b0e37-be0b-4cdd-b584-d1a97d98a922",
"referenceCustomerId": "4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04",
"billingCycle": "Annual",
"lineItems": [{
"lineItemNumber": 0,
"offerId": "195416C1-3447-423A-B37B-EE59A99A19C4",
"subscriptionId": "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
"friendlyName": "new offer purchase",
"quantity": 5,
"links": {
"subscription": {
"uri": "/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
"method": "GET",
"headers": []
}
}
},
{
"lineItemNumber": 1,
"offerId": "2828BE95-46BA-4F91-B2FD-0BEF192ECF60",
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"friendlyName": "Some friendly name",
"quantity": 2,
"links": {
"subscription": {
"uri": "/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"method": "GET",
"headers": []
}
}
}
],
"creationDate": "2017-01-25T14:53:12.093-08:00",
"links": {
"self": {
"uri": "/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/orders/cf3b0e37-be0b-4cdd-b584-d1a97d98a922",
"method": "GET",
"headers": []
}
},
"attributes": {
"etag": "eyJpZCI6ImNmM2IwZTM3LWJlMGItNGNkZC1iNTg0LWQxYTk3ZDk4YTkyMiIsInZlcnNpb24iOjJ9",
"objectType": "Order"
}
}