Вебхуки¶
Администраторы могут настраивать вебхуки для отправки оповещений на определённый URL. Вы можете настроить оповещение для отправки результатов запроса на конечную точку по вашему выбору: в ваше приложение, сторонний сервис или куда угодно.
На данный момент вебхуки доступны только для оповещений; вы не можете выбрать вебхук в качестве получателя подписки на дашборд.
Создание вебхука¶
Прежде чем вы сможете отправлять оповещения через вебхук, администратор должен создать целевой вебхук.
Администраторы могут создать вебхук, нажав значок шестерёнки > Управление > Каналы уведомлений. В разделе Вебхуки для оповещений нажмите + Добавить ещё один. Glarus BI выведет небольшую форму:
- URL вебхука. Куда Glarus BI должен отправлять результаты оповещения. Должен быть действительным URL.
- Название. Назовите вебхук, чтобы люди могли выбрать правильный хук при настройке оповещения для запроса.
- Описание. Для чего предназначен.
- Метод аутентификации. См. ниже.
Метод аутентификации вебхука¶
Вы можете указать метод аутентификации для вебхука:
- Нет: без ограничений.
- Базовый: имя пользователя и пароль.
- Bearer: добавить секретный токен (англ.).
Ключ API: можно добавить ключ API в заголовок или как параметр запроса. В обоих вариантах нужно указать ключ и значение (сам ключ API).
Payload вебхука¶
Glarus BI отправляет результаты оповещения в формате JSON. JSON включает метаданные о запросе, например автора оповещения и его ID (null в случае тестовых оповещений).
Glarus BI отправит «прикреплённую» визуализацию как PNG-файл в кодировке base64 в ключе data, внутри ключа visualization.

Данные в табличном виде Glarus BI отправит в raw_data.

Пример payload для оповещения (без PNG‑кодировки):
{
"type": "alert",
"alert_id": null,
"alert_creator_id": 123,
"alert_creator_name": "Роберто Боланьо",
"data": {
"type": "question",
"question_id": 108,
"question_name": "Продажи",
"question_url": "https://example.com/question/108",
"visualization": "data:image/png;base64,=...ДЛИННЫЙ_ЗАКОДИРОВАННЫЙ_PNG_ЗДЕСЬ...",
"raw_data": {
"cols": [
"CREATED_AT",
"count"
],
"rows": [
[
"2023-09-01T00:00:00Z",
346
],
[
"2023-10-01T00:00:00Z",
354
],
[
"2023-11-01T00:00:00Z",
394
],
[
"2023-12-01T00:00:00Z",
418
],
[
"2024-01-01T00:00:00Z",
457
],
[
"2024-02-01T00:00:00Z",
404
],
[
"2024-03-01T00:00:00Z",
445
],
[
"2024-04-01T00:00:00Z",
439
],
[
"2024-05-01T00:00:00Z",
520
],
[
"2024-06-01T00:00:00Z",
455
],
[
"2024-07-01T00:00:00Z",
523
],
[
"2024-08-01T00:00:00Z",
501
]
]
}
},
"sent_at": "2024-09-30T20:16:15.76582Z"
}
События и внешние вызовы¶
Исходящие вебхук- и email-уведомления отправляются по оповещениям для вопросов: условие Есть результаты срабатывает, если запрос вернул строки; для графика временного ряда или визуализации «Прогресс» с настроенной целью можно выбрать условие сравнения с целевым значением. Payload фиксирован и не настраивается; его структура описана в разделе Payload вебхука. Способы аутентификации канала — в разделе Метод аутентификации вебхука.
Вебхук нельзя выбрать получателем подписки на дашборд или использовать для произвольных HTTP-событий. При сбое ETL-конвейера Glarus BI отправляет email группе «Администраторы» с именем конвейера, первым упавшим шагом и сообщением об ошибке; это событие не доставляется в вебхук. Подробнее — в разделе Уведомления о сбое конвейера.
Входящие внешние вызовы позволяют отдельно запускать ETL-задания и конвейеры, а также выгружать результаты вопроса. Они требуют ключ API в заголовке X-API-Key; права запроса определяются пользователем, к которому относится ключ:
POST /api/glarus/transforms/{id}/run— запустить ETL-задание;POST /api/glarus/pipelines/{id}/run— запустить ETL-конвейер с параметрами;POST /api/persist/card/{card-id}/refresh— обновить кешированную модель, для которой включено сохранение;POST /api/card/{card-id}/query/{csv|xlsx|json}— выгрузить результаты сохранённого вопроса в CSV, XLSX или JSON.
Например, экспорт в CSV можно вызвать так:
curl -X POST -H "X-API-Key: $API_KEY" \
"https://bi.example.com/api/card/$CARD_ID/query/csv"Ключи API создаются и управляются администратором. О запуске ETL также см. Способы запуска: расписание, событие, API и Ключи API.