DEV Community

Глеб Лужбин S-WEBS
Глеб Лужбин S-WEBS

Posted on • Originally published at s-webs24.ru

Синхронизация чатов задач: единая переписка между порталами без потери контекста

Синхронизация чатов задач: единая переписка между порталами без потери контекста

Введение: зачем нужна синхронизация чатов задач между порталами Битрикс24

Когда интегратор и клиент работают в разных Битрикс24, задача «Настроить воронку продаж» синхронизируется через «Межпортальные чаты 2.0»: оба видят заголовок, описание, дедлайн, файлы. Но чат задачи — место, где обсуждаются правки и уточнения, — до недавнего времени оставался изолированным. Клиент пишет в чате задачи на своём портале: «Добавьте поле в отчёт». Интегратор отвечает в чате той же задачи на своём: «Сделаем завтра». И никто никого не видит. Контекст рвётся, договорённости теряются, начинается параллельная переписка в Telegram.

Синхронизация чатов задач закрывает этот разрыв. Сообщения, отправленные в чате задачи на одном портале, появляются в чате связанной задачи на другом — с пометкой об авторе и принадлежности к стороне. Ни ручного копирования, ни мессенджеров, ни потерянного контекста. Оба участника остаются в своих Битрикс24 и работают с единой историей обсуждения.

Как работает синхронизация чатов задач между порталами Битрикс24

Механизм синхронизации построен на двух контурах доставки — событийном и фоновом. Вместе они обеспечивают надёжность без дублирования сообщений.

Событийный контур: мгновенная пересылка сообщений

Когда кто-то пишет в чат задачи, Битрикс24 отправляет вебхук OnTaskCommentAdd в приложение «Межпортальные чаты 2.0». Приложение получает сообщение, определяет связанную задачу и портал-получатель, и пересылает сообщение. Задержка — секунды. Это основной канал, через который проходит подавляющее большинство сообщений.

Фоновый опрос: страховка от потери сообщений

Раз в несколько минут планировщик проверяет чаты связанных задач через REST API Битрикс24. Если событийный контур пропустил сообщение — вебхук не дошёл, портал был недоступен, произошёл сетевой сбой — фоновый опрос подберёт его при следующей проверке. Два контура не конфликтуют: система ведёт журнал обработанных сообщений и не создаёт дублей.

Префиксы авторов: кто написал и с какой стороны

Каждое пересланное сообщение публикуется с префиксом: «Иван Петров (клиент): добавьте поле в отчёт». Это сразу понятно, кто автор и с какого портала пришло сообщение.

Файлы из чата задачи: скриншоты, документы, таблицы

Если к сообщению прикреплён файл, он тоже копируется: загружается на Диск целевого портала и прикрепляется к пересланному сообщению. Работает асинхронно: текст сообщения появляется сразу, файл подтягивается в фоне через несколько секунд.

Watermark-трекинг: только новые сообщения

Приложение хранит позицию последнего обработанного сообщения для каждой пары «задача — портал». При каждом цикле синхронизации запрашиваются только сообщения, появившиеся после этой метки. Это экономит ресурсы REST API и ускоряет обработку чатов с сотнями сообщений.

Защита от эха и дублей

Система ведёт журнал обработанных сообщений: каждая запись чата получает уникальный идентификатор, и приложение помнит, какие сообщения уже пересланы. Повторная отправка исключена. Кроме того, сообщение, пришедшее с другого портала, не возвращается обратно на портал-источник — иначе началась бы бесконечная циркуляция.

Кейсы синхронизации чатов задач: интегратор, техподдержка, строительство, бухгалтерия

Кейс 1: Интегратор и клиент — правки в чате задачи

Интегратор настраивает CRM для производственной компании. Задачи синхронизированы, но обсуждение правок шло в Telegram. Интегратор тратил 20–30 минут в день на пересылку скриншотов и уточнений из чата задачи в Telegram и обратно.

После включения синхронизации чатов задач вся переписка по правкам переместилась в чат задачи. Клиент пишет «Этапы воронки не совпадают с регламентом, надо поправить» — сообщение мгновенно появляется у интегратора. Интегратор отвечает с прикреплённым скриншотом — клиент видит у себя.

Метрики: время на пересылку сообщений — с 20–30 минут в день до 0. Потеря контекста при смене канала — с 3–4 случаев в неделю до 0. Среднее время согласования правки — с 4 часов до 1,5 часов.

Кейс 2: Техподдержка — контекст в одном месте

IT-аутсорсер обслуживает 12 клиентов. При обращении клиента инженер тратил 5–7 минут на восстановление контекста: искать предыдущую переписку в тикет-системе, проверять почту, уточнять у менеджера, с чего началось.

С синхронизацией чатов задач вся история обсуждения каждой задачи доступна на обоих порталах. Клиент пишет «Не работает экспорт в Excel, скриншот прилагаю» — инженер видит сообщение, открывает скриншот и отвечает в том же чате. Через месяц можно поднять историю и вспомнить, что именно правили.

Метрики: время на поиск контекста — с 5–7 минут до 0. Среднее время решения типового обращения — с 3,5 часов до 1,8 часов. Количество повторных обращений по одной и той же проблеме — снижение на 40%.

Кейс 3: Строительный проект — генподрядчик и субподрядчики

Строительная компания ведёт проект на 200+ задач. Генподрядчик и три субподрядчика работают в разных Битрикс24. Чертежи и спецификации прикреплялись к задачам, но обсуждение шло по телефону и в WhatsApp. Файлы терялись: участники присылали не те версии чертежей, уточняющие звонки отнимали 3–4 часа в неделю.

После настройки синхронизации чатов задач все обсуждения чертежей и правок сосредоточены в чате задачи. Каждый участник видит полную историю: кто что предложил, какой файл прикрепил, на каком этапе согласование.

Читать полностью на S-WEBS24

Top comments (0)