Для доступа к отчету необходимо в отчете выбрать галочку Доступен через REST API во вкладке Доступ в редактировании отчёта.
Получение данных отчета работает в 2 этапа:
1. Отправляется запрос на выполнение отчета. В результате запроса приходит id ожидаемого результата report_file_id
Пример:
curl --location -g --request GET 'https://{DOMAIN NAME}/rest/api/Report/StartReport?report_id=8&filter={"2":"2018-01-01","3":"2018-04-13","4":"123"}' \ --header 'Content-Type: application/json' \ --header 'X-REST-API-KEY: {REST API KEY}'
Параметры
report_id – ид отчета который нужно выполнить,
filter - фильтр по отчету.
Ответ сервера
{ "success": true, "message": "Records Retrieved Successfully", "data": { "totalCount": 1, "report": { "report_file_id": 4 } } }
Если используется фильтр в отчете, то необходимо формировать его с учетом порядкового номера, например для этого фильтра:
параметр будет такой:
filter={"2":"2018-01-01","3":"2018-04-13","4":"123"}
Внимание! Пока не выполнится предыдущий отчет, следующий нельзя запустить, на запрос будет возвращена ошибка.
Ошибка имеет такой вид:
{ "success": false, "error": true, "message": "Error: Report creating in progress. Please wait for finish." }
После запуска отчета следующий можно запустить через 10 минут.
2. Следующим этапом нужно получить результат — ссылку на csv файл, с результатом отчета. Отчет формируется не сразу, поэтому можно с интервалом в пол секунды проверять на наличие ссылки.
Пример:
curl --location --request GET 'https://{DOMAIN NAME}/rest/api/report/ReportFile/?file_id=4' \ --header 'Content-Type: application/json' \ --header 'X-REST-API-KEY: {REST API KEY}'
Параметры
file_id – ид файла который выполнен в первом этапе
Ответ сервера
{ "success": true, "message": "Records Retrieved Successfully", "data": { "totalCount": 4, "report": { "html_file": "https://vetmanager-public-user-files.s3.amazonaws.com/one/var/downloads/excel_export/report_html_2.html", "csv_file": "https://vetmanager-public-user-files.s3.amazonaws.com/one/var/downloads/excel_export/ab2a3aeac261c74256cffd74a213852e.csv", "csv_semicolon_file": "https://vetmanager-public-user-files.s3.amazonaws.com/one/var/downloads/excel_export/f9fa21a4e5c858d5bfa5d0f39722b6ef.csv", "xlsx_file": "https://vetmanager-public-user-files.s3.amazonaws.com/one/var/downloads/excel_export/3ab0f02bedf4fd9a0cfd9cf93e1eb5c9.xlsx" } } }