Коли віджет HelpCrunch завантажено, ви можете прив’язати callback-виклики до подій чату HelpCrunch. Наприклад, це може бути корисно для додавання аналітики.
- onReady
- onChatOpen
- onChatClose
- onCustomerMessage
- onAgentMessage
- onNewUnreadChat
- onPreChatFormSubmit
- onError
onReady
Ця подія запускається під час ініціалізації віджета чату та завантаження даних програми.
Жодні параметри не передаються функції callback.
HelpCrunch('onReady', callback);
onChatOpen
Подія спрацьовує, коли користувач відкриває віджет чату. Вона може використовуватися для відстеження залученості користувачів, ініціювання автоматичних повідомлень або персоналізації чату відповідно до поведінки користувача.
Жодні параметри не передаються функції callback.
HelpCrunch('onChatOpen', callback);
onChatClose
Подія спрацьовує, коли користувач вручну закриває віджет чату. Вона може використовуватися для відстеження взаємодії користувачів, запуску подальших дій або фіксації даних сесії чату.
Жодні параметри не передаються функції callback.
HelpCrunch('onChatClose', callback(event));
onCustomerMessage
Ця подія запускається, коли ваш клієнт надсилає повідомлення в чаті.
Параметри:
customerMessage
: об'єктdetail
: об'єктmessage
: об'єктauthor_name
: рядок (user name)cid
: рядок (user id)text
: рядокtime
: рядокfile
: об'єкт
HelpCrunch('onCustomerMessage', callback(customerMessage));
Приклад:
Ви хочете показати останнє повідомлення клієнта в блоці статусу вашого сайту:
HelpCrunch('onCustomerMessage', function (customerMessage) {
var message = customerMessage.detail.message;
document.getElementById('status-input').value = message.author_name + ': ' + message.text;
});
onAgentMessage
Ця подія запускається, коли ваш оператор надсилає повідомлення в чаті.
Параметри:
customerMessage
: об'єктdetail
: об'єктmessage
: об'єктauthor_name
: рядок (user name)cid
: рядок (user id)text
: рядокtime
: рядокfile
: об'єкт- та інші...
HelpCrunch('onAgentMessage', callback(agentMessage));
Приклад#1:
Ви хочете показати останнє повідомлення оператора в блоці статусу вашого сайту:
HelpCrunch('onAgentMessage', function (agentMessage) {
var message = agentMessage.detail.message;
document.getElementById('status-input').value = message.author_name + ': ' + message.text;
});
Приклад#2:
Як відображати чат лише тоді, коли з'являється нове повідомлення у чаті від агента.
HelpCrunch('onNewUnreadChat', function (event) {
console.log('onNewUnreadChat');
if (event.unreadChats) {
HelpCrunch('showChatWidget');
}
});
onNewUnreadChat
Ця подія запускається, коли ваш клієнт отримує нове повідомлення в чаті:
Параметри:
event
: об'єктunreadMessages
: номер
HelpCrunch('onNewUnreadChat', callback(event));
Приклад:
Ви хочете показати велику червону бульбашку з непрочитаними чатами в рядку статусу користувача на вашому сайті:
HelpCrunch('onNewUnreadChat', function (event) {
var bigRedBubble = document.getElementById('big-red-bubble');
if (event.unreadMessages > 0) {
bigRedBubble.style.display = 'inline';
bigRedBubble.textContent = event.unreadChats;
} else {
bigRedBubble.style.display = 'none';
}
});
onPreChatFormSubmit
Коли відвідувач надсилає форму перед чатом, ви отримаєте надіслану інформацію у зворотному виклику 'event.detail.userData'.
HelpCrunch('onPreChatFormSubmit', (event) => {
// event.detail.userData;
});
onError
У разі виникнення будь-якої помилки у віджеті чату, цей метод дозволяє вам реагувати відповідним чином.
HelpCrunch('onError', (error) => {
});