Установка виджета
Виджет RolChat - это одна плавающая кнопка, которая подстраивается под включённые модули: чат, форма заказа обратного звонка, запись на встречу, форма заявки и поиск по базе знаний находятся внутри неё. Установите его один раз; что именно он показывает, решается в панели управления.
1. Скопируйте код
Заголовок раздела «1. Скопируйте код»В разделе Настройки → Виджет выберите сайт и скопируйте код установки. Он выглядит так:
<!-- 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 весит несколько килобайт и загружает остальное, только когда это нужно посетителю: окно чата при первом открытии, отслеживание после согласия, баннер согласия там, где он обязателен.
2. Вставьте его перед </body>
Заголовок раздела «2. Вставьте его перед </body>»Добавьте код на каждую страницу, где нужен виджет, лучше всего через шаблон сайта или менеджер тегов, чтобы он сразу появился везде. Скрипт загружается асинхронно и не блокирует отрисовку; стартовый бандл намеренно сделан маленьким, чтобы не влиять на Core Web Vitals.
3. Проверьте, что всё работает
Заголовок раздела «3. Проверьте, что всё работает»Откройте сайт в приватном окне. Кнопка появится в выбранном углу. В панели управления раздел Посетители в реальном времени покажет новую анонимную сессию, а сообщение, отправленное из виджета, появится в Общем ящике как новый диалог.
Идентификация авторизованных пользователей
Заголовок раздела «Идентификация авторизованных пользователей»Если посетители входят в ваш продукт, сообщите 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(), когда пользователь выходит из системы, иначе следующий человек в этом браузере увидит предыдущий диалог.
JavaScript API
Заголовок раздела «JavaScript API»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. Арабский и иврит отображаются справа налево. Сообщения агентов виджет не переводит; на стороне агента вместо этого можно использовать живой перевод с помощью ИИ.
Cookie и согласие
Заголовок раздела «Cookie и согласие»Виджет не отслеживает посетителей до получения согласия там, где баннер согласия обязателен. Если вы используете модуль Конфиденциальность RolChat, баннер и виджет разделяют одно состояние согласия. Если вы используете другой инструмент согласия, аналитические события виджета ждут сигнала, который вы настроите в разделе Настройки → Конфиденциальность → Встраивание.
Где настраивается виджет
Заголовок раздела «Где настраивается виджет»| Что | Где |
|---|---|
| Цвета, положение, приветствие, точки входа, код установки | Настройки → Виджет |
| Какие модули показываются внутри виджета | Настройки → Модули (для каждого сайта) |
| Рабочие часы и офлайн-сообщение | Настройки → Сайты → Рабочие часы |
| Триггерные сообщения на определённых страницах | Маркетинг → Триггеры |