Разговор продолжается в том же окне
  1. Контакт

    Телефон до первого сообщения

  2. Сообщение

    Сохранение и передача в линию

  3. Оператор

    Права и переход из сделки

  4. Ответ

    Возврат в диалог посетителя

Собственное окно чата можно связать с открытой линией Битрикс24: посетитель пишет на сайте, менеджер отвечает из CRM, сообщения возвращаются в тот же диалог. До первого сообщения сайт может требовать телефон. В нерабочее время чат продолжает принимать обращения и сообщает, когда команда обычно отвечает.

Чат и форма обратной связи — разные сценарии

Форма сохраняет одно обращение и предлагает дождаться звонка или письма. Чат поддерживает двустороннюю историю, статусы отправки и повторное открытие диалога. Если посетителю обещают переписку, недостаточно отправить первое сообщение на email: ответ менеджера должен вернуться в окно сайта.

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

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

Как запросить телефон до начала переписки

Начальный экран объясняет, зачем нужен номер: чтобы менеджер смог связаться с человеком, если тот закроет страницу. Поле проверяется на сервере вместе с обязательными согласиями. Только после успешного ответа открывается отправка сообщений. Одна маска в браузере не защищает от прямого запроса к API.

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

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

Настройте очередь и доступ менеджеров

Открытая линия отвечает за распределение диалогов и работу операторов. Назначенный ответственный по сделке и сотрудники, которым разрешено подключаться к переписке, — не обязательно один список. Проверьте роли отдельно: просмотр списка, история, подключение и ответ.

Согласуйте доступ с владельцем портала. Расширение роли может открыть сотрудникам не только чат сайта, но и другие линии. Для приёмки войдите под обычным менеджером, а не администратором: права администратора скрывают ошибки настройки ролей.

Добавьте в сделку прямой переход к связанному чату и проверьте его под разрешённой ролью. Уведомление «создана сделка» без ссылки на разговор заставляет менеджера искать клиента вручную. Если CRM сама создаёт сущности из открытой линии, согласуйте это с собственной интеграцией, иначе появятся две сделки на одно обращение.

Что показывать после рабочего времени

Для ISKAR используется сообщение: «Сейчас оператор не на связи. Мы свяжемся с вами в рабочее время с 8:00 до 16:00 по МСК. Сообщение можно оставить сейчас». Это уведомление о режиме ответа, а не запрет отправки. Менеджер с нужными правами может подключиться и позже.

Часы вычисляются в часовом поясе команды, а не устройства посетителя. Отдельно определите выходные, праздники и ручное включение статуса. Если у компании нет подтверждённого календаря, не обещайте круглосуточный ответ и не придумывайте время ожидания.

Проверка полного диалога

  1. Посетитель не может отправить сообщение без валидного телефона и обязательных согласий.
  2. После принятия контакта первое сообщение появляется у оператора.
  3. Ответ менеджера возвращается в правильное окно сайта.
  4. Другой посетитель не может прочитать историю по подставленному ID.
  5. Перезагрузка страницы восстанавливает разрешённый диалог, но не чужую историю.
  6. Дубли событий от интеграции не создают повторных реплик.
  7. При временной недоступности Битрикс24 сообщение сохраняется, а ошибка не маскируется под доставку оператору.
  8. В нерабочее время сообщение принимается, обычный менеджер может подключиться согласно роли.

Завершайте проверку реальным обменом между двумя тестовыми участниками, а не только HTTP 200 от API. Реализацию на нашем сайте описывает кейс интеграции ISKAR. Для проекта с несколькими каналами подготовьте карту данных и критерии приёмки.

Как не потерять контекст разговора

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

Для каждого сообщения храните направление, время приёма, идентификатор и состояние доставки. Состояния «сохранено сайтом» и «передано оператору» различаются. Если внешний сервис не ответил, интерфейс не должен показывать ложное подтверждение прочтения. При восстановлении связи история пополняется недостающими сообщениями, а повтор события не добавляет вторую копию той же реплики.

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

Учебный сценарий передачи между менеджерами

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

Если сотрудник не видит кнопку ответа, сначала проверьте роль и подключение к линии. Назначение ответственным по сделке не всегда даёт все права на открытую линию. Не выдавайте административный доступ ради одной кнопки: согласуйте необходимый объём прав и проверьте его под обычной учётной записью.

Для запуска подготовьте короткую памятку команде: где искать новые диалоги, как открыть чат из сделки, передать вопрос и завершить разговор. Укажите, кто проверяет обращения, оставленные после 16:00 по МСК. Техническая интеграция обеспечивает доставку и историю, но не заменяет распределение обязанностей внутри отдела продаж. Приёмка заканчивается тогда, когда менеджеры могут самостоятельно пройти эти действия.

Документация