Перейти к содержанию

Вебхуки

Администраторы могут настраивать вебхуки для отправки оповещений на определённый URL. Вы можете настроить оповещение для отправки результатов запроса на конечную точку по вашему выбору: в ваше приложение, сторонний сервис или куда угодно.

На данный момент вебхуки доступны только для оповещений; вы не можете выбрать вебхук в качестве получателя подписки на дашборд.

Создание вебхука

Прежде чем вы сможете отправлять оповещения через вебхук, администратор должен создать целевой вебхук.

Администраторы могут создать вебхук, нажав значок шестерёнки > Управление > Каналы уведомлений. В разделе Вебхуки для оповещений нажмите + Добавить ещё один. Glarus BI выведет небольшую форму:

  • URL вебхука. Куда Glarus BI должен отправлять результаты оповещения. Должен быть действительным URL.
  • Название. Назовите вебхук, чтобы люди могли выбрать правильный хук при настройке оповещения для запроса.
  • Описание. Для чего предназначен.
  • Метод аутентификации. См. ниже.

Метод аутентификации вебхука

Вы можете указать метод аутентификации для вебхука:

  • Нет: без ограничений.
  • Базовый: имя пользователя и пароль.
  • Bearer: добавить секретный токен (англ.).
  • Ключ API: можно добавить ключ API в заголовок или как параметр запроса. В обоих вариантах нужно указать ключ и значение (сам ключ API).

Payload вебхука

Glarus BI отправляет результаты оповещения в формате JSON. JSON включает метаданные о запросе, например автора оповещения и его ID (null в случае тестовых оповещений).

Glarus BI отправит «прикреплённую» визуализацию как PNG-файл в кодировке base64 в ключе data, внутри ключа visualization.

Закодированная диаграмма PNG

Данные в табличном виде 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"
}

Дополнительная информация