Вебхуки¶
Администраторы могут настраивать вебхуки для отправки оповещений на определённый URL. Вы можете настроить оповещение для отправки результатов запроса на конечную точку по вашему выбору: в ваше приложение, сторонний сервис или куда угодно.
На данный момент вебхуки доступны только для оповещений; вы не можете выбрать вебхук в качестве получателя подписки на дашборд.
Создание вебхука¶
Прежде чем вы сможете отправить оповещение через вебхук, администратору нужно будет создать целевой вебхук.
Администраторы могут создать вебхук, нажав на значок шестерёнки > Управление > Каналы уведомлений. В разделе Вебхуки для оповещений нажмите + Добавить ещё один. Glarus BI предоставит вам короткую форму для заполнения:
- URL вебхука. Куда вы хотите, чтобы Glarus BI отправлял результаты оповещения. Должен быть действительным URL.
- Дайте ему имя. Вы должны назвать вебхук, чтобы люди могли выбрать правильный хук при настройке оповещения для запроса.
- Описание. Вам следует сообщить людям, для чего предназначен хук.
- Метод аутентификации. См. ниже.
Метод аутентификации вебхука¶
Вы можете указать метод аутентификации для вебхука.
- Нет: Без ограничений.
- Базовая: Установите имя пользователя и пароль.
- Bearer: Включите секретный токен.
- API-ключ: Вы можете добавить API-ключ в заголовок или в качестве параметра запроса. Оба подхода требуют ключа и значения (самого API-ключа).
Полезная нагрузка вебхука¶
Glarus BI будет отправлять результаты оповещения в формате JSON. JSON будет включать некоторые метаданные о запросе, такие как создатель оповещения и его ID (null
в случае тестовых оповещений).
Glarus BI отправит "прикреплённую" визуализацию как PNG-файл в кодировке base64 в ключе data
, под visualization
и данные, как они видны в табличном представлении, которые Glarus BI отправит как raw_data
.
Вот пример полезной нагрузки для оповещения (мы сократили кодировку PNG, потому что она длинная и крайне скучная):
{
"type": "alert",
"alert_id": null,
"alert_creator_id": 2666,
"alert_creator_name": "Роберто Боланьо",
"data": {
"type": "question",
"question_id": 108,
"question_name": "Продажи",
"question_url": "http://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
],