Браузерный SDK
После загрузки /wyli.js доступен объект window.wyli. Вызывайте методы, когда тег подключения уже загрузился.
| Метод | Что делает |
|---|---|
event(name, props) | Отправляет именованное событие. Название: 1–100 символов; параметры: объект, по умолчанию пустой. Не используйте массив или null. |
identify(id) | Задаёт обезличенный ID длиной 1–200 символов. Не передавайте контактные данные или секреты. |
start() | Начинает запуск, возвращает Promise. Нужен после согласия при data-consent="required"; повторный вызов использует тот же запуск. |
status() | Возвращает текущие статусы подключений: loading, ready, error или disabled. До запуска объект может быть пустым. |
getVisitorId() | Возвращает текущий обезличенный идентификатор, если он создан или задан. До запуска он может отсутствовать. |
getSessionContext() | Возвращает доступный контекст визита. Идентификатор записи присутствует только если соответствующая сессия действительно создана SDK. |
feedback(surveyId) | Асинхронно открывает подходящий опубликованный опрос и возвращает true при открытии, иначе false. Учитывает запуск, DNT/GPC и путь страницы. |
События до завершения инициализации могут попасть в ограниченную очередь; не вызывайте их до согласия. Отсутствие ошибок вызова не подтверждает обработку события сервером.
Минимальный сценарий
// После загрузки SDK и согласия посетителя:
await window.wyli.start();
window.wyli.identify('customer_7f3a');
window.wyli.event('lead_created', {form: 'callback'});
const connectionState = window.wyli.status();Идентификатор в примере вымышленный. identify() связывает действия с заданным ID, но не подтверждает личность посетителя. Содержание getSessionContext() также не служит доказательством личности или наличия готовой записи.
API кабинета владельца
Эти методы управляют входом и подключением сайтов. Они требуют действующей сессии владельца, кроме самого входа. Отчёты и записи открываются в соответствующих разделах приложения.
| Метод и путь | Назначение |
|---|---|
POST /api/login | Вход владельца. Используйте экран входа приложения; он устанавливает защищённую сессию. |
POST /api/logout | Завершение текущей сессии. |
GET /api/me | Текущий вошедший пользователь. |
GET /api/sites | Список сайтов и состояние их подключения. |
POST /api/sites | Создание подключения с названием name и адресом domain. |
POST /api/sites/:id/retry | Повторная попытка подключения существующего сайта. |
GET /api/health | Состояние доступности подключённых сервисов для владельца. |
Изменяющие запросы проверяют точный Origin кабинета. Методы, принимающие JSON, требуют Content-Type: application/json и ограничивают тело запроса 8 KiB. Без сессии возвращается 401. Публичный ключ сайта не заменяет сессию владельца.
Не переносите cookie сессии или пароль в код сайта, ссылку, журнал событий или опубликованный пример. Внутренние идентификаторы подключений не являются публичным контрактом SDK.
Ответы и экспорт опросов
Результаты доступны владельцу в обратной связи. Экспорт выбранной версии доступен по GET /api/feedback/surveys/:id/export с параметрами revision и offset; требуется та же сессия владельца.
Одна порция CSV содержит до 1000 ответов начиная с выбранного смещения. Это не экспорт всей истории. Следующая порция использует следующее непересекающееся смещение; максимальное допустимое смещение — 100000.
Перейдите от описания к своему сайту.
Открыть приложение