Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: Partner Center | Partner Center operado pela 21Vianet | Partner Center para a Nuvem Microsoft para o Governo dos EUA
Dica
Essa API permite que você modifique sua frequência de cobrança somente para assinaturas herdadas.
Para modificar a frequência de cobrança de assinaturas da Nova Experiência de Comércio (NCE) e assinaturas herdadas, você pode usar Atualizar uma assinatura por ID - Desenvolvedor de aplicativo parceiro | API do Microsoft Learn .
Atualiza um pedido de faturamento mensal para anual ou de faturamento anual para mensal.
No Partner Center, essa operação pode ser executada navegando até a página de detalhes da assinatura de um cliente. Uma vez lá, você verá uma opção definindo o ciclo de cobrança atual da assinatura com a capacidade de alterá-la e enviá-la.
Fora do escopo deste artigo:
- Alterando o ciclo de faturamento para avaliações
- Alterar os ciclos de cobrança para quaisquer ofertas de prazo não anual (mensal, de seis anos) e assinaturas do Azure
- Alterando os ciclos de faturamento para assinaturas inativas
- Alterando os ciclos de cobrança para assinaturas baseadas em licença do Microsoft Online Services
Pré-requisitos
Credenciais, conforme descrito em Autenticação do Partner Center. Esse cenário dá suporte à autenticação com credenciais autônomas de Aplicativo e Aplicativo+Usuário.
Uma ID do cliente (
customer-tenant-id). Se você não souber a ID do cliente, poderá procurá-la no Partner Center selecionando a área de trabalho Clientes, depois o cliente na lista de clientes e, em seguida, Conta. Na página Conta do cliente, procure a ID da Microsoft na seção Informações da Conta do Cliente. O ID da Microsoft é o mesmo que o ID do cliente (customer-tenant-id).Um ID de pedido.
C#
Para alterar a frequência do ciclo de cobrança, atualize a propriedade 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);
Solicitação REST
Sintaxe da solicitação
| Método | URI de solicitação |
|---|---|
| CORREÇÃO | {baseURL}/v1/customers/{customer-tenant-id}/orders/{order-id} HTTP/1.1 |
Parâmetro URI
Esta tabela lista o parâmetro de consulta necessário para alterar a quantidade da assinatura.
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| id do cliente-inquilino | Identificador Globalmente Único (GUID) | S | Um GUID formatado customer-tenant-id que identifica o cliente |
| ID do pedido | Identificador Globalmente Único (GUID) | S | O identificador do pedido |
Cabeçalhos da solicitação
Para mais informações, consulte os cabeçalhos REST do Partner Center.
Corpo da solicitação
As tabelas a seguir descrevem as propriedades no corpo da solicitação.
Pedido
| Propriedade | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| ID | corda | N | Um identificador de pedido que é fornecido após a criação bem-sucedida do pedido |
| ReferênciaCustomerId | corda | S | O identificador do cliente |
| Ciclo de Cobrança | corda | S | Indica a frequência com que o parceiro é cobrado por esse pedido. Os valores com suporte são os nomes de membro encontrados em BillingCycleType. |
| Itens de linha | matriz de objetos | S | Uma matriz de recursos OrderLineItem |
| Data de Criação | Data e hora | N | A data em que o pedido foi criado, no formato de data e hora |
| Atributos | Objeto | N | Contém "ObjectType": "OrderLineItem" |
OrderLineItem
| Propriedade | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| Número do item de linha | número | S | O número do item de linha, começando com 0 |
| Identificador de Oferta | corda | S | O ID da oferta |
| Id de Assinatura | corda | S | A ID da assinatura |
| Nome Amigável | corda | N | O nome amigável da assinatura definido pelo parceiro para ajudar a desambiguar |
| Quantidade | número | S | O número de licenças ou instâncias |
| PartnerIdOnRecord | corda | N | O PartnerID do parceiro de registro |
| Atributos | Objeto | N | Contém "ObjectType": "OrderLineItem" |
Exemplo de solicitação
Atualização do faturamento 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"
}
}
Resposta REST
Se for bem-sucedido, esse método retornará a ordem de assinatura atualizada no corpo da resposta.
Códigos de erro e êxito de resposta
Cada resposta vem com um código de status HTTP que indica êxito ou falha e informações de depuração adicionais. Use uma ferramenta de rastreamento de rede para ler esse código, o tipo de erro e os parâmetros adicionais. Para obter a lista completa, confira Códigos de Erro.
Exemplo de resposta
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"
}
}