Obter itens de linha da fatura
Aplica-se a: Partner Center | Partner Center operado pela 21Vianet | Partner Center para a Nuvem Microsoft para o Governo dos EUA
Você pode usar os seguintes métodos para obter detalhes de cobrança para itens de linha de fatura (também conhecidos como itens de linha de faturamento finalizados) para uma fatura especificada.
Exceto para correções de bugs, essa API não é mais atualizada. Recomendamos atualizar os seus aplicativos para chamar a API onetime em vez do marketplace. A API única oferece mais funcionalidade e é continuamente atualizada.
Para consultar todos os itens de linha de consumo comercial, é melhor usar a API única em vez do marketplace.
Esta API também suporta os tipos de fornecedor de Azure e Office para subscrições Microsoft Azure (MS-AZR-0145P) e ofertas do Office, garantindo compatibilidade com versões anteriores.
Nota
Principais datas e cenários de migração
A estratégia de transição de versão da API ajuda a garantir uma migração suave da API v1 para a API v2, com foco na manutenção da funcionalidade e da integridade dos dados. Aqui está um guia para ajudá-lo a selecionar a versão da API apropriada para suas necessidades:
Cenário A: Dados históricos (antes do período de faturação de fevereiro de 2024):
- Use esta API exclusivamente para todas as suas necessidades.
Cenário B: Períodos de faturação recentes (fevereiro de 2024 a março de 2025):
- Continue usando esta API até 21 de abril de 2025, a menos que você já tenha feito a transição para a API v2 GA.
Cenário C: Períodos de faturamento futuros após março de 2025 (após 21 de abril de 2025):
- Mude para a API v2 GA para obter dados de todos os períodos futuros de faturação.
A transição da API v1 para a API v2 envolve planejamento detalhado e implementação precisa. Para garantir uma transição suave para a nova API, consulte: Billed invoice reconciliation API v2 (GA).
Pré-requisitos
- Credenciais conforme descrito na autenticação do Partner Center. Este cenário oferece suporte à autenticação com credenciais autônomas de Aplicativo e Aplicativo+Usuário.
- A ID da fatura para a qual obter os itens de linha.
Obter elementos de linha em C#
Para obter os itens de linha para a fatura especificada:
- Chame o método ById para obter uma interface para operações de fatura para a fatura especificada.
- Chame o método Get ou GetAsync para recuperar o objeto de fatura. O objeto de fatura contém todas as informações para a fatura especificada.
- Utilize a propriedade InvoiceDetails do objeto de fatura para aceder a uma coleção de objetos InvoiceDetail, cada um dos quais contém um BillingProvider e um InvoiceLineItemType. O BillingProvider identifica a origem das informações detalhadas da fatura (como Office, Azure, OneTime) e o InvoiceLineItemType especifica o tipo (por exemplo, BillingLineItem).
O código de exemplo a seguir usa um loop foreach para processar a coleção InvoiceDetails. Uma coleção separada de itens de linha é recuperada para cada instância InvoiceDetail .
Aqui estão os passos para obter uma coleção de itens de linha que correspondem a uma instância InvoiceDetail:
- Passe BillingProvider e InvoiceLineItemType da instância para o método By.
- Chame o método Get ou GetAsync para recuperar os itens de linha associados.
- Crie um enumerador para percorrer a coleção, conforme mostrado no exemplo a seguir.
// IAggregatePartner partnerOperations;
// int invoicePageSize;
// string invoiceId;
// Retrieve the invoice.
var invoiceOperations = partnerOperations.Invoices.ById(invoiceId);
var invoice = invoiceOperations.Get();
foreach (var invoiceDetail in invoice.InvoiceDetails)
{
Console.WriteLine(string.Format("Getting invoice line item for product {0} and line item type {1}",
invoiceDetail.BillingProvider,
invoiceDetail.InvoiceLineItemType));
// Is this an unpaged or paged request?
bool isUnPaged = (this.invoicePageSize <= 0);
// If the scenario is unpaged, get all the invoice line items, otherwise get the first page.
var invoiceLineItemsCollection =
(isUnPaged)
? invoiceOperations.By(invoiceDetail.BillingProvider, invoiceDetail.InvoiceLineItemType).Get()
: invoiceOperations.By(invoiceDetail.BillingProvider, invoiceDetail.InvoiceLineItemType).Get(this.invoicePageSize, 0);
// Create an enumerator for traversing the line items collection.
var invoiceLineItemEnumerator =
partnerOperations.Enumerators.InvoiceLineItems.Create(invoiceLineItemsCollection);
while (invoiceLineItemEnumerator.HasValue)
{
// invoiceLineItemEnumerator.Current contains a collection
// of line items.
Console.WriteLine(String.Format("invoiceLineItemEnumerator.Current has {0} line items.",
invoiceLineItemEnumerator.Current.TotalCount));
//
// Insert code here to work with the line items.
//
Console.WriteLine();
Console.Write("Press any key to retrieve the next invoice line items page");
Console.ReadKey();
// Get the next list of invoice line items.
invoiceLineItemEnumerator.Next();
}
}
Veja outro exemplo:
- Exemplo: Aplicativo de teste de console
- Projeto: Exemplos de SDK do Partner Center
- Classe: GetInvoiceLineItems.cs
Envie sua solicitação REST
Envie o seu pedido GET para obter detalhes dos itens da linha da fatura.
Usar sintaxe de solicitação para o provedor de cobrança
Faça sua solicitação usando a sintaxe apropriada para o provedor de cobrança em seu cenário.
Utilizar a sintaxe do fornecedor de faturação do Office
A sintaxe a seguir se aplica quando o provedor de cobrança é o Office.
Método | URI do pedido |
---|---|
GET | {baseURL}/v1/invoices/{invoice-id}/lineitems?provider=office&invoicelineitemtype=billinglineitems&size={size}&offset={offset} HTTP/1.1 |
Definir a sintaxe de assinatura do Microsoft Azure (MS-AZR-0145P)
As sintaxes a seguir se aplicam quando o provedor de cobrança tem uma assinatura do Microsoft Azure (MS-AZR-0145P).
Método | URI do pedido |
---|---|
GET | {baseURL}/v1/invoices/{invoice-id}/lineitems?provider=azure&invoicelineitemtype=billinglineitems&size={size}&offset={offset} HTTP/1.1 |
GET | {baseURL}/v1/invoices/{invoice-id}/lineitems?provider=azure&invoicelineitemtype=usagelineitems&size={size}&offset={offset} HTTP/1.1 |
Usar a sintaxe de faturamento OneTime
Use estas sintaxes para os provedores de faturamento OneTime. Cobrem encargos como reservas do Azure, planos de poupança do Azure, software, planos do Azure, mercado comercial e produtos Microsoft/Dynamics 365.
Método | URI do pedido |
---|---|
GET | {baseURL}/v1/invoices/{invoice-id}/lineitems?provider=onetime&invoicelineitemtype=billinglineitems&size={size} HTTP/1.1 |
GET | {baseURL}/v1/invoices/{invoice-id}/lineitems/onetime/billinglineitems&size={size}?seekOperation=Next |
Usar sintaxes atuais versus anteriores
É altamente recomendável atualizar seus aplicativos para usar a API única em vez da API do marketplace . A API única oferece funcionalidade aprimorada e recebe atualizações contínuas, garantindo que seus aplicativos permaneçam atualizados.
Para todos os itens de linha de consumo comercial, use a API pontual para as suas consultas. Essa transição não apenas simplifica seus processos, mas também fornece recursos mais robustos.
Lembre-se, exceto para correções de bugs essenciais, a API do marketplace não recebe mais atualizações. Fazer essa alteração agora pode ajudá-lo a ficar à frente e se beneficiar dos recursos e melhorias mais recentes.
Método | URI do pedido | Descrição do caso de uso da sintaxe |
---|---|---|
GET | {baseURL}/v1/invoices/{invoice-id}/lineitems/{billing-provider}/{invoice-line-item-type} HTTP/1.1 | Você pode usar esta sintaxe para retornar uma lista completa de cada item de linha para a fatura fornecida. |
GET | {baseURL}/v1/invoices/{invoice-id}/lineitems/{billing-provider}/{invoice-line-item-type}?size={size}&offset={offset} HTTP/1.1 | Para lidar com faturas grandes de forma eficiente, especifique o tamanho e o deslocamento baseado em zero para retornar uma lista paginada de itens de linha. |
GET | {baseURL}/v1/invoices/{invoice-id}/lineitems/OneTime/{invoice-line-item-type}?seekOperation=Next | Você pode usar essa sintaxe para uma fatura com um valor de provedor de faturamento de OneTime e definir seekOperation como Next para obter a próxima página de itens de linha de fatura. |
Usar os parâmetros de URI
Use o seguinte URI e parâmetros de consulta ao criar a solicitação.
Nome | Tipo | Obrigatório | Descrição |
---|---|---|---|
ID da fatura | cadeia de caracteres | Sim | Uma cadeia de caracteres que identifica a fatura. |
Provedor de cobrança | string | Sim | O provedor de cobrança: "Office", "Azure", "OneTime". Na versão antiga, temos modelos de dados separados para transações de Office e Azure. No entanto, no moderno, temos um único modelo de dados em todos os produtos filtrados pelo valor "OneTime". |
tipo de linha de item da fatura | string | Sim | O tipo de pormenor da fatura: "BillingLineItems", "UsageLineItems" |
tamanho | Número | Não | O número máximo de itens a devolver. Tamanho máximo padrão = 2000 |
offset | Número | Não | O índice baseado em zero do primeiro item de linha a ser retornado. |
operação de busca | cadeia de caracteres | Não | Se o provedor de faturação for igual a OneTime, defina seekOperation igual a Next para aceder à página seguinte dos itens de linha da fatura. |
oParceiroGanhouCrédito | booleano | Não | Este parâmetro retorna os itens de linha com o crédito ganho do parceiro aplicado. Ele só funciona para o tipo de provedor de faturamento OneTime e InvoiceLineItemType = UsageLineItems. |
Compreender os cabeçalhos dos pedidos
Para obter mais informações, consulte Cabeçalhos REST do Partner Center.
Entenda o corpo da solicitação
Nenhum.
Rever a resposta REST
Se for bem-sucedida, a resposta contém a coleção de detalhes dos itens individuais.
Para a linha de item ChargeType, o valor Compra é mapeado para Novo. O valor Reembolso é mapeado para Cancelar.
Compreender o sucesso da resposta e os códigos de erro
Cada resposta vem com um código de status HTTP que indica sucesso ou falha e outras informações de depuração. Use uma ferramenta de rastreamento de rede para ler esse código, tipo de erro e parâmetros extras. Para obter a lista completa, consulte Códigos de erro REST do Partner Center.
Use os exemplos de solicitação-resposta REST
Aqui estão alguns exemplos de solicitação-resposta REST que mostram a sintaxe e o uso da API.
Exemplo de solicitação-resposta 1
Neste exemplo, os detalhes são os seguintes:
- BillingProvider: Escritório
- InvoiceLineItemType: BillingLineItems
Exemplo de solicitação 1
GET https://api.partnercenter.microsoft.com/v1/invoices/1234000000/lineitems?provider=Office&nvoicelineitemtype=BillingLineItems&size=2&offset=0 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 1eb2ecb8-37af-45f4-a1a1-358de3ca2b9e
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
MS-PartnerCenter-Application: Partner Center .NET SDK Samples
Host: api.partnercenter.microsoft.com
Importante
A partir de junho de 2023, a versão 3.4.0 mais recente do SDK do .NET do Partner Center foi arquivada. Você pode baixar a versão do SDK do GitHub, juntamente com um arquivo readme que contém informações úteis.
Os parceiros são incentivados a continuar a usar as APIs REST do Partner Center.
Exemplo de resposta 1
HTTP/1.1 200 OK
Content-Length: 2484
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 1eb2ecb8-37af-45f4-a1a1-358de3ca2b9e
MS-CV: bpqyomePDUqrSSYC.0
MS-ServerId: 202010406
Date: Thu, 07 Sep 2017 23:31:09 GMT
{
"totalCount": 2,
"items": [{
"partnerId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"customerId": "74221236-D09C-4870-AC1D-33E155E9AEBE",
"customerName": "TSTAGIN1CUST190",
"mpnId": 4391507,
"tier2MpnId": -1,
"orderId": "567735045559164136",
"subscriptionId": "4KIKawEAAAAAAAEA",
"syndicationPartnerSubscriptionNumber": "1F58ACD7-FE51-4705-9567-D009C9ADA150",
"offerId": "AAA5B3F0-0EE2-431B-A42F-3F18F3C6D540",
"durableOfferId": "2F707C7C-2433-49A5-A437-9CA7CF40D3EB",
"offerName": "EXCHANGE ONLINE (PLAN 2)",
"domainName": "TStagin1Cust190.onmicrosoft.com",
"billingCycleType": "MONTHLY",
"subscriptionName": "EXCHANGE ONLINE (PLAN 2)",
"subscriptionDescription": "EXCHANGE ONLINE (PLAN 2)",
"subscriptionStartDate": "2017-05-12T00:00:00",
"subscriptionEndDate": "2018-06-10T00:00:00",
"chargeStartDate": "2017-05-12T00:00:00",
"chargeEndDate": "2017-06-09T00:00:00",
"chargeType": "New",
"unitPrice": 0.0,
"quantity": 3,
"amount": 0.0,
"totalOtherDiscount": 0.0,
"subtotal": 0.0,
"tax": 0.0,
"totalForCustomer": 0.0,
"currency": "USD",
"invoiceLineItemType": "billing_line_items",
"billingProvider": "office",
"attributes": {
"objectType": "LicenseBasedLineItem"
}
}, {
"partnerId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"customerId": "74221236-D09C-4870-AC1D-33E155E9AEBE",
"customerName": "TSTAGIN1CUST190",
"mpnId": 4391507,
"tier2MpnId": -1,
"orderId": "567735045564795186",
"subscriptionId": "Ik4YawEAAAAAAAEA",
"syndicationPartnerSubscriptionNumber": "D8A8F773-9D3E-4244-8797-3182075F09FA",
"offerId": "618B53FE-9B99-428B-9745-F706AEAF3979",
"durableOfferId": "69C67983-CF78-4102-83F6-3E5FD246864F",
"offerName": "SHAREPOINT ONLINE (PLAN 2)",
"domainName": "TStagin1Cust190.onmicrosoft.com",
"billingCycleType": "MONTHLY",
"subscriptionName": "SHAREPOINT ONLINE (PLAN 2)",
"subscriptionDescription": "SHAREPOINT ONLINE (PLAN 2)",
"subscriptionStartDate": "2017-05-13T00:00:00",
"subscriptionEndDate": "2018-06-10T00:00:00",
"chargeStartDate": "2017-05-13T00:00:00",
"chargeEndDate": "2017-06-09T00:00:00",
"chargeType": "New",
"unitPrice": 0.0,
"quantity": 1,
"amount": 0.0,
"totalOtherDiscount": 0.0,
"subtotal": 0.0,
"tax": 0.0,
"totalForCustomer": 0.0,
"currency": "USD",
"invoiceLineItemType": "billing_line_items",
"billingProvider": "office",
"attributes": {
"objectType": "LicenseBasedLineItem"
}
}
],
"links": {
"self": {
"uri": "/invoices/1234000000/lineitems?provider=Office&nvoicelineitemtype=BillingLineItems&size=2&offset=0",
"method": "GET",
"headers": []
},
"next": {
"uri": "/invoices/1234000000/lineitems?provider=Office&nvoicelineitemtype=BillingLineItems&size=2&offset=",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Collection"
}
}
Exemplo de solicitação-resposta 2
No exemplo a seguir, os detalhes são os seguintes:
- BillingProvider: Azure
- InvoiceLineItemType: BillingLineItems
Exemplo de solicitação 2
GET https://api.partnercenter.microsoft.com/v1/invoices/1234000000/lineitems?provider=Azure&invoicelineitemtype=BillingLineItems&size=2&offset=0 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 1eb2ecb8-37af-45f4-a1a1-358de3ca2b9e
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
MS-PartnerCenter-Application: Partner Center .NET SDK Samples
Host: api.partnercenter.microsoft.com
Exemplo de resposta 2
HTTP/1.1 200 OK
Content-Length: 2484
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 1eb2ecb8-37af-45f4-a1a1-358de3ca2b9e
MS-CV: bpqyomePDUqrSSYC.0
MS-ServerId: 202010406
Date: Thu, 07 Sep 2017 23:31:09 GMT
{
"totalCount": 2,
"items": [
{
"detailLineItemId": 1,
"sku": "7UD-00001",
"includedQuantity": 0,
"overageQuantity": 745,
"listPrice": 0.085,
"currency": "USD",
"pretaxCharges": 63.33,
"taxAmount": 6.34,
"postTaxTotal": 69.67,
"pretaxEffectiveRate": 0.08500671,
"postTaxEffectiveRate": 0.09351677,
"chargeType": "Assess usage fee for current cycle",
"invoiceLineItemType": "billing_line_items",
"partnerId": "1F5CCB06-8E36-4A74-A74C-FCAA9E000000",
"partnerName": "TEST_TEST_Big foot consulting",
"partnerBillableAccountId": "1010578050",
"customerId": "65726577-c208-40fd-9735-8c85ac000000",
"domainName": "600test.onmicrosoft.com",
"customerCompanyName": "601 tests",
"mpnId": 4390934,
"tier2MpnId": -1,
"invoiceNumber": "1234000000",
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"subscriptionName": "Microsoft Azure",
"subscriptionDescription": "Microsoft Azure",
"billingCycleType": "Monthly",
"orderId": "568297985427000000",
"serviceName": "Azure App Service",
"serviceType": "Standard Plan",
"resourceGuid": "505db374-df8a-44df-9d8c-13c14b61dee1",
"resourceName": "S1",
"region": "",
"consumedQuantity": 745,
"chargeStartDate": "2019-08-02T00:00:00",
"chargeEndDate": "2019-09-01T00:00:00",
"unit": "1 Hour",
"billingProvider": "azure",
"attributes": {
"objectType": "UsageBasedLineItem"
}
},
{
"detailLineItemId": 1,
"sku": "7UD-00001",
"includedQuantity": 0,
"overageQuantity": 0.000882,
"listPrice": 0.0383,
"currency": "USD",
"pretaxCharges": 0,
"taxAmount": 0,
"postTaxTotal": 0,
"pretaxEffectiveRate": 0,
"postTaxEffectiveRate": 0,
"chargeType": "Assess usage fee for current cycle",
"invoiceLineItemType": "billing_line_items",
"partnerId": "1F5CCB06-8E36-4A74-A74C-FCAA9E87E26A",
"partnerName": "TEST_TEST_Big foot consulting",
"partnerBillableAccountId": "1010578050",
"customerId": "65726577-c208-40fd-9735-8c85ac9cac68",
"domainName": "600test.onmicrosoft.com",
"customerCompanyName": "601 tests",
"mpnId": 4390934,
"tier2MpnId": -1,
"invoiceNumber": "1234000000",
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"subscriptionName": "Microsoft Azure",
"subscriptionDescription": "Microsoft Azure",
"billingCycleType": "Monthly",
"orderId": "568297985427000000",
"serviceName": "Storage",
"serviceType": "Standard Page Blob",
"resourceGuid": "d23a5753-ff85-4ddf-af28-8cc5cf2d3882",
"resourceName": "LRS Data Stored",
"region": "",
"consumedQuantity": 0.000882,
"chargeStartDate": "2019-08-02T00:00:00",
"chargeEndDate": "2019-09-01T00:00:00",
"unit": "1 GB/Month",
"billingProvider": "azure",
"attributes": {
"objectType": "UsageBasedLineItem"
}
}
],
"links": {
"self": {
"uri": "/invoices/1234000000/lineitems?provider=Azure&invoicelineitemtype=BillingLineItems&size=2&offset=0",
"method": "GET",
"headers": []
},
"next": {
"uri": "/invoices/1234000000/lineitems?provider=Azure&invoicelineitemtype=BillingLineItems&size=2&offset=2",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Collection"
}
}
Exemplo de solicitação-resposta 3
No exemplo a seguir, os detalhes são os seguintes:
- BillingProvider: Azure
- InvoiceLineItemType: UsageLineItems
Exemplo de pedido 3
GET https://api.partnercenter.microsoft.com/v1/invoices/1234000000/lineitems?provider=Azure&invoicelineitemtype=UsageLineItems&size=2&offset=0 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 1eb2ecb8-37af-45f4-a1a1-358de3ca2b9e
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
MS-PartnerCenter-Application: Partner Center .NET SDK Samples
Host: api.partnercenter.microsoft.com
Exemplo de resposta 3
HTTP/1.1 200 OK
Content-Length: 2484
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 1eb2ecb8-37af-45f4-a1a1-358de3ca2b9e
MS-CV: bpqyomePDUqrSSYC.0
MS-ServerId: 202010406
Date: Thu, 07 Sep 2017 23:31:09 GMT
{
"totalCount": 2,
"items": [
{
"customerBillableAccount": "1439508127",
"usageDate": "2019-08-05T00:00:00",
"invoiceLineItemType": "usage_line_items",
"partnerId": "1F5CCB06-8E36-4A74-A74C-FCAA9E000000",
"partnerName": "TEST_TEST_BIG FOOT CONSULTING",
"partnerBillableAccountId": "1010578050",
"customerId": "9E9B71BA-3442-458B-B519-E1CCF72FBB54",
"domainName": "test600.onmicrosoft.com",
"customerCompanyName": "600 TEST",
"mpnId": 4390934,
"tier2MpnId": -1,
"invoiceNumber": "1234000000",
"subscriptionId": "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
"subscriptionName": "MICROSOFT AZURE",
"subscriptionDescription": "MICROSOFT AZURE",
"billingCycleType": "MONTHLY",
"orderId": "568297985577171353",
"serviceName": "STORAGE",
"serviceType": "STANDARD PAGE BLOB",
"resourceGuid": "9CC63CF8-6593-410A-B0E7-26A4EF71E8B3",
"resourceName": "DISK DELETE OPERATIONS",
"region": "",
"consumedQuantity": 2.9616,
"chargeStartDate": "2019-08-05T00:00:00",
"chargeEndDate": "2019-09-04T00:00:00",
"unit": "10K",
"billingProvider": "azure",
"attributes": {
"objectType": "DailyUsageLineItem"
}
},
{
"customerBillableAccount": "1307536861",
"usageDate": "2019-08-10T00:00:00",
"invoiceLineItemType": "usage_line_items",
"partnerId": "1F5CCB06-8E36-4A74-A74C-FCAA9E000000",
"partnerName": "TEST_TEST_BIG FOOT CONSULTING",
"partnerBillableAccountId": "1010578050",
"customerId": "EB53B7BD-267E-440E-B3C0-8F0B40000000",
"domainName": "brandontest.onmicrosoft.com",
"customerCompanyName": "BRANDON'S TEST",
"mpnId": 4390934,
"tier2MpnId": -1,
"invoiceNumber": "1234000000",
"subscriptionId": "cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
"subscriptionName": "MICROSOFT AZURE",
"subscriptionDescription": "MICROSOFT AZURE",
"billingCycleType": "MONTHLY",
"orderId": "568297985605838583",
"serviceName": "VIRTUAL MACHINES",
"serviceType": "D/DS SERIES WINDOWS",
"resourceGuid": "62C64B6C-4033-4E20-AB33-9E81271AC12A",
"resourceName": "D1/DS1",
"region": "US WEST",
"consumedQuantity": 24,
"chargeStartDate": "2019-08-05T00:00:00",
"chargeEndDate": "2019-09-04T00:00:00",
"unit": "1 HOUR",
"billingProvider": "azure",
"attributes": {
"objectType": "DailyUsageLineItem"
}
}
],
"links": {
"self": {
"uri": "/invoices/1234000000/lineitems?provider=Azure&invoicelineitemtype=UsageLineItems&size=2&offset=0",
"method": "GET",
"headers": []
},
"next": {
"uri": "/invoices/1234000000/lineitems?provider=Azure&invoicelineitemtype=UsageLineItems&size=2&offset=2",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Collection"
}
}
Exemplo de solicitação-resposta 4
No exemplo a seguir, os detalhes são os seguintes:
- BillingProvider: Uma vez
- InvoiceLineItemType: BillingLineItems
Exemplo de pedido 4
GET https://api.partnercenter.microsoft.com/v1/invoices/G000024135/lineitems/OneTime/BillingLineItems?size=2&offset=0 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 1eb2ecb8-37af-45f4-a1a1-358de3ca2b9e
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
MS-PartnerCenter-Application: Partner Center .NET SDK Samples
Host: api.partnercenter.microsoft.com
Exemplo de resposta 4
HTTP/1.1 200 OK
Content-Length: 2484
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 1eb2ecb8-37af-45f4-a1a1-358de3ca2b9e
MS-CV: bpqyomePDUqrSSYC.0
MS-ServerId: 202010406
Date: Thu, 07 Sep 2017 23:31:09 GMT
{
"continuationToken": "d19617b8-fbe5-4684-a5d8-0230972fb0cf,0705c4a9-39f7-4261-ba6d-53e24a9ce47d_a4ayc/80/OGda4BO/1o/V0etpOqiLx1JwB5S3beHW0s=,0d81c700-98b4-4b13-9129-ffd5620f72e7",
{
"totalCount": 3,
"items": [
{
"partnerId": "934f3416-bc2f-47f3-b492-77e517d4e572",
"customerId": "c139c4bf-2e8b-4ab5-8bed-d9f50dcca7a2",
"customerName": "Test_Test_Office R2 Reduce Seats Validation",
"customerDomainName": "testcustomerr2t2reduce.onmicrosoft.com",
"customerCountry": "US",
"invoiceNumber": "G000773581",
"mpnId": "5357564",
"resellerMpnId": "4649221",
"orderId": "94e858b6d855",
"orderDate": "2021-05-20T18:30:06.6045692Z",
"productId": "CFQ7TTC0LH0R",
"skuId": "0002",
"availabilityId": "CFQ7TTC0K5RQ",
"productName": "Microsoft 365 Phone System - Virtual User",
"skuName": "Microsoft 365 Phone System - Virtual User",
"productQualifiers": [
"AddOn",
"Trial"
],
"chargeType": "new",
"unitPrice": "0",
"effectiveUnitPrice": "0",
"unitType": "",
"quantity": "25",
"subtotal": "0",
"taxTotal": "0",
"totalForCustomer": "0",
"currency": "USD",
"publisherName": "Microsoft Corporation",
"publisherId": "",
"subscriptionDescription": "",
"subscriptionId": "dddd3d3d-ee4e-ff5f-aa6a-bbbbbb7b7b7b",
"subscriptionStartDate": "2021-05-20T00:00:00Z",
"subscriptionEndDate": "2021-06-19T00:00:00Z",
"chargeStartDate": "2021-05-20T00:00:00Z",
"chargeEndDate": "2021-06-19T00:00:00Z",
"termAndBillingCycle": "One-Month commitment for trial",
"alternateId": "94e858b6d855",
"referenceId": "0cf1202a-5b7d-4219-966e-93c637113708",
"priceAdjustmentDescription": "",
"discountDetails": "",
"pricingCurrency": "USD",
"pcToBCExchangeRate": "1",
"pcToBCExchangeRateDate": "2021-05-01T00:00:00",
"billableQuantity": "25",
"meterDescription": "",
"billingFrequency": "",
"reservationOrderId": "99f246cf-ed96-41b4-b0cd-0aa43eb1fe91",
"invoiceLineItemType": "billing_line_items",
"billingProvider": "one_time",
"promotionId": "",
"attributes": {
"objectType": "OneTimeInvoiceLineItem"
}
},
{
"partnerId": "934f3416-bc2f-47f3-b492-77e517d4e572",
"customerId": "835a59a7-3172-47b5-bdef-d9cc65f4d0e4",
"customerName": "TEST_TEST Test Promotions 01",
"customerDomainName": "kyletestpromos01.onmicrosoft.com",
"customerCountry": "US",
"invoiceNumber": "G000773581",
"mpnId": "5357564",
"resellerMpnId": "0",
"orderId": "5f9d52bb1408",
"orderDate": "2021-05-20T18:48:30.6168285Z",
"productId": "CFQ7TTC0HL8W",
"skuId": "0001",
"availabilityId": "CFQ7TTC0K59S",
"productName": "Power BI Premium Per User",
"skuName": "Power BI Premium Per User",
"productQualifiers": [],
"chargeType": "new",
"unitPrice": "16",
"effectiveUnitPrice": "14.4",
"unitType": "",
"quantity": "50",
"subtotal": "720",
"taxTotal": "73",
"totalForCustomer": "793",
"currency": "USD",
"publisherName": "Microsoft Corporation",
"publisherId": "",
"subscriptionDescription": "",
"subscriptionId": "eeee4efe-ff5f-aa6a-bb7b-cccccc8c8c8c",
"subscriptionStartDate": "2021-05-20T00:00:00Z",
"subscriptionEndDate": "2022-05-19T00:00:00Z",
"chargeStartDate": "2021-05-20T00:00:00Z",
"chargeEndDate": "2021-06-19T00:00:00Z",
"termAndBillingCycle": "One-Year commitment for monthly/yearly billing",
"alternateId": "5f9d52bb1408",
"referenceId": "28b535e0-68f4-40b5-84f7-8ed9241eb149",
"priceAdjustmentDescription": "[\"Price for given billing period\",\"You are getting a discount due to a pre-determined override.\",\"You are getting a discount for being a partner.\",\"You are getting a price guarantee for your price.\",\"Price for given term\"]",
"discountDetails": "",
"pricingCurrency": "USD",
"pcToBCExchangeRate": "1",
"pcToBCExchangeRateDate": "2021-05-01T00:00:00",
"billableQuantity": "50",
"meterDescription": "",
"billingFrequency": "Monthly",
"reservationOrderId": "8fdebb4a-7110-496e-9570-623e4c992797",
"invoiceLineItemType": "billing_line_items",
"billingProvider": "one_time",
"promotionId": "39NFJQT1X27N:0002:39NFJQT1Q5KL",
"attributes/objectType": "OneTimeInvoiceLineItem",
"attributes": {
"objectType": "OneTimeInvoiceLineItem"
}
},
{
"partnerId": "934f3416-bc2f-47f3-b492-77e517d4e572",
"customerId": "c139c4bf-2e8b-4ab5-8bed-d9f50dcca7a2",
"customerName": "Test_Test_Office R2 Reduce Seats Validation",
"customerDomainName": "testcustomerr2t2reduce.onmicrosoft.com",
"customerCountry": "US",
"invoiceNumber": "T000773581",
"mpnId": "1234567",
"resellerMpnId": 0,
"orderId": "HJVtMZMkgQ2miuCiNv0RSr51zQDans0m1",
"orderDate": "2019-02-04T17:59:52.9460102Z",
"productId": "DZH318Z0BXWC",
"skuId": "0002",
"availabilityId": "DZH318Z0BP8B",
"productName": "Test WAF-as-a-Service",
"skuName": "Test WaaS - Medium Plan",
"chargeType": "New",
"unitPrice": 820,
"effectiveUnitPrice": 820,
"unitType": "",
"quantity": 1,
"subtotal": 820,
"taxTotal": 0,
"totalForCustomer": 0,
"currency": "USD",
"publisherName": "Test Networks, Inc.",
"publisherId": "21223810",
"subscriptionDescription": "",
"subscriptionId": "ffff5f5f-aa6a-bb7b-cc8c-dddddd9d9d9d",
"subscriptionStartDate": "2019-02-01T00:00:00Z",
"subscriptionEndDate": "2020-01-31T00:00:00Z",
"chargeStartDate": "2019-02-04T09:22:40.1767993-08:00",
"chargeEndDate": "2019-03-03T09:22:40.1767993-08:00",
"termAndBillingCycle": "1 Year Subscription",
"alternateId": "123456ad566",
"priceAdjustmentDescription": "[\"15.0% Partner earned credit for services managed\"]",
"discountDetails": "",
"pricingCurrency": "USD",
"pcToBCExchangeRate": 1,
"pcToBCExchangeRateDate": "2019-08-01T00:00:00Z",
"billableQuantity": 3.1618,
"meterDescription": "Bandwidth - Data Transfer In (GB) - Zone 2",
"reservationOrderId": "883d475b-0000-1234-0000-8818752f1234",
"attributes": {
"objectType": "OneTimeInvoiceLineItem"
}
},
{
"partnerId": "6480d686-cfb4-424d-a945-6b9b9f4badc2",
"customerId": "org:9060d13d-c5ed-482e-b059-a15a38cbb28e",
"customerName": "recipientCustomerName",
"customerDomainName": "recipientCustomerDomain",
"customerCountry": "US",
"invoiceNumber": "1234000000",
"mpnId": "4870137",
"resellerMpnId": 0,
"orderId": "VdqkP11Bu4DlcjP5rLeQabcdefg-1234",
"orderDate": "2021-01-29T19:50:13.9869095Z",
"productId": "CFQ7TTC01234",
"skuId": "0001",
"availabilityId": "CFQ7TTC0ABCD",
"productName": "Office 365 E3",
"skuName": "Office 365 E3",
"chargeType": "new",
"unitPrice": 16,
"effectiveUnitPrice": 16,
"unitType": "",
"quantity": 1,
"subtotal": 16,
"taxTotal": 1.61,
"totalForCustomer": 17.61,
"currency": "USD",
"publisherName": "Microsoft Corporation",
"publisherId": "",
"subscriptionDescription": "",
"subscriptionId": "aaaa6a6a-bb7b-cc8c-dd9d-eeeeee0e0e0e",
"chargeStartDate": "2021-01-29T00:00:00Z",
"chargeEndDate": "2021-02-27T00:00:00Z",
"termAndBillingCycle": "One-Year commitment for monthly/yearly billing",
"priceAdjustmentDescription": "[\"1 month billing/",\"You are getting a discount for being a partner.\",\"You are getting a price guarantee for your price.\",\"Yearly Duration\"]",
"discountDetails": "",
"pricingCurrency": "USD",
"pcToBCExchangeRate": 1,
"pcToBCExchangeRateDate": "0001-01-01T00:00:00",
"billableQuantity": 1,
"meterDescription": "",
"billingFrequency": "Monthly",
"reservationOrderId": "e770c049-89c7-4ec1-b366-123456789000",
"invoiceLineItemType": "billing_line_items",
"billingProvider": "one_time" ,
"attributes": {
"objectType": "OneTimeInvoiceLineItem"
}
}
],
"links": {
"self": {
"uri": "/invoices/G000773581/lineitems?provider=OneTime&nvoicelineitemtype=BillingLineItems&size=2",
"method": "GET",
"headers": []
},
"next": {
"uri": "/invoices/G000773581/lineitems?provider=OneTime&nvoicelineitemtype=BillingLineItems&size=2?seekOperation=Next",
"method": "GET",
"headers": [
{
"key": "MS-ContinuationToken",
"value": "d19617b8-fbe5-4684-a5d8-0230972fb0cf,0705c4a9-39f7-4261-ba6d-53e24a9ce47d_a4ayc/80/OGda4BO/1o/V0etpOqiLx1JwB5S3beHW0s=,0d81c700-98b4-4b13-9129-ffd5620f72e7"
}
]
}
},
"attributes": {
"objectType": "Collection"
}
}
Exemplo de solicitação-resposta 5
No exemplo a seguir, há paginação usando um token de continuação. Os detalhes são os seguintes:
- BillingProvider: Uma vez
- InvoiceLineItemType: BillingLineItems
- SeekOperation: Seguinte
Exemplo de pedido 5
GET https://api.partnercenter.microsoft.com/v1/invoices/G000024135/lineitems/OneTime/BillingLineItems?seekOperation=Next HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-ContinuationToken: d19617b8-fbe5-4684-a5d8-0230972fb0cf,0705c4a9-39f7-4261-ba6d-53e24a9ce47d_a4ayc/80/OGda4BO/1o/V0etpOqiLx1JwB5S3beHW0s=,0d81c700-98b4-4b13-9129-ffd5620f72e7
MS-RequestId: 1eb2ecb8-37af-45f4-a1a1-358de3ca2b9e
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
MS-PartnerCenter-Application: Partner Center .NET SDK Samples
Host: api.partnercenter.microsoft.com
Exemplo de resposta 5
HTTP/1.1 200 OK
Content-Length: 2484
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 1eb2ecb8-37af-45f4-a1a1-358de3ca2b9e
MS-CV: bpqyomePDUqrSSYC.0
MS-ServerId: 202010406
Date: Thu, 07 Sep 2017 23:31:09 GMT
{
"totalCount": 2,
"items": [
{
"partnerId": "934f3416-bc2f-47f3-b492-77e517d4e572",
"customerId": "c139c4bf-2e8b-4ab5-8bed-d9f50dcca7a2",
"customerName": "Test_Test_Office R2 Reduce Seats Validation",
"customerDomainName": "testcustomerr2t2reduce.onmicrosoft.com",
"customerCountry": "US",
"invoiceNumber": "G000773581",
"mpnId": "5357564",
"resellerMpnId": "4649221",
"orderId": "94e858b6d855",
"orderDate": "2021-05-20T18:30:06.6045692Z",
"productId": "CFQ7TTC0LH0R",
"skuId": "0002",
"availabilityId": "CFQ7TTC0K5RQ",
"productName": "Microsoft 365 Phone System - Virtual User",
"skuName": "Microsoft 365 Phone System - Virtual User",
"productQualifiers": [
"AddOn",
"Trial"
],
"chargeType": "new",
"unitPrice": "0",
"effectiveUnitPrice": "0",
"unitType": "",
"quantity": "25",
"subtotal": "0",
"taxTotal": "0",
"totalForCustomer": "0",
"currency": "USD",
"publisherName": "Microsoft Corporation",
"publisherId": "",
"subscriptionDescription": "",
"subscriptionId": "dddd3d3d-ee4e-ff5f-aa6a-bbbbbb7b7b7b",
"subscriptionStartDate": "2021-05-20T00:00:00Z",
"subscriptionEndDate": "2021-06-19T00:00:00Z",
"chargeStartDate": "2021-05-20T00:00:00Z",
"chargeEndDate": "2021-06-19T00:00:00Z",
"termAndBillingCycle": "One-Month commitment for trial",
"alternateId": "94e858b6d855",
"referenceId": "0cf1202a-5b7d-4219-966e-93c637113708",
"priceAdjustmentDescription": "",
"discountDetails": "",
"pricingCurrency": "USD",
"pcToBCExchangeRate": "1",
"pcToBCExchangeRateDate": "2021-05-01T00:00:00",
"billableQuantity": "25",
"meterDescription": "",
"billingFrequency": "",
"reservationOrderId": "99f246cf-ed96-41b4-b0cd-0aa43eb1fe91",
"invoiceLineItemType": "billing_line_items",
"billingProvider": "one_time",
"promotionId": "",
"attributes": {
"objectType": "OneTimeInvoiceLineItem"
}
},
{
"partnerId": "934f3416-bc2f-47f3-b492-77e517d4e572",
"customerId": "835a59a7-3172-47b5-bdef-d9cc65f4d0e4",
"customerName": "TEST_TEST Test Promotions 01",
"customerDomainName": "kyletestpromos01.onmicrosoft.com",
"customerCountry": "US",
"invoiceNumber": "G000773581",
"mpnId": "5357564",
"resellerMpnId": "0",
"orderId": "5f9d52bb1408",
"orderDate": "2021-05-20T18:48:30.6168285Z",
"productId": "CFQ7TTC0HL8W",
"skuId": "0001",
"availabilityId": "CFQ7TTC0K59S",
"productName": "Power BI Premium Per User",
"skuName": "Power BI Premium Per User",
"productQualifiers": [],
"chargeType": "new",
"unitPrice": "16",
"effectiveUnitPrice": "14.4",
"unitType": "",
"quantity": "50",
"subtotal": "720",
"taxTotal": "73",
"totalForCustomer": "793",
"currency": "USD",
"publisherName": "Microsoft Corporation",
"publisherId": "",
"subscriptionDescription": "",
"subscriptionId": "eeee4efe-ff5f-aa6a-bb7b-cccccc8c8c8c",
"subscriptionStartDate": "2021-05-20T00:00:00Z",
"subscriptionEndDate": "2022-05-19T00:00:00Z",
"chargeStartDate": "2021-05-20T00:00:00Z",
"chargeEndDate": "2021-06-19T00:00:00Z",
"termAndBillingCycle": "One-Year commitment for monthly/yearly billing",
"alternateId": "5f9d52bb1408",
"referenceId": "28b535e0-68f4-40b5-84f7-8ed9241eb149",
"priceAdjustmentDescription": "[\"Price for given billing period\",\"You are getting a discount due to a pre-determined override.\",\"You are getting a discount for being a partner.\",\"You are getting a price guarantee for your price.\",\"Price for given term\"]",
"discountDetails": "",
"pricingCurrency": "USD",
"pcToBCExchangeRate": "1",
"pcToBCExchangeRateDate": "2021-05-01T00:00:00",
"billableQuantity": "50",
"meterDescription": "",
"billingFrequency": "Monthly",
"reservationOrderId": "8fdebb4a-7110-496e-9570-623e4c992797",
"invoiceLineItemType": "billing_line_items",
"billingProvider": "one_time",
"promotionId": "39NFJQT1X27N:0002:39NFJQT1Q5KL",
"attributes/objectType": "OneTimeInvoiceLineItem",
"attributes": {
"objectType": "OneTimeInvoiceLineItem"
}
},
{
"partnerId": "934f3416-bc2f-47f3-b492-77e517d4e572",
"customerId": "c139c4bf-2e8b-4ab5-8bed-d9f50dcca7a2",
"customerName": "Test_Test_Office R2 Reduce Seats Validation",
"customerDomainName": "testcustomerr2t2reduce.onmicrosoft.com",
"customerCountry": "US",
"invoiceNumber": "T000773581",
"mpnId": "1234567",
"resellerMpnId": 0,
"orderId": "HJVtMZMkgQ2miuCiNv0RSr51zQDans0m1",
"orderDate": "2019-02-04T17:59:52.9460102Z",
"productId": "DZH318Z0BXWC",
"skuId": "0002",
"availabilityId": "DZH318Z0BP8B",
"productName": "Test WAF-as-a-Service",
"skuName": "Test WaaS - Medium Plan",
"chargeType": "New",
"unitPrice": 820,
"effectiveUnitPrice": 820,
"unitType": "",
"quantity": 1,
"subtotal": 820,
"taxTotal": 0,
"totalForCustomer": 0,
"currency": "USD",
"publisherName": "Test Networks, Inc.",
"publisherId": "21223810",
"subscriptionDescription": "",
"subscriptionId": "ffff5f5f-aa6a-bb7b-cc8c-dddddd9d9d9d",
"subscriptionStartDate": "2019-02-01T00:00:00Z",
"subscriptionEndDate": "2020-01-31T00:00:00Z",
"chargeStartDate": "2019-02-04T09:22:40.1767993-08:00",
"chargeEndDate": "2019-03-03T09:22:40.1767993-08:00",
"termAndBillingCycle": "1 Year Subscription",
"alternateId": "123456ad566",
"priceAdjustmentDescription": "[\"15.0% Partner earned credit for services managed\"]",
"discountDetails": "",
"pricingCurrency": "USD",
"pcToBCExchangeRate": 1,
"pcToBCExchangeRateDate": "2019-08-01T00:00:00Z",
"billableQuantity": 3.1618,
"meterDescription": "Bandwidth - Data Transfer In (GB) - Zone 2",
"reservationOrderId": "883d475b-0000-1234-0000-8818752f1234",
"attributes": {
"objectType": "OneTimeInvoiceLineItem"
}
},
{
"partnerId": "6480d686-cfb4-424d-a945-6b9b9f4badc2",
"customerId": "org:9060d13d-c5ed-482e-b059-a15a38cbb28e",
"customerName": "recipientCustomerName",
"customerDomainName": "recipientCustomerDomain",
"customerCountry": "US",
"invoiceNumber": "1234000000",
"mpnId": "4870137",
"resellerMpnId": 0,
"orderId": "VdqkP11Bu4DlcjP5rLeQabcdefg-1234",
"orderDate": "2021-01-29T19:50:13.9869095Z",
"productId": "CFQ7TTC01234",
"skuId": "0001",
"availabilityId": "CFQ7TTC0ABCD",
"productName": "Office 365 E3",
"skuName": "Office 365 E3",
"chargeType": "new",
"unitPrice": 16,
"effectiveUnitPrice": 16,
"unitType": "",
"quantity": 1,
"subtotal": 16,
"taxTotal": 1.61,
"totalForCustomer": 17.61,
"currency": "USD",
"publisherName": "Microsoft Corporation",
"publisherId": "",
"subscriptionDescription": "",
"subscriptionId": "aaaa6a6a-bb7b-cc8c-dd9d-eeeeee0e0e0e",
"chargeStartDate": "2021-01-29T00:00:00Z",
"chargeEndDate": "2021-02-27T00:00:00Z",
"termAndBillingCycle": "One-Year commitment for monthly/yearly billing",
"priceAdjustmentDescription": "[\"1 month billing/",\"You are getting a discount for being a partner.\",\"You are getting a price guarantee for your price.\",\"Yearly Duration\"]",
"discountDetails": "",
"pricingCurrency": "USD",
"pcToBCExchangeRate": 1,
"pcToBCExchangeRateDate": "0001-01-01T00:00:00",
"billableQuantity": 1,
"meterDescription": "",
"billingFrequency": "Monthly",
"reservationOrderId": "e770c049-89c7-4ec1-b366-123456789000",
"invoiceLineItemType": "billing_line_items",
"billingProvider": "one_time" ,
"attributes": {
"objectType": "OneTimeInvoiceLineItem"
}
}
],
"links": {
"self": {
"uri": "/invoices/G000773581/lineitems?provider=OneTime&nvoicelineitemtype=BillingLineItems&size=2",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Collection"
}
}