Cambio del ciclo de facturación de una suscripción de cliente
Se aplica a: Centro de partners | Centro de partners operado por 21Vianet | Centro de partners para Microsoft Cloud for US Government
Sugerencia
Esta API permite modificar la frecuencia de facturación solo para las suscripciones heredadas.
Para modificar la frecuencia de facturación de las suscripciones de Nueva experiencia comercial (NCE) y las suscripciones heredadas, puede usar Actualizar una suscripción por identificador: desarrollador de aplicaciones asociadas | API de Microsoft Learn .
Actualiza un pedido de facturación mensual a anual o de facturación anual a mensual.
En el Centro de partners, esta operación se puede realizar si navega a la página de detalles de la suscripción de un cliente. Una vez allí, verá una opción que define el ciclo de facturación actual de la suscripción con la capacidad de cambiarla y enviarla.
Fuera del ámbito de este artículo:
- Cambio del ciclo de facturación de las pruebas
- Cambio de los ciclos de facturación de cualquier oferta de período no anual (mensual, seis años) y suscripciones de Azure
- Cambio de los ciclos de facturación de las suscripciones inactivas
- Cambio de los ciclos de facturación de las suscripciones basadas en licencias de Microsoft servicios en línea
Requisitos previos
Credenciales tal como se describen en el artículo Autenticación del Centro de partners. Este escenario admite la autenticación con credenciales de aplicación independiente y app+usuario.
Un id. de cliente (
customer-tenant-id
). Si no conoce el identificador del cliente, puede buscarlo en el Centro de partners seleccionando el área de trabajo Clientes , luego el cliente de la lista de clientes y, a continuación , Cuenta. En la página Cuenta del cliente, busque el identificador de Microsoft en la sección Información de la cuenta de cliente. El id. de Microsoft es el mismo que el de cliente (customer-tenant-id
).Un identificador de pedido.
C#
Para cambiar la frecuencia del ciclo de facturación, actualice la propiedad 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);
Solicitud REST
Sintaxis de la solicitud
Método | URI de solicitud |
---|---|
PATCH | {baseURL}/v1/customers/{customer-tenant-id}/orders/{order-id} HTTP/1.1 |
Parámetro de URI
En esta tabla se muestra el parámetro de consulta necesario para cambiar la cantidad de la suscripción.
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
customer-tenant-id | GUID | Y | Guid con formato customer-tenant-id que identifica al cliente |
order-id | GUID | Y | Identificador de pedido |
Encabezados de solicitud
Para obtener más información, consulta Encabezados REST del Centro de partners.
Cuerpo de la solicitud
En las tablas siguientes se describen las propiedades del cuerpo de la solicitud.
compra
Propiedad | Type | Obligatorio | Descripción |
---|---|---|---|
Id. | string | N | Identificador de pedido que se proporciona tras la creación correcta del pedido |
ReferenceCustomerId | string | Y | Identificador del cliente |
BillingCycle | string | Y | Indica la frecuencia con la que se factura al asociado para este pedido. Los valores admitidos son los nombres de los miembros que se encuentran en BillingCycleType. |
LineItems | matriz de objetos | Y | Matriz de recursos OrderLineItem |
CreationDate | datetime | N | Fecha en que se creó el pedido, en formato de fecha y hora |
Atributos | Object | N | Contiene "ObjectType": "OrderLineItem" |
OrderLineItem
Propiedad | Type | Obligatorio | Descripción |
---|---|---|---|
LineItemNumber | number | Y | Número de elemento de línea, a partir de 0 |
OfferId | string | Y | Identificador de la oferta |
SubscriptionId | string | Y | Identificador de la suscripción |
FriendlyName | string | N | Nombre descriptivo de la suscripción definida por el asociado para ayudar a desambiguar |
Cantidad | number | Y | Número de licencias o instancias |
PartnerIdOnRecord | string | N | PartnerID del asociado de registro |
Atributos | Object | N | Contiene "ObjectType": "OrderLineItem" |
Ejemplo de solicitud
Actualización de la facturación anual
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"
}
}
Respuesta REST
Si se ejecuta correctamente, este método devuelve el orden de suscripción actualizado en el cuerpo de la respuesta.
Códigos de error y de respuesta correctos
Cada respuesta incluye un código de estado HTTP que indica si la operación se ha realizado correctamente o con errores y proporciona información de depuración adicional. Use una herramienta de seguimiento de red para leer este código, el tipo de error y los parámetros adicionales. Para obtener la lista completa, consulte Códigos de error.
Ejemplo de respuesta
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"
}
}