Для реализации публичных методов API реализована авторизация через токен. Токен хранится в .env под названием PUBLIC_API_TOKEN.

Токен отображается в панели администрирования в разделе Системное – Обновление.

Какова схема авторизации

Какие запросы можно использовать

Важно: При каждом обращении, не важно, POST или GET, в заголовках запроса нужно указывать параметр X-Auth-Token с предоставленным ключом в качестве значения.

Получение списка всех доступных отчётов

Чтобы получить список всех доступных Отчётов, нужно сделать GET запрос на адрес:

В ответ придёт JSON массив объектов, каждый из которых будет содержать Название (title) и Системное имя (type).

Получение метаданных

Чтобы получить метаданные о конкретном Отчёте, нужно сделать GET запрос на адрес:

В ответ придёт JSON объект с двумя полями:

Генерация и получение Отчёта

Обычный режим

Чтобы сгенерировать и получить Отчёт, нужно отправить POST запрос на адрес:

В body запроса нужно отправить JSON объект с полем filters, в котором будут поля, ключами которых будут Системные имена Фильтров, полученных на этапе Получения метаданных, а значениями непосредственно значения Фильтров (цифра, строка, массив и тд).

В ответ придёт JSON объект со следующими полями:

Режим потокового скачивания

Чтобы сгенерировать Отчёт, для дальнейшего его скачивания в потоковом режиме, нужно отправить POST запрос на адрес:

В ответ придёт JSON объект с полем id, он же Идентификатор сгенерированного отчета.

Чтобы получить JSON данные Отчёта, сгенерированного в предыдущем шаге, нужно отправить GET запрос на адрес:

Администратору платформы для обработки json необходимо включить на своей стороне поддержку потокового скачивания в принимаемом ПО

Описание режима потоковой передачи данных приведено на сайте https://learn.microsoft.com/en-us/azure/logic-apps/logic-apps-handle-large-messages#download-content-in-chunks

Важно:

  1. В потоковом режиме данные передаются дольше

  2. После запроса отчёта в потоковом режиме API не становится заблокированным, можно обратиться к другим методом или за формированием другого отчёта

В ответ придёт JSON объект со следующими полями: