Api использования версии 2 для новой коммерции (бета-версия)
Область применения: Центр партнеров | Центр партнеров, управляемый 21Vianet | Центр партнеров для Microsoft Cloud for US Government
Используйте эти API для асинхронного получения новых коммерческих счетов и неоплачиваемых ежедневных данных об использовании.
Примечание.
Этот API будет нерекомендуем. Вместо этого используйте общедоступную версию. Дополнительные сведения см. в следующих сведениях.
Этот API можно использовать только для выставления счетов за ежедневное использование до 30 сентября 2024 г. Ознакомьтесь с подробными сведениями, чтобы выбрать нужную версию API и спланировать заранее.
- Перейдите в общедоступную версию 2 как можно скорее. До тех пор используйте этот API, чтобы получить ежедневные категории строк использования для новых коммерческих счетов за периоды выставлениясчетов с сентября 2022 года.
- Используйте только API версии 2 GA с 1 октября 2024 г., чтобы получить ежедневные категории строк использования для новых коммерческих счетов за периоды выставления счетов за период выставлениясчетов с сентября 2022 года.
Этот API можно использовать только для неоплачиваемого ежедневного использования до 30 сентября 2024 г. Ознакомьтесь с подробными сведениями, чтобы выбрать нужную версию API и спланировать заранее.
- Перейдите в общедоступную версию 2 как можно скорее. До тех пор используйте этот API, чтобы получить новые коммерческие необясченные ежедневные элементы линии использования для текущих и предыдущих периодов выставления счетов.
- Используйте только API версии 2 GA с 1 октября 2024 г., чтобы получить новые коммерческие необязаемые элементы линии ежедневного использования для текущих и предыдущих периодов выставления счетов.
Чтобы получить доступ к новым API общедоступной версии 2, см. следующую ссылку:
Выставленные счета и неоплачиваемые ежедневные оценки API выверки использования версии 2 (GA)
Примечание.
Вы можете получить ежедневные необясленные элементы строки использования с помощью портала API или Центра партнеров. Доступ к данным может занять до 24 часов. Однако могут возникнуть дополнительные задержки в зависимости от вашего расположения и времени, когда счетчики сообщают об использовании.
Иногда вы не увидите последние необязанные данные об использовании до тех пор, пока не будут доставлены данные о выставлении счетов за предыдущий месяц. Это делается для обеспечения доставки данных о выставлении счетов за использование в течение согласованного времени. Получив данные об использовании с выставленным счетом, вы сможете получить все обновленные необновенные данные об использовании с начала месяца.
Внимание
Данные о ежедневном использовании не включают расходы на эти продукты:
- Резервирование Azure
- Экономичный план Azure
- Office
- Dynamics
- Microsoft Power Apps
- Программное обеспечение с бессрочной лицензией
- Подписка на программное обеспечение
- Продукт SaaS, отличный от Майкрософт
Обзор API
Асинхронный API — это новый метод быстрого доступа к данным выставления счетов и выверки в управляемых блоках. Это устраняет необходимость в обслуживании открытого подключения в течение нескольких часов и циклически через миллионы транзакций итеративно.
Мы использовали ключ валета и асинхронные шаблоны ответа на запросы для оптимизации наших api выставления счетов и выверки, чтобы обеспечить результаты асинхронно. Ответы API предоставляют маркер для доступа к данным выверки со всеми атрибутами или подмножеством.
Данные об использовании можно скачать асинхронно с помощью трех новых шагов (конечных точек API). Дополнительные сведения см. в следующих статьях:
Конечная точка элемента строки использования
Используйте этот API для доступа к выставленным или неоплачиваемым элементам линии потребления. Он вернет состояние HTTP 202 и заголовок расположения с URL-адресом, который необходимо опрашивать по регулярным интервалам, пока вы не получите состояние успешного выполнения с URL-адресом манифеста.
Конечная точка состояния операции
Пока вы не получите состояние успешного выполнения, продолжайте опрашивать этот API через регулярный интервал. Если запрошенные данные недоступны, ответ API будет содержать заголовок Retry-After , указывающий время ожидания перед отправкой другого запроса.
Конечная точка манифеста
Эта конечная точка предоставляет папку хранения, из которой можно скачать фактические данные выставления счетов. Ответ разделяет или секционирует файлы для оптимизации пропускной способности и параллелизма ввода-вывода.
Схема последовательностей
На приведенной ниже схеме показаны шаги, необходимые для скачивания данных выверки.
Последовательность действий пользователя
Выполните приведенные ниже действия, чтобы получить данные о выверки.
Шаг 1. Отправка запроса
Отправьте запрос POST в конечную точку API.
Получение необясченных элементов строки использования
Получение необязненных элементов строки использования для текущего или последнего календарного месяца.
Запрос API
POST https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/unbilledusage?fragment={fragment}&period={period}?currencyCode={currencyCode}
Параметры запроса
Имя | In | Обязательный | Тип | Description |
---|---|---|---|---|
fragment | Query | False | Строка | Выберите "полный" для полного ответа или "базовый" для подмножества атрибутов. Значение по умолчанию — full. См. список атрибутов в этой статье. |
Период | Query | Истина | Строка | Используйте "current" или "last", чтобы получить использование для текущего или последнего календарного месяца. Значение "last" совпадает с "предыдущим" в существующих API версии 1. |
currencyCode | Query | Истина | Строка | Код валюты выставления счетов партнера. |
Устаревшие параметры запроса
Для более новой версии API не требуются следующие параметры URI:
Имя | Description |
---|---|
Provider | Недоступно (Он возвращает все использование плана Azure и эквивалентен одному времени существующих API версии 1.) |
hasPartnerEarnedCredit | Недоступно (возвращает все данные независимо от PEC.) |
Размер | Недоступно |
Смещение | Недоступно |
seekOperation | Недоступно |
Заголовок запроса
Список заголовков запросов для API в этой статье.
Текст запроса
Недоступно
Ответ API
HTTP/1.1 202 Accepted Operation-Location: https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/billingoperations/811bb8f0-8aca-4807-897c-c15ce50820d6
API возвращает состояние HTTP 202. На основе запроса API может возвращать другое стандартное состояние.
Имя | Description |
---|---|
202 — принято | Запрос принимается. ЗапросИТЕ URL-адрес заголовка расположения операции для состояния запроса. |
Получение выставленных счетов элементов строки использования
Получение выставления счетов о выставлении счетов в течение закрытого периода выставления счетов.
Запрос API
POST https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/billedusage/invoices/{invoiceId}?fragment={fragment}
Параметры запроса
Имя | In | Обязательный | Тип | Description |
---|---|---|---|---|
invoiceId | Путь | Истина | Строка | Номер счета Центра партнеров. |
Фрагмент | Query | False | Строка | Выберите "полный" для полного ответа или "базовый" для подмножества атрибутов. Значение по умолчанию — full. См. список атрибутов в этой статье. |
Устаревшие параметры запроса
Для более новой версии API не требуются следующие параметры URI:
Имя | Description |
---|---|
Provider | Недоступно (Он возвращает все использование плана Azure и эквивалентен одному времени существующих API версии 1.) |
hasPartnerEarnedCredit | Недоступно (возвращает все данные независимо от PEC.) |
Размер | Недоступно |
Смещение | Недоступно |
seekOperation | Недоступно |
Заголовок запроса
Список заголовков запросов для API в этой статье.
Текст запроса
Недоступно
Ответ API
HTTP/1.1 202 Accepted Operation-Location: https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/billingoperations/06d01983-07bf-4448-83b4-1e83ab1d4640
API возвращает значение HTTP 202 Accepted. На основе API запросов может возвращать другое стандартное состояние.
Имя | Description |
---|---|
202 — принято | Запрос принимается. Проверьте состояние запроса, проверив URL-адрес заголовка расположения операции. |
Шаг 2. Проверка состояния запроса
Дождитесь успешного или неудачного состояния терминала HTTP 200. URL-адрес манифеста будет "resourceLocation" в состоянии успешного выполнения.
Получение статуса операции
Возвращает состояние запроса на выверку данных.
Запрос API
GET https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/billingoperations/06d01983-07bf-4448-83b4-1e63ab1d3640
Параметры запроса
Имя | In | Обязательный | Тип | Description |
---|---|---|---|---|
operationId | Путь | Истина | Строка | Идентификатор операции. |
Заголовок запроса
Список заголовков запросов для API в этой статье.
Текст запроса
Недоступно
Состояние ответа
В дополнение к стандартному состоянию HTTP в этой статье API может вернуть следующее состояние HTTP:
Имя | Description |
---|---|
410 — потеряно | Каждая ссылка на операцию активна для указанного количества времени, управляемого сервером. После истечения времени клиент должен отправить новый запрос. |
Полезные данные ответа
Полезные данные ответа API возвращают следующие атрибуты:
Имя. | Необязательно | Description |
---|---|---|
createdDateTime | false | Время запроса. |
lastActionDateTime | false | Время изменения состояния. |
resourceLocation | true | URI полезных данных манифеста. |
статус | false | Возможные значения и действия. |
Значение | Действие клиента |
---|---|
notstarted | Выполните еще один вызов, чтобы проверка состояние после ожидания времени, указанного в заголовке Retry-After. |
выполняется | Выполните еще один вызов, чтобы проверка состояние после ожидания времени, указанного в заголовке Retry-After. |
Выполнено | Окончательное состояние операции, указывающее, что данные готовы. Извлеките полезные данные манифеста с помощью URI, указанного в resourceLocation. |
ошибка | Состояние терминала, указывающее на постоянный сбой. Перезапустите операцию. |
Для атрибута ошибки:
Имя. | Необязательно | Description |
---|---|---|
error | true | Сведения об ошибке, предоставленные в формате JSON, если состояние операции завершилось сбоем. |
Имя. | Необязательно | Description |
---|---|---|
message | false | Подробно описывает ошибку |
кодом | false | Указывает тип ошибки, которая произошла |
Запрос API
GET https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/billingoperations/06d01983-07bf-4447-83b4-1e83ab1d3640
Ответ API
Ответ предлагает ждать 10 секунд до повторных попыток при обработке данных.
HTTP/1.1 200 OK
Retry-After: 10
{
"createdDateTime": "2022-06-1T10-01-03.4Z",
"lastActionDateTime":" 2022-06-1T10-01-05Z",
"status": "running"
}
Запрос API
(через 10 секунд после предыдущего запроса)
GET https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/billingoperations/06d01983-07bf-4447-83b4-1e83ab1d3640
Ответ API
API возвращает состояние "успешно" и универсальный код ресурса (URI) resourceLocation.
HTTP/1.1 200 OK
Content-Type: application/json
{
"createdDateTime": "2022-06-1T10-01-03.4Z",
"lastActionDateTime": "2022-06-1T10-01-13Z",
"status": "succeeded",
"resourceLocation": "https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/billingmanifests/e03e1882-ff59-4c09-882f-74e60b4d7743"
}
Шаг 3. Получение полезных данных манифеста
Вызывающий объект отправляет запрос GET к URL-адресу манифеста, чтобы узнать больше о том, где хранятся данные выверки в БОЛЬШИХ двоичных объектах Azure.
Получение манифеста
Извлекает манифест с информацией о расположении хранилища Azure данных выверки.
Запрос API
GET https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/billingmanifests/{manifestId}
Параметры запроса
Имя | In | Обязательный | Тип | Description |
---|---|---|---|---|
manifestId | Путь | Истина | Строка | Идентификатор манифеста. |
Заголовок запроса
См. [список заголовков запросов для API] в этой статье.
Текст запроса
Недоступно
Состояние ответа
Помимо стандартного состояния HTTP API может возвращать следующее состояние HTTP:
Имя | Description |
---|---|
410 — потеряно | Каждая ссылка манифеста активна в течение указанного времени, управляемого сервером. После истечения времени клиент должен отправить новый запрос. |
Полезные данные ответа
Ответ API возвращает следующие атрибуты:
Имя | Description |
---|---|
Версия | Версия схемы манифеста. |
dataFormat | Формат файла данных выставления счетов. Возможные значения сжатыJSONLines: каждый большой двоичный объект является сжатым файлом, а данные в файле — в формате строк JSON. Распаковка файла для доступа к данным. |
UTCCreatedDateTime | Время создания файла манифеста. |
eTag | Версия данных манифеста. Изменение сведений о выставлении счетов создает новое значение eTag. |
partnerTenantId | Идентификатор клиента партнера. |
rootFolder | Корневой каталог файла. |
rootFolderSAS | Маркер SAS для доступа к файлу. |
partitionType | Это свойство делит данные. Если в заданной секции больше поддерживаемого числа, данные будут разделены на несколько файлов, соответствующих параметру partitionValue. Данные секционируются по количеству элементов строки в файле по умолчанию. Не устанавливайте фиксированное количество строк или размер файла в коде, так как это может измениться. |
BLOBCount | Общее число файлов для этого идентификатора клиента партнера. |
sizeInBytes | Всего байтов во всех файлах. |
большие двоичные объекты | Массив JSON объектов "BLOB-объектов" с подробными сведениями обо всех файлах для идентификатора клиента партнера. |
Объект BLOB-объектов | |
Имя. | Имя BLOB-объекта. |
sizeInBytes | Размер большого двоичного объекта в байтах. |
partitionValue | Раздел, содержащий файл. Большая секция будет разделена на несколько файлов, каждая из которых имеет одно и то же значение partitionValue. |
Пример полезных данных манифеста
{
"version": "1",
"dataFormat": "compressedJSONLines",
"utcCretedDateTime": "2022-04-29T22:40:57.1853571Z",
"eTag": "0x5B168C7B6E589D2",
"partnerTenantId": "14f593ad-1edc-474d-aaa0-83abbf9638da",
"rootFolder": "https://{billing.blob.core.windows.net}/{folder_path}",
"rootFolderSAS": "\*\*\*",
"partitionType": "ItemCount",
"blobCount": 3,
"sizeInBytes": 2000,
"blobs": [
{
"name": "{blobName1.json.gz}",
"sizeinBytes": 500,
"partitionValue": "1"
},
{
"name": "{blobName2.json.gz}",
"sizeinBytes": 1000,
"partitionValue": "2"
},
{
"name": "{blobName3.json.gz}",
"sizeinBytes": 500,
"partitionValue": "3"
}
]
}
Шаг 4. Скачивание данных выверки использования из расположения хранилища
Получите маркер SAS и расположение хранилища BLOB-объектов из свойств rootFolderSAS и rootFolder, ответ API полезных данных манифеста. С помощью пакета SDK или средства служба хранилища Azure скачайте и распакуйте файл BLOB-объекта. Он находится в формате строк JSON .
Стандартные заголовки запросов API
Все API принимают следующие заголовки:
Имя | Обязательный | Тип | Description |
---|---|---|---|
Авторизация | Истина | Строка | Маркер носителя авторизации. |
ms-correlationid | False | Строка | Внутренний средство отслеживания запросов. Каждый запрос создает новый трекер (GUID). |
ms-cv | False | Строка | Внутренний средство отслеживания запросов. |
ms-requestid | False | Строка | Идентификатор идемпотентности запроса. |
Стандартные состояния ответа API
Ниже приведены состояния HTTP из ответа API:
Имя | Description |
---|---|
400 — недопустимый запрос | Отсутствуют или неверные данные. Сведения об ошибке включены в текст ответа. |
401 — не авторизовано | Вызывающий объект не проходит проверку подлинности и должен пройти проверку подлинности в службе API партнера перед первым вызовом. |
403. Запрещено | Вызывающий объект не авторизован для выполнения запроса. |
500 Internal Server Error (внутренняя ошибка сервера). | API или одна из его зависимостей не может выполнить запрос. Повторите попытку позже. |
404 Не найдено | Ресурс недоступен с входными параметрами. |
410 — потеряно | Ссылка манифеста истекла или истекла. Отправьте новый запрос. |
Атрибуты данных об использовании
Ответ API выставления счетов или необясченного использования с параметром "full" или "basic" запроса возвращает следующие атрибуты:
Attribute | "полный" | "базовый" |
---|---|---|
PartnerId | yes | yes |
PartnerName | yes | yes |
CustomerId | yes | yes |
CustomerName | yes | Да |
CustomerDomainName | yes | no |
CustomerCountry | yes | no |
MpnId | yes | no |
Tier2MpnId | yes | no |
InvoiceNumber | yes | yes |
ИД продукта | yes | yes |
SkuId | yes | yes |
AvailabilityId | yes | no |
SkuName | yes | yes |
НаименованиеПродукта | yes | no |
PublisherName | yes | yes |
PublisherId | yes | no |
SubscriptionDescription | yes | no |
SubscriptionId | yes | yes |
ChargeStartDate | yes | yes |
ChargeEndDate | yes | yes |
UsageDate | yes | yes |
MeterType | yes | no |
MeterCategory | yes | no |
MeterId | yes | no |
MeterSubCategory | yes | no |
MeterName | yes | no |
MeterRegion | yes | no |
Единица измерения | yes | yes |
Расположение ресурса | yes | no |
ConsumedService | yes | no |
ResourceGroup | yes | no |
ResourceURI | yes | yes |
ChargeType | yes | yes |
UnitPrice | yes | yes |
Количество | yes | yes |
UnitType | yes | no |
BillingPreTaxTotal | yes | yes |
BillingCurrency | yes | yes |
ЦенаPreTaxTotal | yes | yes |
PricingCurrency | yes | yes |
ServiceInfo1 | yes | no |
ServiceInfo2 | yes | no |
Теги | yes | no |
AdditionalInfo | yes | no |
EffectiveUnitPrice | yes | yes |
PCToBCExchangeRate | yes | yes |
Идентификатор прав | yes | yes |
НазначениеDescription | yes | no |
PartnerEarnedCreditPercentage | yes | no |
CreditPercentage | yes | yes |
CreditType | yes | yes |
BenefitOrderID | yes | yes |
BenefitID | yes | no |
BenefitType | yes | yes |
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по