Umnico
Раздел Интеграции подключает каналы вашего аккаунта Umnico к выбранному проекту Napulse. У каждого проекта своё подключение и свои ключи. Подключение появляется после обновления Napulse и настройки сервера администратором.
Подключение
- Сначала добавьте нужные мессенджеры в самом Umnico. Napulse выбирает уже подключённые каналы; QR-коды и авторизация соцсетей остаются на стороне Umnico.
- В Napulse выберите проект и откройте Интеграции → Umnico → Подключить.
- Введите API-токен своего аккаунта Umnico и проверьте подключение.
- Выберите каналы, сообщения которых должны приходить в этот проект, и подтвердите подключение.
- Проверьте статус. При статусе, требующем внимания, устраните причину на стороне Umnico или сервера и нажмите Обновить.
Один канал Umnico можно закрепить только за одним проектом Napulse. Для переноса сначала отключите его в прежнем проекте. При редактировании используйте токен того же аккаунта; смена аккаунта требует отключения старого подключения.
Что поддерживается в первой версии
| Возможность | Поведение |
|---|---|
| Новые входящие сообщения | Создают контакт и диалог в выбранном проекте |
| Ответ менеджера | Текст отправляется через сохранённый канал Umnico и отображается в CRM |
| Ответ из интерфейса Umnico | Появляется в том же диалоге как исходящий |
| Повторное уведомление | Не создаёт ещё одно сообщение |
| Входящие вложения | Отображаются поддерживаемые изображения, видео, аудио и документы; для неизвестного типа показывается обозначение вложения |
| Нажатие кнопки | Отображается как действие с подписью кнопки, без пустого сообщения |
| Робот | Отправляет текст и поддерживаемые каналом вложения в существующем диалоге через выбранный аккаунт Umnico, если робот подключён и активирован |
| Смена токена | Доступна через настройку подключения, без раскрытия сохранённого ключа |
| Отключение | Останавливает приём и отправку через это подключение; сохранённая переписка остаётся |
Вложения доступны в роботах; ручной ответ менеджера пока поддерживает текст. Аудиозапись отправляется как загруженный файл; оформление нативным голосовым сообщением не гарантируется общим API. Импорт старой истории и инициирование переписки с новым получателем пока не поддерживаются. Подключение не меняет работу отдельно подключённых Telegram и VK.
Для ответа действуют ограничения самого канала и Umnico, включая срок ответа и необходимость шаблонов. Если окно ответа истекло, Napulse не отправляет обычный текст или вложение. Отправка WABA-шаблонов через этот раздел пока не реализована. После неопределённого результата отправки сначала проверьте историю Umnico: автоматического повторного отправления нет, чтобы не создавать дубли.
Роботы для каналов Umnico
После подключения доступные каналы появляются в выборе аккаунтов робота. Само подключение Umnico не активирует робота: выберите нужные аккаунты в настройках робота, проверьте схему и включите его. Если нужного аккаунта нет в списке, проверьте статус интеграции и нажмите Обновить.
У одного робота может быть несколько совместимых аккаунтов одного проекта: они должны принадлежать одной сети и иметь одинаковый тип. Например, несколько Telegram-ботов можно объединить; Telegram-бот, личный Telegram-аккаунт, VK-сообщество и WhatsApp Business требуют отдельных роботов. Способ подключения может отличаться: прямой Telegram-бот и Telegram-бот через Umnico совместимы, если все блоки схемы поддерживаются обоими. Добавление Umnico ограничит такую схему общими возможностями, включая текст, но исключая специфичные кнопки и действия прямого Telegram-подключения.
| Канал Umnico | Сеть и тип аккаунта |
|---|---|
Telegram Bot (telebot) |
Telegram, бот |
Telegram (telegram) |
Telegram, личный аккаунт |
VK (vk_group) |
VK, сообщество |
WhatsApp (whatsapp2, whatsapp) |
WhatsApp, личный аккаунт |
WhatsApp Business API (waba) |
WhatsApp, бизнес-аккаунт |
Instagram (instagramV3) |
Instagram, официальное подключение |
Facebook Messenger (fb_messenger) |
Facebook, Messenger |
Неизвестные типы каналов нельзя выбрать для робота, пока для них не добавлена поддержка. Отключённые каналы не выполняют отправку.
Если снять аккаунт в настройках робота, новые клиенты с него перестанут входить в сценарий. Уже запущенные клиенты и их таймеры продолжают работу через прежний аккаунт. Полное отключение аккаунта или интеграции прекращает и эти отправки; автоматического переноса на другой аккаунт нет.
Для Umnico доступны текстовые сообщения, вложения по таблице ниже, ожидание текстового ответа, паузы, условия и HTTP/webhook-блоки. Кнопки, реакции, проверка подписки и другие специальные действия соцсетей через Umnico пока не поддерживаются. При несовместимой схеме Napulse показывает ошибку при проверке или запуске; подмена такого действия обычным текстом не выполняется.
Вложения в роботах
| Канал | Изображения | Видео | Аудиофайлы | Документы |
|---|---|---|---|---|
| WhatsApp / WhatsApp Business | Да | Да | Да | Да |
| Telegram: бот / личный аккаунт | Да | Да | Да | Да |
| VK | Да | Да | Да | Да |
| Facebook Messenger | Да | Да | Да | Да |
| Да | Да | Да | Нет |
Доступные блоки учитывают таблицу возможностей Umnico и возможности всех выбранных аккаунтов. Если у робота несколько аккаунтов, доступны только общие для них типы вложений.
- Откройте настройки блока Сообщение и выберите + Изображение, + Файл, + Аудиофайл или + Видео. Загрузите файл с компьютера.
- При необходимости добавьте текст к вложению. Конкретный мессенджер может показать текст и файл отдельно.
- В одном сообщении можно отправить один файл. Для нескольких файлов нажмите + Сообщение: робот отправит их последовательно в том же шаге.
- Сохраните и проверьте схему перед активацией.
Napulse ограничивает каждое вложение через Umnico размером 25 МБ. Это ограничение Napulse; у конкретного канала могут быть дополнительные ограничения. Поддерживаются изображения JPEG, PNG, GIF, WebP; видео MP4, WebM, MOV; аудио MP3, M4A, AAC, OGG, WAV, WebM, FLAC. Документы доступны в каналах из таблицы; HTML, XHTML и SVG запрещены. Вставка произвольной ссылки вместо загрузки файла для этих блоков недоступна.
Кнопка + Аудиофайл внутри сообщения отправляет исходную аудиозапись. Отдельного дополнительного блока для Umnico нет. Оформление записи как нативного голосового сообщения зависит от канала и не гарантируется общим API Umnico; распознавание речи и синтез голоса здесь недоступны. Кружки, стикеры и альбомы через этот адаптер пока недоступны.
Файл проверяется на принадлежность проекту и совместимость с аккаунтом отправки. В CRM сохраняется локальная копия вложения и подпись. Повторная обработка той же отправки не создаёт повторное сообщение; при неопределённом результате сначала проверьте историю Umnico.
Новый входящий текст запускает или продолжает подключённый робот. Ответ отправляется с того аккаунта, через который пришёл клиент; аккаунт сохраняется для следующих шагов и таймеров. Ответы менеджеров, собственные исходящие уведомления Umnico и уведомления о нажатиях кнопок не запускают текстовый сценарий повторно. Повторная доставка входящего уведомления не создаёт новое выполнение для того же сохранённого сообщения.
В режиме Мануал робот не обрабатывает новые сообщения и не отправляет отложенные ответы в этом диалоге. Переключение обратно в Авто не переигрывает входящие сообщения, уже полученные в ручном режиме. Новые диалоги готовы к работе активного робота; существующий ручной режим при подключении интеграции сохраняется.
Если провайдер не подтвердил отправку, повторная попытка с тем же идентификатором не отправляет сообщение ещё раз. Сначала проверьте диалог Umnico: сообщение могло быть доставлено. Уведомление Umnico с идентификатором отправки может восстановить подтверждение автоматически. До выяснения результата не запускайте заново шаг отправки с новым идентификатором.
Права и безопасность
- Интеграции: просмотр позволяет увидеть статус и выбранные каналы, но не API-токен.
- Интеграции: управление позволяет подключать, настраивать и отключать сервис. Право проверяется заново при каждом запросе.
- Токен шифруется на сервере с привязкой к проекту и подключению. Он не возвращается в браузер после сохранения.
- Входящие уведомления проверяются по секрету подключения, аккаунту Umnico и выбранному каналу. Данные другого проекта не объединяются автоматически.
- Отключение отзывается в Napulse даже при недоступности Umnico. Если Umnico был недоступен, удалите оставшийся webhook Napulse в его настройках вручную.
Подготовка сервера
Администратор применяет миграции 0229_project_integrations_umnico и 0230_umnico_robot_deliveries и задаёт:
INTEGRATIONS_ENCRYPTION_KEY— случайный ключ из 32 байт в Base64. Храните его в секретах окружения и резервируйте отдельно от базы. Произвольная замена ключа сделает сохранённые токены недоступными.INTEGRATIONS_PUBLIC_URL— публичный HTTPS-адрес этого сервера Napulse, напримерhttps://napulse.co. Локальный адрес без публичного доступа не принимает уведомления Umnico.
Для роботов также нужны совместимые версии CRM и движка роботов, работающая очередь событий и взаимный доступ сервисов. ROBOTS_SERVICE_URL в CRM указывает на движок роботов; CRM_INTERNAL_BASE_URL в движке — на внутренний адрес CRM. Значения ROBOTS_SERVICE_TOKEN в CRM и CRM_ROBOTS_SERVICE_TOKEN в движке должны совпадать. Без настроенного секрета внутренние запросы Umnico отклоняются. API-токен клиента Umnico остаётся в CRM и в движок роботов не передаётся.
Webhook создаётся автоматически при подключении. Umnico ограничивает их число на аккаунт; занятый лимит или отключённый webhook требует внимания администратора. Внешний прокси должен скрывать секретную часть пути /api/integrations/umnico/<id>/<secret> из журналов доступа. В метриках Napulse путь обезличен.
Перед включением для клиентов проверьте на отдельном тестовом канале реальное входящее сообщение, ответ из CRM, повторную доставку webhook и отключение подключения. Для роботов дополнительно проверьте два аккаунта одной группы, ожидание ответа, таймер, ручной режим и отсутствие дублей при повторном webhook. На этапе подготовки интеграции реального тестового аккаунта Umnico ещё нет: проверены локальные сценарии и хранение в PostgreSQL, а ответы провайдера имитируются. Эти проверки не подтверждают реальную доставку или доступность конкретного аккаунта и тарифа.
Официальный контракт провайдера: Umnico API.