Подключение внешних каналов к чату
Интеграции каналов собирают общение с клиентами из разных мест в один рабочий контур. Клиент пишет туда, где ему удобно — в Telegram, WhatsApp или через форму на сайте, — а сообщение приходит в чат LadVen OS, где команда отвечает, назначает ответственного и связывает обращение с задачей или сделкой.
Это основа омниканальной работы: переписка не теряется в личных телефонах сотрудников, а история остаётся в портале и доступна команде.
Сотрудник также может связать свой Telegram из настроек экстранета: портал покажет одноразовый код, который нужно отправить подключённому Telegram-боту. Код не вводится обратно в портал; после ответа бота обновите привязки. Если интеграция Telegram не включена, попросите менеджера подключить её. Отзыв доступа выполняется в тех же настройках, после чего привязку нужно перечитать заново.
В настройках Telegram состояние активна не гарантирует доставку: старая привязка может требовать миграции. В этом случае менеджер запускает миграцию или просит клиента переподключиться. Клиент отправляет боту полную команду /bind <code>, затем обновляет привязки; код одноразовый, ограничен сроком и не вводится обратно в портал. После перезагрузки или смены вкладки выпустите новый код. Истёкший код, неверный бот/пропущенная команда и привязка Telegram к другой учётной записи требуют разных действий; конфликт освобождает администратор.
Сценарии внешних каналов
Telegram, WhatsApp и формы сайта могут быть источниками сообщений в чате, если для них включён соответствующий адаптер. Они не являются вариантами типа в общей форме /chat/integrations: там используются только external, bot и webhook.
Сейчас к чату можно подключить:
- Telegram — сообщения из Telegram-бота или канала;
- WhatsApp — сообщения из WhatsApp;
- Форма на сайте — обращения, отправленные через форму на вашем сайте.
Каждый канал подключается как отдельная интеграция. У одной компании может быть несколько интеграций одновременно — например, Telegram для одного продукта и WhatsApp для другого.
Набор доступных каналов зависит от настроек вашего портала и подключённых адаптеров. Если нужного канала нет в списке, уточните у администратора портала, доступен ли он в вашей конфигурации.
На /chat/integrations настраиваются общие внешние, bot и webhook-подключения чата. Форма содержит типизированные поля исходящего endpointUrl и входящего inboundToken, а дополнительные параметры можно передать как JSON-объект. Портал отклоняет невалидный JSON и JSON, который не является объектом. Операционное состояние доставки открывается отдельно на /chat/integrations/ops; настройка провайдеров Telegram и WhatsApp находится в CRM Integration Hub и не подразумевается этой формой.
Как подключить канал (для оператора с правом управления)
Просматривать список интеграций могут пользователи с правом chat.canReadSettings;
создавать, изменять, включать, отключать и удалять их могут только пользователи с
chat.canManageSettings. Поэтому экран может быть доступен оператору в режиме
только чтения, даже если он не администратор.
- Откройте раздел интеграций чата в настройках.
- Создайте новую интеграцию и задайте понятное название — например, «Telegram: продажи» или «WhatsApp: поддержка». По названию команда будет понимать, откуда приходят сообщения.
- Выберите тип подключения.
- Заполните типизированные поля исходящего адреса и входящего токена, а при необходимости — дополнительные параметры JSON-объектом. Невалидный JSON или JSON другого типа не сохранится. Точные значения берите из настроек провайдера; портал не публикует секреты и не угадывает их.
- Включите интеграцию и сохраните.
После сохранения интеграция появляется в списке со своим статусом. Отключить или удалить её можно там же, а параметры — обновить, когда меняются доступы канала.
Готовьте параметры канала заранее и проверяйте их до включения: ошибка в токене или адресе означает, что сообщения не будут приходить или отправляться.
Как это выглядит для команды
Когда канал подключён, сообщения клиентов из него приходят в чат как обычные диалоги. Дальше команда работает с ними так же, как с внутренними чатами:
- отвечает клиенту прямо из портала;
- прикрепляет файлы, отвечает на конкретное сообщение, использует упоминания;
- связывает диалог с задачей или сделкой, чтобы обращение попало в рабочий процесс;
- закрепляет важные сообщения и ищет по переписке.
Клиенту ответы приходят обратно в его канал — он продолжает общаться привычным способом, не зная о внутренней кухне портала.
Операционный контроль доставки
Для внешних каналов важно, чтобы сообщения не только приходили, но и уходили обратно клиенту. Консоль /chat/integrations/ops доступна для чтения пользователям с chat.canReadSettings; повторная отправка требует chat.canManageSettings.
- сколько сообщений в очереди, отправлено, с ошибкой или просрочено;
- фильтр зависших доставок по конкретной интеграции, числовому лимиту и
overdueOnly; - строки dead-letter с текущим статусом, числом попыток,
maxAttemptsи последней ошибкой; - повторная отправка только для пользователей с правом управления: повтор обновляет ту же доставку, её статус и счётчик попыток, а не создаёт скрытую копию.
Регулярно проверяйте консоль по активным каналам: если растёт число ошибок или зависших сообщений, проблема обычно в доступах канала или его лимитах, а не в самом портале.
На узком экране те же данные перестраиваются в карточки: для зависшей доставки отдельно видны интеграция, очереди pending/failed/overdue и возраст самой старой записи; в DLQ-карточке — статус, attempts/maxAttempts, последняя ошибка и Повторить. Кнопка повторной отправки отключена без chat.canManageSettings; во время съёмки её не нажимают, поэтому кадр остаётся read-only и не меняет очередь. Для локализованного скриншота нужны целевые подписи, синтетические идентификаторы без PII/секретов и проверка RTL для ar.
Хорошие практики
- Называйте интеграции по каналу и назначению, чтобы команда сразу понимала источник сообщений.
- Готовьте и проверяйте параметры канала до включения интеграции.
- Назначайте ответственного за каждый внешний канал, иначе обращения будут «видны всем» и не закрыты никем.
- Связывайте клиентские диалоги с задачами или сделками, чтобы обращение не осталось только перепиской.
- Периодически проверяйте консоль доставки по активным каналам.
- При смене токенов или доступов канала сразу обновляйте параметры интеграции.
Частые ошибки
- Ошибка в параметрах подключения — сообщения не приходят или не отправляются, а причина не видна в самой переписке.
- Нет ответственного за канал — клиентские обращения теряются в общем потоке.
- Диалог из внешнего канала не связан с задачей или сделкой — договорённость остаётся только в чате.
- Никто не смотрит консоль доставки — ошибки отправки копятся незаметно, клиент не получает ответ.