reports Отчёты: список, статус и файлы
Группа работает с отчётами, которые заказаны в разделе «Отчёты» проекта: отдаёт их список и статус, ссылки на готовые файлы Word и PDF и ставит файл Word на формирование. Сами отчёты через API не заказываются. Список и статус — синхронно, файл Word — асинхронно: повторяйте report/file/get, пока не появится ссылка.
- Адрес
/projects/api/v1/reports/get,/projects/api/v1/report/<метод>- Режим
- синхронный; файл Word — асинхронный, опросом
- Лимиты
- не тратит
Список отчётов
/projects/api/v1/reports/get
Отчёты проекта от новых к старым.
Параметры query
-
tokenstring обязательныйКлюч API из настроек аккаунта — тот же, чтоkeyу методов инструментов. -
project_idint обязательныйID проекта. Виден в адресе страницы проекта и в ответе projects/get. -
limitintСколько последних отчётов отдать.0или без параметра — все.
Ответ
-
result[].idstringID отчёта — его передают вreport_id. -
result[].statusstringdone— отчёт сформирован,in progress— ещё нет. -
result[].datedateКогда отчёт заказан. -
result[].domainstringДомен проекта. -
result[].from, result[].todateПериод отчёта. -
result[].compare_from, result[].compare_todateПериод для сравнения — только у отчётов со сравнением.
Отчёт и ссылки на файлы
/projects/api/v1/report/get
Статус одного отчёта и ссылки на его файлы, если они уже сформированы. Файл PDF формируется из интерфейса; файл Word можно заказать через report/file/get.
Параметры query
-
tokenstring обязательныйКлюч API из настроек аккаунта — тот же, чтоkeyу методов инструментов. -
project_idint обязательныйID проекта. Виден в адресе страницы проекта и в ответе projects/get. -
report_idstring обязательныйID отчёта — полеidиз reports/get.
Ответ
-
result.statusstringdone— отчёт сформирован,in progress— ещё нет. -
result.datedateКогда отчёт заказан. -
result.domainstringДомен проекта. -
result.from, result.todateПериод отчёта. -
result.compare_from, result.compare_todateПериод для сравнения — только у отчётов со сравнением. -
result.files.docx, result.files.pdfobjectstatus—true, если файл есть;link— ссылка на скачивание или пустая строка.
Файл отчёта в Word
/projects/api/v1/report/file/get
Если файл Word уже есть — отдаёт ссылку. Если нет — ставит его на формирование и отвечает in progress; повторный вызов, пока файл готовится, второй задачи не создаёт. Опрашивайте метод раз в несколько секунд, пока status не станет done. Метод отдаёт ссылку, а не сам файл.
Параметры query
-
tokenstring обязательныйКлюч API из настроек аккаунта — тот же, чтоkeyу методов инструментов. -
project_idint обязательныйID проекта. Виден в адресе страницы проекта и в ответе projects/get. -
report_idstring обязательныйID отчёта — полеidиз reports/get.
Ответ
-
result.files.docx.statusstringdoneилиin progress. Обратите внимание: здесь строка, а вreport/get—true/false. -
result.files.docx.linkstringСсылка на скачивание; пустая, пока файл не готов.
Ошибки
| Код | Сообщение | Когда |
|---|---|---|
50 |
access error |
Токен не передан, не найден, или у его владельца нет доступа к проекту. |
51 |
wrong project id |
Проекта с таким project_id нет. |
52 |
wrong request data |
report/get, report/file/get: не передан report_id или у проекта нет такого отчёта. Причина — в result.error. |
Ссылки на файлы ведут на общую ссылку отчёта (/projects/shared/…) и открываются без авторизации — не публикуйте их там, где их могут увидеть посторонние.
Статус in progress в списке означает любое состояние, кроме «готов», — в том числе отчёт, сформировать который не удалось. Если статус не меняется долго, проверьте отчёт в интерфейсе.
Методы принимают GET и POST, но параметры читаются из query-строки. HTTP-код всегда 200: успех и ошибка различаются полями status и code.