Команды для сайта
После загрузки /wyli.js доступен объект window.wyli. Вызывайте команды после загрузки кода подключения.
| Метод | Что делает |
|---|---|
event(name, props) | Отправляет именованное событие. Название: 1–100 символов; параметры: объект, по умолчанию пустой. Не используйте массив или null. |
identify(id) | Задаёт условный код без личных данных длиной 1–200 символов. Не передавайте контактные данные или секреты. |
start() | Начинает сбор. В коде можно дождаться завершения запуска (Promise). Нужен после согласия при data-consent="required"; повторный вызов использует тот же запуск. |
status() | Возвращает текущие статусы подключений: loading, ready, error или disabled. До запуска объект может быть пустым. |
getVisitorId() | Возвращает текущий условный код без личных данных, если он создан или задан. До запуска он может отсутствовать. |
getSessionContext() | Возвращает доступные сведения о визите. Код записи присутствует только если запись этого визита действительно начата. |
feedback(surveyId) | Открывает подходящий опубликованный опрос и возвращает true при открытии, иначе false. Учитывает запуск, запрет отслеживания в браузере и адрес текущей страницы. |
До готовности подключения действия могут временно ожидать отправки, но число таких действий ограничено. Не отправляйте их до согласия посетителя. Отсутствие ошибок вызова не подтверждает обработку события сервером.
Минимальный сценарий
// После загрузки SDK и согласия посетителя:
await window.wyli.start();
window.wyli.identify('customer_7f3a');
window.wyli.event('lead_created', {form: 'callback'});
const connectionState = window.wyli.status();Код пользователя в примере вымышленный. identify() связывает действия с заданным кодом пользователя, но не подтверждает личность посетителя. Содержание 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 сессии или пароль в код сайта, ссылку, журнал событий или опубликованный пример. Используйте описанные здесь команды; внутренние коды подключений могут меняться.
Ответы и экспорт опросов
Результаты доступны владельцу в обратной связи. Экспорт выбранной версии доступен по GET /api/feedback/surveys/:id/export с параметрами revision и offset; владелец должен быть вошедшим в кабинет.
Одна порция CSV содержит до 1000 ответов начиная с выбранного смещения. Это не экспорт всей истории. Следующая порция использует следующее непересекающееся смещение; максимальное допустимое смещение — 100000.
Откройте кабинет и подключите свой сайт.
Открыть приложение