Виджет на сайте
Виджет — единственное, что ставится на страницы вашего сайта. Всё остальное происходит на нашей стороне: сообщение уходит менеджерам в Telegram, ответ возвращается в панель чата.
Сниппет
Готовая строка со всеми подставленными значениями лежит в кабинете: проект → «Код для сайта». Выглядит она так:
<script src="https://widget.globask.com/widget/widget.js" data-globask-key="pk_ваш_ключ"></script>
Вставьте её перед закрывающим </body> на всех страницах сайта — человек
пишет с той страницы, на которой у него возник вопрос, а не с главной. Адрес
страницы приходит менеджеру вместе с обращением.
Что нужно знать про этот скрипт:
pk_…— публичный ключ проекта, а не секрет. Он и должен лежать в исходном коде страницы. От установки вашего чата на чужой сайт защищает не он, а список доменов.- Он ничего не блокирует. Скрипт грузится асинхронно, весит меньше 5 КБ в gzip и рисует кнопку сам, не дожидаясь ответа сервера.
- Панель чата создаётся только по клику. До первого открытия на странице нет ни iframe, ни его содержимого. Исключение — посетитель, который уже писал вам: ему панель готовится заранее, иначе ответ пришёл бы в никуда.
- Двойная установка не удваивает чат. Сниппет нередко попадает на страницу дважды — через тему сайта и через диспетчер тегов разом. Второй запуск с тем же ключом мы игнорируем.
Домены сайта
В кабинете (проект → «Настройки») перечислены домены, на которых виджету разрешено работать. Виджет заработает на них и на их поддоменах; на всех прочих — не заработает вовсе.
Это не формальность: публичный ключ виден в исходном коде каждой страницы, и без списка доменов чужой сайт мог бы поставить ваш чат себе, а обращения с него приходили бы вашим менеджерам.
«https://» и путь вводить можно — мы оставим только домен.
Открывать чат своей кнопкой
Клик по любому элементу с классом globask-open или атрибутом
data-globask-open открывает чат. Это работает всегда, независимо от
настроек, и не требует ни строчки JavaScript:
<a href="#" class="globask-open">Написать нам</a>
Клик по вложенному элементу — иконке или span внутри кнопки — тоже
считается: мы ищем ближайшего родителя.
Если вместо нашей круглой кнопки на странице должна остаться только ваша, выберите в кабинете (проект → «Внешний вид») пункт «Своим элементом сайта». Тогда наша кнопка не прячется, а не появляется в документе вовсе.
Счётчик непрочитанных
Когда менеджер отвечает закрытой панели, мы ставим на все элементы-лаунчеры
атрибут data-globask-unread с числом непрочитанных. Нарисовать его — ваше
дело; на нашей кнопке для этого есть свой кружок, у вашей — только атрибут:
.globask-open[data-globask-unread]::after {
content: attr(data-globask-unread);
}
Без этого правила ответ менеджера дойдёт до посетителя молча — и, скорее всего, не дойдёт вовсе.
Управление из скриптов сайта
Виджет выставляет наружу window.globask с тремя методами:
window.globask.open();
window.globask.close();
window.globask.toggle();
Объект появляется после загрузки скрипта, поэтому вызывать его из кода, который выполняется раньше, нельзя — проверьте, что он есть:
window.globask?.open();
Имена globask-open, data-globask-open, data-globask-unread и
window.globask — часть публичного контракта: мы их не переименуем.
Внешний вид
Настраивается в кабинете (проект → «Внешний вид») и применяется без правки сниппета:
| Что | Значение |
|---|---|
| Цвет | ваш #rrggbb или один из пресетов; вся палитра панели строится от него |
| Заголовок панели | до 40 символов |
| Приветствие | до 200 символов, показывается в пустом чате |
| Сторона | справа или слева |
| Чем открывается | нашей кнопкой или элементом сайта |
Цвет текста на кнопке и в шапке мы считаем сами — светлый или почти-чёрный, смотря что читается поверх вашего.
Отдельно настраивается автоответ (проект → «Автоответ»): что написать посетителю в нерабочее время и что — если менеджеры молчат дольше заданного числа минут. Расписание и оба текста ваши.
Что дальше
Обращения из виджета можно читать и продолжать со своего сервера: серверное API — выгрузка переписки и отправка сообщения посетителю, вебхуки — события диалогов в реальном времени.