Отчети по API
Матеріал з Planfix
У Planfix є два способи отримання даних звітів через API:
- Сформувати отчет по расписанию і отримати його дані через REST API.
- Запросити генерацію звіту через REST API і отримати його дані, коли він буде сформований.
Специфікація REST API доступна за ссылке.
Отримання даних із звіту за розкладом через REST API
- Створіть повторюваний звіт.
- Створіть токен авторизації для співробітника, якому плануєте надсилати звіт. Збережені дані звіту доступні тільки співробітникам, яких оберете для надсилання. Для створення токена перейдіть в Управление аккаунтом — Доступ к API — REST API — Создать новый токен:
- в полі "Сотрудник / Контакт" вкажіть співробітника для отримання звіту за розкладом.
- в полі "Разрешенных Scope" вкажіть report_readonly.
- Отримайте через REST API список звітів методом /report/list і знайдіть ідентифікатор потрібного звіту в відповіді (ідентифікатор звіту можна знайти в адресному рядку браузера).
- Методом /report/{id}/save/list отримайте список збережених версій обраного звіту.
- Отримайте дані звіту за ідентифікатором нової версії методом /report/{id}/save/{saveId}/data.
Особливості отримання даних
- Збережені дані звіту доступні тільки співробітникам, яких оберете для надсилання.
- Якщо звіт великий, то в версії буде кілька частин (чанків/chunks). При отриманні даних звіту необхідно передавати індекс чанка, щоб отримати всі частини. Скільки чанків містить звіт видно у відповіді методу /report/{id}/save/list.
Генерація звітів через REST API
- Створіть токен авторизації для співробітника, від імені якого буде формуватися звіт. Для створення токена перейдіть в Управление аккаунтом — Доступ к API — REST API — Создать новый токен:
- в полі "Сотрудник / Контакт" вкажіть співробітника для отримання звіту за розкладом.
- в полі "Разрешенных Scope" вкажіть report_readonly.
- Запустіть генерацію звіту методом /report/{id}/generate — у відповіді повертається requestId.
- Через деякий час перевірте, чи готовий звіт методом /report/status/{requestId}
Якщо звіт готовий — повертається об'єкт ReportSave (аналогічно зі звітами за розкладом).
- Отримайте дані звіту за ідентифікатором збереженої версії методом /report/{id}/save/{saveId}/data.
Особливості генерації
- Доступно тільки на тарифі Корпорация.
- Не частіше ніж раз на 10 хвилин.
- Не більше одного паралельно формованого звіту.
- Звіт формується від імені та з доступами того, чиїй токен авторизації вказано в REST API.