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', // ключі, визначені в Agent Settings
region: 'eu-west'
}
});Respondo.track(name, properties?)#
Записує клієнтську подію для поточного відвідувача (наприклад, покупку чи підвищення плану). Події можуть запускати тури з тригером за подією та зараховуватися до цілей турів. Доставка за принципом best-effort із keepalive, тож події, надіслані безпосередньо перед навігацією (редіректом на checkout), усе одно доходять. Викликайте після init().
Події також відкривають спливні опитування, які на них чекають (When and where): одразу на відповідній сторінці або під час переходу на неї протягом 30 хвилин — наприклад, після редиректу.
Respondo.track('purchase_completed', {
plan: 'pro',
amount: 49
});Respondo.startSurvey(surveyId)#
Відкриває запущене спливне опитування зараз, на будь-якій сторінці, без урахування Show on, правил сторінок, часу на сторінці, події-тригера та аудиторії. Id скопіюйте в редакторі опитування (Additional ways to share). Опитування, на яке відвідувач уже відповів, повторно не показується. Можна викликати до завершення завантаження віджета.
Respondo.startSurvey('<survey-id>');Respondo.destroy()#
Видаляє віджет зі сторінки. Корисно для SPA під час переходу на сторінки, де віджет не має відображатися. Він не очищає особу відвідувача чи збережену розмову — для виходу використовуйте Respondo.reset().
// Видалити віджет зі сторінки
Respondo.destroy();
// За потреби повторно ініціалізувати пізніше (продовжує ту саму розмову)
Respondo.init({ agentId: 'YOUR_AGENT_ID' });Respondo.reset()#
Вихід / передача спільного пристрою. Очищає анонімний visitor id, збережену розмову й токен сесії з браузера, відкликає токен сесії на боці сервера, щоб його копії перестали працювати, і заново монтує свіжий анонімний віджет. Викликайте це з хука виходу вашого застосунку.
// Під час виходу — стерти особу, розмову й сесію, почати з чистого аркуша
Respondo.reset();Автоматичний збір даних
Віджет автоматично фіксує та зберігає наступне разом із кожною розмовою:
| Дані | Джерело |
|---|---|
| IP клієнта | HTTP-заголовки |
| Браузер / ОС | Заголовок User-Agent |
| Мова | Заголовок Accept-Language |
| Часовий пояс | Intl API (JavaScript) |
| URL сторінки | window.location |
| Реферер | Заголовок Referer |