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

Novedades 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 = "69829602-C219-40FD-A3D5-4150FCA41A19",
            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: 60efdd24-17ef-4080-9b02-4fc315f916ff
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": "69829602-C219-40FD-A3D5-4150FCA41A19",
            "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: 60efdd24-17ef-4080-9b02-4fc315f916ff
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": "1C2B75C1-74A5-472A-A729-7F8CEFC477F9",
            "friendlyName": "new offer purchase",
            "quantity": 5,
            "links": {
                "subscription": {
                    "uri": "/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/subscriptions/1C2B75C1-74A5-472A-A729-7F8CEFC477F9",
                    "method": "GET",
                    "headers": []
                }
            }
        },
        {
            "lineItemNumber": 1,
            "offerId": "2828BE95-46BA-4F91-B2FD-0BEF192ECF60",
            "subscriptionId": "69829602-C219-40FD-A3D5-4150FCA41A19",
            "friendlyName": "Some friendly name",
            "quantity": 2,
            "links": {
                "subscription": {
                    "uri": "/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/subscriptions/69829602-C219-40FD-A3D5-4150FCA41A19",
                    "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"
    }
}