Перейти к содержимому

Установка виджета

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

В разделе Настройки → Виджет выберите сайт и скопируйте код установки. Он выглядит так:

<!-- RolChat widget -->
<script>
window.rolchatConfig = {
"site_id": "ste_…",
"account_id": "…",
"widget_key": "wk1.<site>.<signature>",
"modules": ["chat"]
};
</script>
<script async src="https://widget.rolchat.com/stub.js"></script>

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

stub.js весит несколько килобайт и загружает остальное, только когда это нужно посетителю: окно чата при первом открытии, отслеживание после согласия, баннер согласия там, где он обязателен.

Добавьте код на каждую страницу, где нужен виджет, лучше всего через шаблон сайта или менеджер тегов, чтобы он сразу появился везде. Скрипт загружается асинхронно и не блокирует отрисовку; стартовый бандл намеренно сделан маленьким, чтобы не влиять на Core Web Vitals.

Откройте сайт в приватном окне. Кнопка появится в выбранном углу. В панели управления раздел Посетители в реальном времени покажет новую анонимную сессию, а сообщение, отправленное из виджета, появится в Общем ящике как новый диалог.

Идентификация авторизованных пользователей

Заголовок раздела «Идентификация авторизованных пользователей»

Если посетители входят в ваш продукт, сообщите RolChat, кто они, чтобы диалоги привязывались к нужному контакту:

window.rolchat.identify({
email: "alice@example.com",
first_name: "Alice",
last_name: "Martin",
phone: "+15551234567",
external_id: "user_12345",
custom_fields: { plan: "pro" },
});

Принимаются атрибуты email, phone, first_name, last_name, external_id и плоский объект custom_fields; всё остальное игнорируется. RolChat ищет email в CRM. Если контакт существует, сессия привязывается к нему и агент видит профиль; если нет, данные сохраняются, а лид создаётся, когда посетитель впервые напишет.

Для большего доверия ваш бэкенд может подписывать идентификацию: передайте подпись, которую RolChat выдаёт для пользователя, вместе с атрибутами, и сессия будет повышена только при успешной проверке подписи. Вызывайте window.rolchat.reset(), когда пользователь выходит из системы, иначе следующий человек в этом браузере увидит предыдущий диалог.

window.rolchat доступен сразу после запуска stub; вызовы, сделанные до загрузки бандла, ставятся в очередь и выполняются по порядку.

Метод Что делает
show() / hide() Показать или скрыть кнопку запуска
open() / close() Открыть или закрыть панель чата
identify(traits) Привязать сессию к человеку (см. выше)
reset() Забыть идентификацию и начать новую анонимную сессию
pushEvent(name, props) Передать пользовательское событие для триггерных сообщений и автоматизации
trackPageView(path?) Передать просмотр страницы в одностраничных приложениях
setLocale(code) Переключить язык виджета
showConsentPreferences() Открыть центр настроек согласия
on(event, handler) / off(event, handler) Подписаться на chat:opened, chat:closed, message:sent, message:received, session:started
window.rolchat.pushEvent("cart_abandoned", { value: 129.9, currency: "EUR" });
window.rolchat.on("message:received", () => audio.play());

Виджет говорит на языке, который вы задали параметром lang в window.rolchatConfig (например, "lang": "de"); без него - на языке браузера посетителя, в порядке предпочтений браузера, из 40 языков, которые поддерживает RolChat; если ни один не подходит, - на английском. Языковая настройка самого сайта не используется: чтобы виджет говорил на языке вашего сайта, задайте lang. Арабский и иврит отображаются справа налево. Сообщения агентов виджет не переводит; на стороне агента вместо этого можно использовать живой перевод с помощью ИИ.

Виджет не отслеживает посетителей до получения согласия там, где баннер согласия обязателен. Если вы используете модуль Конфиденциальность RolChat, баннер и виджет разделяют одно состояние согласия. Если вы используете другой инструмент согласия, аналитические события виджета ждут сигнала, который вы настроите в разделе Настройки → Конфиденциальность → Встраивание.

Что Где
Цвета, положение, приветствие, точки входа, код установки Настройки → Виджет
Какие модули показываются внутри виджета Настройки → Модули (для каждого сайта)
Рабочие часы и офлайн-сообщение Настройки → Сайты → Рабочие часы
Триггерные сообщения на определённых страницах Маркетинг → Триггеры