Оформление
JS-действия в персонализациях и A/B-тестах
Один контур на сайте
Персонализации, A/B-тесты и действия по правилам — разные продукты, но на сайте применяются через общий pipeline. Реагировать в своём коде: onPersonalization. Запустить вручную: applyPersonalization.
В редакторе варианта JS-действие выполняется в момент применения варианта. Не путайте его с источником ML-сигнала: действие вызывает браузерный SDK, а источник сообщает модели о произошедшем факте.
Интеграционные JS-действия
Интерфейс поддерживает действия Яндекс Метрики, Mindbox, Carrot Quest, Jivo, RoiStat и CallTouch. Точный набор команд и их параметры показывает редактор действия. Для выполнения проектная OAuth/API- интеграция не нужна, но соответствующий SDK (ym, Jivo и т. п.) должен быть установлен на странице.
Названия действий вроде jivoOpenModal, jivoCustomData, carrotTrack, roiStatSendEvent, roiStatSetParam и callTouchSetParams — значения контракта, а не текст для перевода. Используйте то значение, которое вернул редактор или публичный API; не собирайте имя из человеческого описания.
Нативные действия
Встроенные модификации меняют HTML/текст и классы, работают с cookie, выполняют редирект или записывают user-scope и page-scope параметры. Им не нужен сторонний SDK.
Представление в Public REST
В management API модификации находятся в variants[].modifications[]; публичный контракт сейчас содержит actionJson, форма которого зависит от типа действия. Это публичное поле, но не универсальный «JSON любой формы»: берите точную структуру из ответа текущей сущности и справки конкретного типа. Внутренние DTO, поля редактора и выдуманные параметры не являются частью REST-контракта.