Як прослуховувати події з чату для сайтів
Щоб розробники могли підключати аналітику або реагувати на події у віджеті чату для сайту передбачені браузерні події, які можна використовувати у вашому коді JavaScript та передавати дані у зовнішні системи — аналітику, CRM або власну логіку сайту.
У статті розглянемо, які події можна передавати.
Список подій
Чат для сайту надсилає події до браузера щоразу, коли підписник або бот виконують певні дії, наприклад, відкривають чат, надсилають повідомлення або натискають кнопку.
Кожна подія має унікальну назву та передає певний набір даних. Усі вони містять стандартні поля, наведені нижче, а деякі — додаткову інформацію про дії користувача або бота.
| Подія | Коли спрацьовує | Поля |
spLiveChatLoaded |
Підписник успішно відкрив чат у своєму браузері. | timestamp, visitorId, phone. |
spLiveChatOpened |
Користувач відкрив чат вручну. Подія не спрацює в разі автоматичного відкриття чату на сайті. | timestamp, visitorId, phone, chatId, subscriberId. |
spLiveChatClosed |
Підписник закрив чат для сайту. | timestamp, visitorId, phone, chatId, subscriberId. |
spGreetingButtonClicked |
Підписник натиснув кнопку у привітанні бота або меню. | Обʼєкт button, який містить дані про кнопку: text, type, id, payload. |
spChatInitiated |
Підписник відправив перше повідомлення. | Поле message — текст першого повідомлення |
spMessageSent |
Підписник відправив повідомлення. | Обʼєкти: { message, type: 'text' } — для текстових повідомлень;або { fileName, fileType, type: 'file' } — для медіа-повідомлень. |
spMessageReceived |
Отримано повідомлення від чату в межах сценарію ланцюжка або відповідь менеджера через чат. | Поля: message, type, quick_replies, url тощо. |
Кожна подія містить такі поля:
timestamp |
Час події у форматі ISO — 2025-11-10T14:32:05Z. |
visitorId, phone |
Ідентифікатори підписника. Дані можуть бути недоступні, якщо відвідувач не взаємодіяв з чатом та не вводив свої дані. |
chatId |
Ідентифікатор активного проєкту, який передається після запуску віджета підписника. |
subscriberId |
Ідентифікатор підписника після реєстрації. Дані можуть бути недоступні, якщо відвідувач сайту не підписався на бот, наприклад, при відкритті чату. |
Передача подій
Щоб переконатися, що події віджета працюють коректно, ви можете швидко протестувати їх у браузері. Для цього додайте скрипт на сторінку, де вже підключено чат:
<script>
document.addEventListener('spMessageSent', (event) => {
console.log('[LiveChat] visitor message sent', event.detail);
});
document.addEventListener('spMessageReceived', (event) => {
console.log('[LiveChat] operator message received', event.detail);
});
</script>
Ви можете замінити блок console.log на власну логіку аналітики або інтеграції. Після цього всі події, які надсилає віджет, з’являться у консолі вашого браузера.
Оновлено: 17.11.2025
або