Чат на сайте — окно переписки на сайте компании, свой канал Gratio. Внешнего мессенджера и аккаунта нет: посетитель пишет в окне, а ваше приложение получает его реплики уведомлениями и отвечает теми же методами, что в мессенджерах. Сверх них — подпись автора ответа, кнопки, формы и методы посетителя.
Канал бесплатный. В окне есть метка «Работает на Gratio»; в платном тарифе её нет.
Поставить чат на сайт
- В кабинете: раздел канала → «Поставить чат на сайт». Мастер спросит домен сайта и часы работы.
- Мастер выдаёт код вставки и ключ канала:
idInstanceиapiTokenInstance, как у остальных каналов. - Вставьте код одной строкой перед
</body>на всех страницах сайта:
<script async src="https://chat.gratio.net/w/v1/s/sk3m7qz2a4bt6cdxy.js"></script>
sk3m7qz2a4bt6cdxy — siteId, id сайта в Gratio. Код вставки и siteId в любой момент отдаёт getSiteCode. В кабинете есть подсказки для Tilda, WordPress, 1С-Битрикс и Google Tag Manager.
На организацию — до 10 чатов на сайте.
Вы увидите кнопку чата в углу сайта. В кабинете состояние сменится с «Ждёт установки» на «Работает на school.ru».
Домены
Окно открывается только на доменах из списка — на чужом сайте с тем же кодом оно не встроится. Домены задаются в кабинете или настройкой siteDomains:
| Запись | Где работает |
|---|---|
school.ru |
school.ru и www.school.ru |
*.school.ru |
все поддомены и сам school.ru |
http://school.local |
только этот адрес и только по http — явно |
До 20 доменов. Кириллический домен — в punycode. Маску над одним уровнем, например *.ru, задать нельзя. Проверить окно на localhost можно до 7 дней — настройкой siteAllowLocalhost. Где код уже видели и подходит ли домен — поле origins в getSiteCode.
Адреса
| Что | Как |
|---|---|
Посетитель (chatId) |
v и 24 знака: "vq3k7m2x4a6b2c4d6e7f2g3h4" — один браузер одного сайта |
| Номер обращения | G-7K4MXQ — посетитель называет его, если продолжает разговор в мессенджере |
idMessage |
реплика посетителя — i…, ваше сообщение — o… |
wid канала |
siteId: "sk3m7qz2a4bt6cdxy" |
Посетитель — это браузер, а не человек: после «Завершить и очистить» в окне или с другого устройства у него новый chatId. Телефона у посетителя нет; первым пишет только он.
Проверить подключение
curl "$GRATIO_URL/v1/instances/$GRATIO_ID/getStateInstance" \
-H "Authorization: Bearer $GRATIO_TOKEN"
Ответ {"stateInstance": "authorized"} — чат стоит на сайте. notAuthorized — чат снят с сайта: окно не показывается, история и данные посетителей читаются.
Чего у чата на сайте нет
Группы, звонки, истории Telegram, checkAccount, геопозиция, контакт, опрос, пересылка, архив и закреп чатов, поиск и вступление — 501.
Что дальше
- Чат на сайте через API — как устроены методы канала.
- Настройки окна — цвет, тексты, часы работы, согласие.
- JS API окна на сайте — открыть чат со страницы, передать данные посетителя.
