Каналы связи

ℹ️ О разделе

IDENTYX является централизованным хабом для отправки и приёма сообщений всех приложений экосистемы. Каналы связи позволяют настроить Email и Telegram для доставки уведомлений пользователям, а также для приёма входящих сообщений от пользователей.

Концепция

Все приложения, подключённые к IDENTYX через OIDC, отправляют уведомления не напрямую, а через IDENTYX. Это обеспечивает:

  • Единое место настройки — администратор настраивает SMTP-сервер и Telegram-бота один раз в IDENTYX, а все приложения используют эти каналы
  • Контроль пользователей — каждый пользователь может самостоятельно управлять предпочтениями доставки на странице Способы связи
  • Журнал всех отправок — все сообщения проходят через единый журнал
  • Приём входящих — IDENTYX может получать входящие письма (IMAP) и сообщения Telegram, передавая их в приложения
ℹ️ Разделение ответственности

Приложения решают когда и кому отправить уведомление. IDENTYX решает как его доставить — через какой канал, на какой адрес, с учётом предпочтений пользователя.

Типы каналов

📧 Email

Отправка писем через SMTP и приём входящих через IMAP.

  • Исходящие: SMTP с поддержкой TLS/SSL
  • Входящие: IMAP IDLE — мгновенный приём новых писем
  • Адрес получателя: берётся из профиля пользователя в IDENTYX
📱 Telegram

Отправка сообщений через Telegram Bot API и приём входящих через Long Polling.

  • Исходящие: сообщения через бота в чат пользователя
  • Входящие: Long Polling — получение сообщений от пользователей
  • Адрес получателя: chat_id из привязки на странице Способы связи

Управление каналами

Перейдите в раздел Каналы связи в меню администратора. На странице четыре вкладки:

  • Каналы — список всех настроенных каналов (Email и Telegram)
  • Приложения — привязка запросов приложений к конкретным каналам
  • Очередь отправки — сообщения, ожидающие отправки
  • Статусы отправки — история всех отправленных сообщений с результатами

Во вкладке Каналы каждый канал отображается карточкой с основной информацией: тип, название, статус (активен/неактивен), и кнопки действий.

Создание канала

Email канал

Настройка SMTP (исходящие письма)

  1. Нажмите Добавить канал и выберите тип Email
  2. Укажите название канала (например, «Корпоративная почта»)
  3. В секции Идентификация укажите:
    • Название канала — произвольное имя для удобства
    • Email отправителя — адрес, с которого будут отправляться письма
    • Имя отправителя — отображаемое имя в поле «От кого»
  4. В секции SMTP (отправка) укажите:
    • Хост — адрес SMTP-сервера (например, smtp.gmail.com)
    • Порт — порт (587 для TLS, 465 для SSL)
    • Шифрование — TLS (рекомендуется) или SSL
  5. В секции Учётные данные укажите Логин и Пароль (используются и для SMTP, и для IMAP)
  6. Сохраните канал

Настройка IMAP (входящие письма)

Если канал используется для приёма входящих писем (например, от заявителей в helpdesk), дополнительно заполните секцию IMAP (приём):

  1. Укажите параметры IMAP:
    • Хост — адрес IMAP-сервера (например, imap.gmail.com)
    • Порт — порт (993 для SSL, 143 для STARTTLS)
    • Шифрование — SSL (рекомендуется) или STARTTLS
  2. Логин и пароль — общие для SMTP и IMAP (из секции Учётные данные)

После сохранения система автоматически запустит IMAP IDLE процесс для этого канала и будет мгновенно получать новые письма.

Telegram канал

Создание бота

  1. Откройте Telegram и найдите @BotFather
  2. Отправьте команду /newbot
  3. Укажите имя и username бота
  4. Сохраните полученный токен бота

Настройка в IDENTYX

  1. Нажмите Добавить канал и выберите тип Telegram
  2. Укажите название канала
  3. В секции Параметры Telegram-бота вставьте токен бота
  4. Нажмите Сохранить
✅ Проверка бота

После сохранения система автоматически запросит информацию о боте. Если токен корректен, в карточке канала отобразятся имя, username и ID бота.

ℹ️ Long Polling

IDENTYX использует Long Polling для получения входящих сообщений от Telegram. Публичный IP-адрес и webhook не требуются. Бот начинает работать автоматически сразу после сохранения.

Проверка подключения

В карточке канала доступны кнопки проверки для каждой секции:

  • Email — кнопка Проверить в секции SMTP проверяет отправку; кнопка Проверить в секции IMAP проверяет приём. Система устанавливает соединение с сервером, проходит аутентификацию и сообщает результат
  • Telegram — кнопка Проверить токен вызывает Telegram API и возвращает информацию о боте
⚠️ Учётные данные

Пароли и токены хранятся в зашифрованном виде в базе данных. При просмотре канала они не отображаются. Для изменения — введите новое значение и сохраните.

Привязка к приложениям

Каждое приложение, подключённое через OIDC, может запрашивать каналы связи определённого типа. Администратор привязывает эти запросы к реальным каналам.

Как работает привязка

  1. Приложение регистрирует запросы каналов (например: «Email для уведомлений», «Telegram для уведомлений», «Email для заявителей»)
  2. Запросы появляются на вкладке Приложения
  3. Администратор выбирает для каждого запроса конкретный канал из списка доступных
  4. После привязки приложение сможет отправлять сообщения через выбранный канал

Если запрос не привязан к каналу, сообщения от приложения по этому запросу не будут доставляться.

ℹ️ Системный канал IDENTYX

Для собственных нужд (восстановление пароля, Email 2FA, уведомления о регистрации) IDENTYX использует системный email-канал. Его можно настроить в разделе Email настройки или привязать на вкладке Приложения.

Очередь и журнал

Очередь отправки

Все сообщения перед отправкой попадают в очередь. Сервис проверяет очередь каждые 5 секунд и отправляет до 50 сообщений за итерацию.

При ошибке отправки система автоматически повторяет попытку с нарастающим интервалом (экспоненциальный backoff). После 30 неудачных попыток сообщение помечается как недоставленное.

Журнал отправок

На вкладке Статусы отправки отображается история всех отправленных сообщений с фильтрацией по:

  • Каналу
  • Статусу (отправлено, ошибка, в очереди, отменено)
  • Дате

Входящие сообщения

IDENTYX может принимать входящие сообщения и передавать их в приложения:

Email (IMAP IDLE)

Для каналов с включённым приёмом входящих система устанавливает постоянное IMAP IDLE соединение. Новые письма обрабатываются мгновенно:

  • Вложения сохраняются в S3 хранилище
  • Дедупликация по Message-ID
  • Сообщение публикуется в очередь приложения через RabbitMQ

Telegram (Long Polling)

Сообщения от пользователей в Telegram-бота обрабатываются через Long Polling:

  • Команда /start TOKEN — привязка аккаунта пользователя
  • Обычные сообщения — передаются в приложения через RabbitMQ
ℹ️ Включение приёма

Приём входящих включается для каждого запроса канала отдельно на вкладке Приложения. Это позволяет использовать один канал для отправки и приёма или разделить их.