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



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

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

Получение данных отчета работает в 2 этапа:

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

Пример:

curl --location -g --request GET 'http://{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 'http://{DOMAIN NAME}/rest/api/report/ReportFile/?file_id=4' \
--header 'Content-Type: application/json' \
--header 'X-REST-API-KEY: {DOMAIN NAME}'

параметры

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"
        }
    }
}