Получить позиции счёта-фактуры
Область применения: Центр партнеров | Центр партнеров под управлением 21Vianet | Центр партнеров для государственного облачного продукта Microsoft в США
Вы можете использовать следующие методы для получения информации о сборе для позиций счета (также известных как закрытые позиции накладной) для указанного счета.
За исключением исправлений ошибок, этот API больше не обновляется. Мы рекомендуем обновить приложения, чтобы вызывать API onetime вместо Marketplace. API onetime предлагает дополнительные функциональные возможности и постоянно обновляется.
Для запроса всех элементов строки коммерческого потребления лучше использовать единоразовый API вместо платформы Marketplace.
Этот API также поддерживает типы поставщиков для Azure и Office в подписках Microsoft Azure (MS-AZR-0145P) и предложениях Office, обеспечивая обратную совместимость.
Примечание.
Основные даты и сценарии миграции
Стратегия перехода версий API помогает обеспечить плавную миграцию с API версии 1 на API версии 2 с акцентом на поддержание функциональности и целостности данных. Ниже приведено руководство по выбору подходящей версии API для ваших потребностей:
Сценарий : Исторические данные (до периода выставления счетов за февраль 2024 г.):
- Используйте этот API исключительно для всех ваших нужд.
сценарий B: последние периоды выставления счетов (февраль 2024 г. – март 2025 г.):
- Продолжайте использовать этот API до 21 апреля 2025 г., если вы еще не перешли на API v2 GA.
сценарий C: будущие периоды выставления счетов после марта 2025 г. (после 21 апреля 2025 г.):
- Переключиться на API версии 2 GA для получения данных по всем будущим периодам выставления счетов.
Переход от API версии 1 к API версии 2 включает подробное планирование и точную реализацию. Чтобы обеспечить плавный переход на новый API, см. API выверки выставленных счетов версии 2 (GA).
Предварительные требования
- Учетные данные, как описано в проверке удостоверений в Центре партнеров. Этот сценарий поддерживает проверку подлинности как с автономными учетными данными приложения, так и с учетными данными приложения и пользователя.
- Идентификатор счета, для которого нужно получить элементы строки.
Получение элементов строки в C#
Чтобы получить позиции для указанного счета-фактуры:
- Вызовите метод ById, чтобы получить интерфейс для операций с счетом для указанного счета.
- Вызовите метод Get или GetAsync, чтобы получить объект счета. Объект счета содержит все сведения для указанного счета.
- Используйте свойство InvoiceDetails объекта счета, чтобы получить доступ к коллекции объектов InvoiceDetail, каждый из которых содержит BillingProvider и InvoiceLineItemType. Функция BillingProvider определяет источник сведений о счете (например, Office, Azure, OneTime), а Тип InvoiceLineItemType указывает тип (например, BillingLineItem).
В следующем примере кода для обработки коллекции InvoiceDetails используется цикл foreach. Для каждого экземпляра InvoiceDetail извлекается отдельная коллекция элементов строки.
Ниже приведены шаги для получения коллекции строковых элементов, соответствующих экземпляру InvoiceDetail:
- Передайте BillingProvider и InvoiceLineItemType экземпляра методу By.
- Вызовите метод Get или GetAsync, чтобы получить связанные элементы строки.
- Создайте перечислитель для обхода коллекции, как показано в следующем примере.
// 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();
}
}
См. другой пример:
- Пример: тестовое приложение консоли
- Проект: примеры пакета SDK центра партнеров
- Класс: GetInvoiceLineItems.cs
Отправка запроса REST
Отправьте запрос GET для сведений о строках счетов.
Используйте синтаксис запроса для поставщика счетов
Выполните запрос с помощью соответствующего синтаксиса для поставщика выставления счетов в вашем сценарии.
Использование синтаксиса поставщика выставления счетов Office
Следующий синтаксис применяется, если поставщик выставления счетов — Office.
Способ | URI запроса |
---|---|
GET | {baseURL}/v1/invoices/{invoice-id}/lineitems?provider=office&invoicelineitemtype=billinglineitems&size={size}&offset={offset} HTTP/1.1 |
Настройка синтаксиса подписки Microsoft Azure (MS-AZR-0145P)
Следующие синтаксисы применяются, если у поставщика выставления счетов есть подписка Microsoft Azure (MS-AZR-0145P).
Способ | URI запроса |
---|---|
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 |
Использование синтаксиса выставления счетов OneTime
Используйте эти синтаксисы для поставщиков выставления счетов OneTime . Они охватывают такие расходы, как резервирования Azure, планы экономии Azure, программное обеспечение, планы Azure, коммерческие платформы и продукты Майкрософт/Dynamics 365.
Способ | URI запроса |
---|---|
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 |
Использование текущих и предыдущих синтаксисов
Мы настоятельно рекомендуем обновить приложения для использования API для одноразового использования вместо маркетплейс API. API onetime предлагает расширенные функциональные возможности и получает текущие обновления, гарантируя, что ваши приложения остаются текущими.
Для всех элементов линии коммерческого потребления используйте однократный API для запросов. Этот переход не только упрощает процессы, но и обеспечивает более надежные возможности.
Помните, что за исключением основных исправлений ошибок, API Marketplace больше не получает обновления. Теперь это изменение поможет вам оставаться впереди и воспользоваться новейшими функциями и улучшениями.
Способ | URI запроса | Описание варианта использования синтаксиса |
---|---|---|
ПОЛУЧИТЬ | {baseURL}/v1/invoices/{invoice-id}/lineitems/{billing-provider}/{invoice-line-item-type} HTTP/1.1 | Этот синтаксис можно использовать для возврата полного списка каждого элемента строки для данного счета. |
ПОЛУЧИТЬ | {baseURL}/v1/invoices/{invoice-id}/lineitems/{billing-provider}/{invoice-line-item-type}?size={size}&offset={offset} HTTP/1.1 | Чтобы эффективно обрабатывать большие счета, укажите размер и отсчитываемое от нуля смещение, чтобы вернуть список строк. |
GET | {baseURL}/v1/invoices/{invoice-id}/lineitems/OneTime/{invoice-line-item-type}?seekOperation=Next | Этот синтаксис можно использовать для счета с значением платежного провайдера OneTime и задать seekOperation значение Следующий, чтобы получить следующую страницу элементов строк счета. |
Использование параметров URI
При создании запроса используйте следующие параметры URI и запроса.
Имя. | Тип | Обязательно | Описание |
---|---|---|---|
идентификатор счета | строка | Да | Строка, идентифицирующая счет. |
Поставщик выставления счетов | строка | Да | Поставщик выставления счетов: "Office", "Azure", "OneTime" в устаревшей версии у нас есть отдельные модели данных для транзакций Office и Azure. Однако в современных условиях у нас есть единая модель данных для всех продуктов, отфильтрованных по значению «OneTime». |
тип-строки-счета | строка | Да | Тип сведений о счете: "BillingLineItems", "UsageLineItems" |
размер | номер | Нет | Максимальное количество возвращаемых элементов. Максимальный размер по умолчанию = 2000 |
offset | номер | Нет | Индекс, начиная с нуля, для начального элемента строки, который нужно вернуть. |
операция поиска | строка | Нет | Если поставщик услуг по выставлению счетов равен OneTime, установите seekOperation в Next, чтобы получить следующую страницу строк накладной. |
получилЛиПартнёрКредит | bool | Нет | Этот параметр возвращает позиции с учетом зачисленных партнёрских бонусов. Он работает только для типа поставщика выставления счетов OneTime и InvoiceLineItemType = UsageLineItems. |
Общие сведения о заголовках запросов
См. статью о заголовках REST Центра партнеров для получения дополнительных сведений.
Общие сведения о тексте запроса
Нет.
Проверьте ответ REST
При успешном выполнении ответ содержит коллекцию сведений о элементе строки.
Для пункта ChargeType значение Purchase соответствует New. Значение Refund сопоставляется с Cancel.
Общие сведения об успешном выполнении ответа и кодах ошибок
Каждый ответ содержит код состояния HTTP, указывающий на успешность или сбой, а также другие сведения об отладке. Используйте средство трассировки сети для чтения этого кода, типа ошибки и дополнительных параметров. Полный список ответов есть в статье Коды ошибок REST в Центре партнеров.
Использование примеров ответа на запросы REST
Ниже приведены некоторые примеры ответа на запросы REST, показывающие синтаксис и использование API.
Пример запроса-ответа 1
В этом примере подробные сведения приведены ниже.
- BillingProvider: Office
- Тип позиции накладной: Элементы выставления счетов
Пример запроса 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
Внимание
По состоянию на июнь 2023 г. последняя версия пакета SDK для .NET для Центра партнеров 3.4.0 теперь архивируется. Вы можете скачать релиз SDK из GitHub вместе с файлом readme, содержащим полезные сведения.
Партнерам рекомендуется продолжать использовать REST API Центра партнеров.
Пример ответа 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"
}
}
Пример ответа на запрос 2
В следующем примере подробные сведения приведены ниже.
- BillingProvider: Azure
- InvoiceLineItemType: BillingLineItems
Пример запроса 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
Пример ответа 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"
}
}
Пример ответа на запрос 3
В следующем примере подробные сведения приведены ниже.
- BillingProvider: Azure
- InvoiceLineItemType: UsageLineItems
Пример запроса 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
Пример ответа 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"
}
}
Пример запроса-ответа 4
В следующем примере подробные сведения приведены ниже.
- BillingProvider: OneTime
- InvoiceLineItemType: BillingLineItems
Пример запроса 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
Пример ответа 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"
}
}
Пример ответа на запрос 5
В следующем примере выполняется разбиение по страницам с помощью маркера продолжения. Ниже перечислены этапы.
- BillingProvider: OneTime
- InvoiceLineItemType: BillingLineItems
- SeekOperation: Далее
Пример запроса 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
Пример ответа 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"
}
}