Поделиться через


Api использования версии 2 для новой коммерции (бета-версия)

Область применения: Центр партнеров | Центр партнеров, управляемый 21Vianet | Центр партнеров для Microsoft Cloud for US Government

Используйте эти API для асинхронного получения новых коммерческих счетов и неоплачиваемых ежедневных данных об использовании.

Примечание.

Этот API будет нерекомендуем в ближайшее время. Чтобы обеспечить простое выполнение операций, рекомендуется выполнить миграцию в общедоступную версию. Ниже приведены подробные сведения, которые необходимо спланировать заранее.

  • Цель: получение оплачиваемых ежедневных строк использования для периодов выставления счетов с сентября 2022 г. до 21 января 2025 г.

  • Действие. Используйте этот API, но как можно скорее перейдите в общедоступную версию 2.

  • Цель: получение оплачиваемых ежедневных строк использования для периодов выставления счетов с 21 января 2025 г.

  • Действие. Использование только общедоступной версии API версии 2.

  • Цель: получение необязаемых ежедневных строк использования для текущих и предыдущих периодов выставления счетов до 21 января 2025 года.

  • Действие. Используйте этот API, но как можно скорее перейдите в общедоступную версию 2.

  • Цель: получение необязаемых ежедневных строк использования для текущих и предыдущих периодов выставления счетов с 21 января 2025 года.

  • Действие. Использование только общедоступной версии API версии 2.

Чтобы легко перейти к новым API, следуйте этой ссылке: Выставление счетов и неоплачиваемое ежедневное выверка api выверки использования версии 2 (GA).>

Спасибо за ваше внимание, и мы с нетерпением ждем вашего дальнейшего успеха с нашими API выставления счетов.

Примечание.

Вы можете получить доступ к неоплачиваемой ежедневной строке использования с помощью API или портала Центра партнеров. Чтобы обеспечить точную информацию, до 24 часов для доступности. В зависимости от расположения и времени, когда счетчики сообщают об использовании, могут возникнуть дополнительные задержки.

Сначала мы ставим приоритеты по доставке оплачиваемых ежедневных данных об использовании. Иногда вы можете не видеть последние необнаруженные данные о ежедневном использовании, пока данные о выставлении счетов за предыдущий месяц не будут доступны. Получив данные о выставлении счетов, вы можете получить все обновленные необновенные данные об использовании с начала месяца.

Ваше понимание и терпение ценятся, так как мы стремимся обеспечить наиболее точную и своевременную информацию.

Внимание

Данные о ежедневном использовании не включают расходы на эти продукты:

  • Резервирование Azure
  • Экономичный план Azure
  • Office
  • Dynamics
  • Microsoft Power Apps
  • Программное обеспечение с бессрочной лицензией
  • Подписка на программное обеспечение
  • Продукт SaaS, отличный от Майкрософт или Marketplace

Обзор API

Асинхронный API — это новый метод быстрого доступа к данным выставления счетов и выверки в управляемых блоках. Это устраняет необходимость в обслуживании открытого подключения в течение нескольких часов и циклически через миллионы транзакций итеративно.

Мы используем ключ valet и асинхронные шаблоны ответа на запросы для оптимизации наших 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": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"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
PCToBCExchangeRateDate yes no
Идентификатор прав yes yes
НазначениеDescription yes no
PartnerEarnedCreditPercentage yes no
CreditPercentage yes yes
CreditType yes yes
BenefitOrderID yes yes
BenefitID yes no
BenefitType yes yes