← Назад к Unicrafter

На этой странице все callback-функции активны. Взаимодействуйте с виджетом — каждый callback покажет своё уведомление. Все уведомления разного типа и появляются по центру, не перекрывая друг друга. Полный список по официальной документации Jivo.

Объявите эти функции до загрузки скрипта виджета — Jivo найдёт и вызовет их автоматически.

jivo_onLoadCallback()

Вызывается при завершении инициализации виджета. Точка входа для всех вызовов jivo_api. Уведомление: красный полноэкранный баннер сверху.

Живая демонстрация

Красный баннер уже сработал при загрузке страницы.

function jivo_onLoadCallback() {
  console.log('Jivo загружен, режим:', jivo_api.chatMode());
}

jivo_onOpen()

Срабатывает когда посетитель открывает окно чата. Уведомление: зелёная таблетка снизу по центру.

Живая демонстрация

Откройте чат — появится уведомление.

function jivo_onOpen() {
  document.getElementById('my-chat-btn').style.display = 'none';
}

jivo_onClose()

Срабатывает когда посетитель закрывает окно чата. Уведомление: модальное окно по центру экрана.

Живая демонстрация

Откройте и закройте чат — появится модальное окно.

function jivo_onClose() {
  document.getElementById('my-chat-btn').style.display = 'block';
}

jivo_onChangeState(state)

Срабатывает при изменении состояния виджета. Параметр Уведомление: синяя карточка с текущим state. state: 'chat', 'call', 'label', 'chat/call', 'chat/min'.

Живая демонстрация

Открывайте и сворачивайте чат — уведомление покажет state.

function jivo_onChangeState(state) {
  console.log('Состояние виджета:', state);
}

jivo_onClientStartChat()

Срабатывает когда посетитель начинает диалог — отправляет первое сообщение или запрос на звонок. Уведомление: оранжевая карточка.

Живая демонстрация

Откройте чат и отправьте первое сообщение.

function jivo_onClientStartChat() {
  gtag('event', 'chat_start');
}

jivo_onIntroduction()

Срабатывает когда посетитель отправляет контактные данные через форму виджета. Уведомление: фиолетовая карточка.

Живая демонстрация

Заполните форму контактов в виджете и отправьте.

function jivo_onIntroduction() {
  var info = jivo_api.getContactInfo();
  console.log('Посетитель представился:', info);
}

jivo_onMessageReceived()

Срабатывает когда оператор отправляет новое сообщение посетителю. Уведомление: пузырь входящего сообщения.

Живая демонстрация

Откройте чат и попросите оператора написать вам.

function jivo_onMessageReceived() {
  var count = jivo_api.getUnreadMessagesCount();
  document.getElementById('badge').textContent = count;
}

jivo_onMessageSent()

Срабатывает один раз — когда посетитель отправляет первое сообщение оператору. Уведомление: пузырь исходящего сообщения.

Живая демонстрация

Откройте чат и отправьте сообщение.

function jivo_onMessageSent() {
  gtag('event', 'chat_message_sent');
}

jivo_onAccept()

Срабатывает когда оператор принимает обращение посетителя. Уведомление: тёмно-зелёная карточка.

Живая демонстрация

Напишите в чат и дождитесь, пока оператор примет обращение.

function jivo_onAccept() {
  gtag('event', 'chat_accepted');
}

jivo_onCallStart()

Срабатывает в момент начала звонка через виджет. Уведомление: морская волна.

Живая демонстрация

Инициируйте звонок через виджет.

function jivo_onCallStart() {
  console.log('Звонок начался');
}

jivo_onCallEnd(res)

Срабатывает по окончании звонка. Параметр Уведомление: карточка с красной рамкой и результатом. res: 'ok' или 'fail'.

Живая демонстрация

Завершите звонок через виджет.

function jivo_onCallEnd(res) {
  if (res === 'ok') gtag('event', 'call_success');
  else console.log('Звонок не состоялся:', res);
}

jivo_onResizeCallback()

Срабатывает при изменении размера или позиции виджета на странице. Уведомление: серая таблетка.

Живая демонстрация

Открывайте и закрывайте чат — виджет меняет размер.

function jivo_onResizeCallback() {
  // подстроить layout страницы под новый размер виджета
}

jivo_onWidgetDestroy()

Срабатывает когда виджет удаляется со страницы через Уведомление: оранжево-красная карточка. jivo_destroy().

Живая демонстрация

Нажмите кнопку — виджет будет удалён со страницы и сработает callback.

function jivo_onWidgetDestroy() {
  console.log('Виджет удалён со страницы');
}
✅  jivo_onLoadCallback() — виджет загружен
🟢  jivo_onOpen() — чат открыт
jivo_onChangeState()
state: —
jivo_onClientStartChat()
Посетитель начал диалог
jivo_onIntroduction()
Посетитель отправил контакты
👤
Оператор
jivo_onMessageReceived() — новое сообщение
👤
Посетитель
jivo_onMessageSent() — сообщение отправлено
jivo_onAccept()
✓ Оператор принял обращение
jivo_onCallStart()
📞 Звонок начался
jivo_onCallEnd()
Звонок завершён
↔  jivo_onResizeCallback() — размер изменился
jivo_onWidgetDestroy()
⚠ Виджет удалён со страницы
↑