Доступ к конструктору отчетов



Для доступа к отчету необходимо в отчете выбрать галочку «Доступен через REST API» во вкладке “Доступ” в редактировании отчёта.

Получение данных отчета работает в 2 этапа:
1. Отправляется запрос на выполнение отчета. В результате запроса приходит id ожидаемого результата report_file_id

Пример:

curl -X GET 'http://example/rest/api/report/StartReport?report_id=8& filter={"2":"2018-01-01","3":"2018-04-13","4":"123"}' -H "Accept: application/json" -H "X-REST-API-KEY: *******"

где параметр report_id – ид отчета который нужно выполнить,
параметр filter — фильтр по отчету.

Если используется фильтр в отчете, то необходимо формировать его с учетом порядкового номера, например для этого фильтра:

параметр будет такой:

filter={"2":"2018-01-01","3":"2018-04-13","4":"123"}

Внимание! Пока не выполнится предыдущий отчет, следующий нельзя запустить, на запрос будет возвращена ошибка.

Ошибка имеет такой вид:

{
«success»: false,
«message»: «Error: Report creating in progress. Please wait for finish.»,
«data»: {
«errorCode»: 403
}

Она возникает, если в течение 30 минут через API поступает второй запрос на создание отчета и при этом первый запрос еще не выполнился. В этом случае следует повторить попытку создания отчета через 30 минут.

 

2. Следующим этапом нужно получить результат — ссылку на csv файл, с результатом отчета. Отчет формируется не сразу, поэтому можно с интервалом в пол секунды проверять на наличие ссылки.

Пример:

curl -X GET 'http://example/rest/api/report/reportFile?file_id=2816' -H "Accept: application/json" -H "X-REST-API-KEY: *******"

где  file_id – ид файла который выполнен в первом этапе