Каналы связи
IDENTYX является централизованным хабом для отправки и приёма сообщений всех приложений экосистемы. Каналы связи позволяют настроить Email и Telegram для доставки уведомлений пользователям, а также для приёма входящих сообщений от пользователей.
Концепция
Все приложения, подключённые к IDENTYX через OIDC, отправляют уведомления не напрямую, а через IDENTYX. Это обеспечивает:
- Единое место настройки — администратор настраивает SMTP-сервер и Telegram-бота один раз в IDENTYX, а все приложения используют эти каналы
- Контроль пользователей — каждый пользователь может самостоятельно управлять предпочтениями доставки на странице Способы связи
- Журнал всех отправок — все сообщения проходят через единый журнал
- Приём входящих — IDENTYX может получать входящие письма (IMAP) и сообщения Telegram, передавая их в приложения
Приложения решают когда и кому отправить уведомление. IDENTYX решает как его доставить — через какой канал, на какой адрес, с учётом предпочтений пользователя.
Типы каналов
Отправка писем через SMTP и приём входящих через IMAP.
- Исходящие: SMTP с поддержкой TLS/SSL
- Входящие: IMAP IDLE — мгновенный приём новых писем
- Адрес получателя: берётся из профиля пользователя в IDENTYX
Отправка сообщений через Telegram Bot API и приём входящих через Long Polling.
- Исходящие: сообщения через бота в чат пользователя
- Входящие: Long Polling — получение сообщений от пользователей
- Адрес получателя: chat_id из привязки на странице Способы связи
Управление каналами
Перейдите в раздел Каналы связи в меню администратора. На странице четыре вкладки:
- Каналы — список всех настроенных каналов (Email и Telegram)
- Приложения — привязка запросов приложений к конкретным каналам
- Очередь отправки — сообщения, ожидающие отправки
- Статусы отправки — история всех отправленных сообщений с результатами
Во вкладке Каналы каждый канал отображается карточкой с основной информацией: тип, название, статус (активен/неактивен), и кнопки действий.
Создание канала
Email канал
Настройка SMTP (исходящие письма)
- Нажмите Добавить канал и выберите тип Email
- Укажите название канала (например, «Корпоративная почта»)
- В секции Идентификация укажите:
- Название канала — произвольное имя для удобства
- Email отправителя — адрес, с которого будут отправляться письма
- Имя отправителя — отображаемое имя в поле «От кого»
- В секции SMTP (отправка) укажите:
- Хост — адрес SMTP-сервера (например,
smtp.gmail.com) - Порт — порт (587 для TLS, 465 для SSL)
- Шифрование — TLS (рекомендуется) или SSL
- Хост — адрес SMTP-сервера (например,
- В секции Учётные данные укажите Логин и Пароль (используются и для SMTP, и для IMAP)
- Сохраните канал
Настройка IMAP (входящие письма)
Если канал используется для приёма входящих писем (например, от заявителей в helpdesk), дополнительно заполните секцию IMAP (приём):
- Укажите параметры IMAP:
- Хост — адрес IMAP-сервера (например,
imap.gmail.com) - Порт — порт (993 для SSL, 143 для STARTTLS)
- Шифрование — SSL (рекомендуется) или STARTTLS
- Хост — адрес IMAP-сервера (например,
- Логин и пароль — общие для SMTP и IMAP (из секции Учётные данные)
После сохранения система автоматически запустит IMAP IDLE процесс для этого канала и будет мгновенно получать новые письма.
Telegram канал
Создание бота
- Откройте Telegram и найдите @BotFather
- Отправьте команду
/newbot - Укажите имя и username бота
- Сохраните полученный токен бота
Настройка в IDENTYX
- Нажмите Добавить канал и выберите тип Telegram
- Укажите название канала
- В секции Параметры Telegram-бота вставьте токен бота
- Нажмите Сохранить
После сохранения система автоматически запросит информацию о боте. Если токен корректен, в карточке канала отобразятся имя, username и ID бота.
IDENTYX использует Long Polling для получения входящих сообщений от Telegram. Публичный IP-адрес и webhook не требуются. Бот начинает работать автоматически сразу после сохранения.
Проверка подключения
В карточке канала доступны кнопки проверки для каждой секции:
- Email — кнопка Проверить в секции SMTP проверяет отправку; кнопка Проверить в секции IMAP проверяет приём. Система устанавливает соединение с сервером, проходит аутентификацию и сообщает результат
- Telegram — кнопка Проверить токен вызывает Telegram API и возвращает информацию о боте
Пароли и токены хранятся в зашифрованном виде в базе данных. При просмотре канала они не отображаются. Для изменения — введите новое значение и сохраните.
Привязка к приложениям
Каждое приложение, подключённое через OIDC, может запрашивать каналы связи определённого типа. Администратор привязывает эти запросы к реальным каналам.
Как работает привязка
- Приложение регистрирует запросы каналов (например: «Email для уведомлений», «Telegram для уведомлений», «Email для заявителей»)
- Запросы появляются на вкладке Приложения
- Администратор выбирает для каждого запроса конкретный канал из списка доступных
- После привязки приложение сможет отправлять сообщения через выбранный канал
Если запрос не привязан к каналу, сообщения от приложения по этому запросу не будут доставляться.
Для собственных нужд (восстановление пароля, 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
Приём входящих включается для каждого запроса канала отдельно на вкладке Приложения. Это позволяет использовать один канал для отправки и приёма или разделить их.