Интеграция: Telegram

Назначение

Позволяет подключить Telegram Bot к конкретному flow.

Управление ботами

Требуют авторизации и доступа к tenant.

  • POST /telegram/bot - создать бота и настроить webhook в Telegram.
  • PUT /telegram/bot/{bot_id} - обновить настройки бота.
  • GET /telegram/bots?tenant_id=... - список ботов.
  • DELETE /telegram/bot/{bot_id}?tenant_id=... - удалить бота.

Обязательные поля при создании/обновлении:

  • bot_token
  • flow_id
  • tenant_id

Входящий webhook от Telegram

Публичный endpoint:

  • POST /webhook/telegram/{bot_token}

Этот endpoint вызывается Telegram API после установки webhook.

Как это работает

  1. Создается привязка bot_token -> flow_id.
  2. Backend регистрирует webhook URL в Telegram API.
  3. Сообщения пользователя попадают в flow как content/context.
  4. Ответ flow отправляется обратно пользователю Telegram.

Особенности

  • Поддержка текстовых, голосовых и медиа-сообщений.
  • История сообщений хранится для контекста диалога.
  • Для долгих операций отправляется typing action.
  • Предусмотрены fallback-ветки при ошибках форматирования/отправки.