Вебхуки

Вебхуки отправляют HTTP-уведомления на ваш сервер при изменениях в базе знаний. Используйте их для интеграции с Slack, CI/CD, внешними системами и автоматизации.

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

Перейдите в KB Settings → Webhooks+ Add webhook.

Вебхуки

Укажите:

  • URL — endpoint вашего сервера
  • Events — выберите одно или несколько событий
  • Secret — для верификации подписи (опционально, но рекомендуется)

Список событий

СобытиеКогда срабатывает
page.createdСоздана новая страница
page.updatedИзменён контент статьи
page.publishedСтатья опубликована
page.deletedСтраница удалена
page.archivedСтраница архивирована
comment.createdДобавлен новый комментарий
comment.resolvedКомментарий помечен как решённый

Формат payload

{
  "event": "page.updated",
  "timestamp": "2025-03-24T10:30:00Z",
  "data": {
    "page_id": "page_abc123",
    "title": "System Architecture",
    "url": "https://app.flowera.io/kb/page_abc123",
    "updated_by": {
      "id": "user_xyz",
      "name": "Alex Petrov",
      "email": "alex@company.com"
    },
    "section": "Architecture"
  },
  "workspace_id": "ws_123"
}

Верификация подписи

Если указан Secret, каждый запрос содержит заголовок X-FlowEra-Signature:

X-FlowEra-Signature: sha256=a1b2c3d4...

Проверка в Go:

mac := hmac.New(sha256.New, []byte(secret))
mac.Write(body)
expected := hex.EncodeToString(mac.Sum(nil))
if signature != "sha256="+expected {
    // Отклонить запрос
}

Повторные попытки

При недоступности вашего endpoint FlowEra повторяет запрос:

  • 3 попытки с интервалом 1 мин, 5 мин, 30 мин
  • После 3 неудачных попыток вебхук помечается как «Failed»
  • Уведомление приходит администратору workspace

Отладка

В карточке вебхука — вкладка Logs с историей последних 100 запросов. Каждая запись показывает:

  • Временную метку
  • Событие
  • HTTP-статус ответа
  • Время ответа (мс)
  • Тело запроса (для повторной отправки)

Кнопка Send test отправляет тестовый payload для проверки настройки.