Документация

JavaScript API

Глобальные методы, доступные после загрузки скрипта виджета.

Respondo.init(config)#

Инициализирует и монтирует виджет. Должен вызываться один раз. Возвращает экземпляр виджета.

const widget = Respondo.init({
  agentId: 'YOUR_AGENT_ID'
});

Respondo.identify(identity)#

Прикрепляет личность пользователя к текущей сессии. Вызывайте после входа.

Respondo.identify({
  email: 'user@example.com',
  name: 'John Doe',
  userId: 'usr_123',
  userHash: 'hmac_sha256_signature', // необязательно, для проверки личности
  metadata: { plan: 'pro' },
  properties: {                      // пользовательские свойства контакта
    account_type: 'enterprise',      // ключи задаются в настройках агента
    region: 'eu-west'
  }
});

Respondo.track(name, properties?)#

Записывает клиентское событие для текущего посетителя (например, покупку или апгрейд тарифа). События могут запускать туры по событию и засчитываться в цели туров. Доставка «по возможности» с keepalive, поэтому события, отправленные прямо перед навигацией (редирект на оплату), всё равно доходят. Вызывайте после init().

Respondo.track('purchase_completed', {
  plan: 'pro',
  amount: 49
});

Respondo.destroy()#

Удаляет виджет со страницы. Полезно для SPA при переходе на страницы, где виджет не должен появляться. Не очищает личность посетителя и сохранённый диалог — для выхода из системы используйте Respondo.reset().

// Удаляем виджет со страницы
Respondo.destroy();

// При необходимости инициализируем заново позже (продолжает тот же диалог)
Respondo.init({ agentId: 'YOUR_AGENT_ID' });

Respondo.reset()#

Выход из системы / передача устройства другому пользователю. Очищает анонимный visitor id, сохранённый диалог и токен сессии в браузере, отзывает токен сессии на сервере, чтобы его копии перестали работать, и заново монтирует чистый анонимный виджет. Вызывайте из logout-хука вашего приложения.

// При выходе — стираем личность, диалог и сессию, начинаем заново
Respondo.reset();

Автоматический сбор данных

Виджет автоматически собирает и сохраняет следующее с каждым диалогом:

ДанныеИсточник
IP клиентаHTTP-заголовки
Браузер / ОСЗаголовок User-Agent
ЯзыкЗаголовок Accept-Language
Часовой поясIntl API (JavaScript)
URL страницыwindow.location
РеферерЗаголовок Referer