Javascript SDK
Общее описание
JavaScript SDK позволяет асинхронно взаимодействовать сайту с платформой Mindbox. Он интегрируется аналогично Google Analytics или Яндекс.Метрике, при этом не влияя на скорость загрузки сайта и работу трекеров.
Для работы с JavaScript SDK используется один объект "mindbox". Для вызова метода используется следующая конструкция: mindbox('methodName', methodParameters, ... )
methodParameters - объект с параметрами для метода. Набор параметров зависит от метода. С помощью данной конструкции можно вызывать методы в любом месте страницы после кода отслеживания. Если код JavaScript SDK еще не загружен, операции встанут в очередь и выполнятся, как только произойдет полная инициализация скрипта.
Domain API Mindbox
Это домен, по которому будет происходить обращение в API Mindbox.
Чтобы получить нужный домен для вашего проекта, сделайте следующее:
- Откройте админку проекта
- Перейдите в операции (Кампании - Операции)
- Откройте любую операцию
- Нажмите "Посмотреть описание"
- Возьмите домен из Url в спецификации

Не передавайте в этом поле адрес административного раздела
Так как JavaScript SDK может использовать различные поддомены на домене mindbox.ru, настройки сайта должны позволять использование кросс-доменных запросов (подробней можно прочитать здесь). Количество поддоменов и ip-адреса доменов не фиксируются, поэтому следует включать все поддомены в Content Security Policy директиву.
Инициализация
Code
Код отслеживания должен подключаться в самом верху страницы, до остальных вызовов JavaScript SDK.
Чтобы точка интеграции определялась по домену, необходимо добавить этот домен в ее настройках.
Получение deviceUUID
Метод позволяет получить уникальный идентификатор устройства (deviceUUID), который используется Mindbox для идентификации пользователей, и использовать его для вызова. Например, для интеграции с системами аналитики или для передачи на backend вашего сайта.
Code
Вызов операций
Code
Обязательно передавать только имя операции. Для некоторых операций данные не нужны. Нужно ли выполнять функции при успехе или ошибке, зависит от сайта.
Примеры
Code
Если сайт использует SPA (сменяет страницы без перезагрузки).
Для корректной работы форм персонализации сайта следует:
- Перед трекером Mindbox добавить тег
Code
- После смены страницы вызывать в JS
Code
Возможные ошибки
| Ошибка | Причина | Решение |
|---|---|---|
| 401 Unauthorized | Домен или поддомен не разрешен для использования трекера | Добавить домен или поддомен в список "Сайты с JavascriptSDK" в настройках точки интеграции с типом "Сайт" |
| Cross-Origin Request Blocked | Поддомен, который используется Javascript SDK для работы, был заблокирован настройками сайта. | Необходимо разрешить кросс-доменные запросы, либо добавить https://*.mindbox.ru в разрешенные зоны для кросс-доменных запросов |
| Refused to connect to 'https://....mindbox.ru/....' because it violates the following Content Security Policy directive: ... | Настройки сайта запрещают трекеру обращаться к api на одном из наших поддоменов. | Разрешить все для скриптов с https://*.mindbox.ru |
| Refused to load the script 'https://....mindbox.ru/....js' because it violates the following Content Security Policy directive: ... | Настройки сайта запрещают загружать трекер или его части из-за используемых ими возможностей браузера. | Разрешить все для скриптов с https://*.mindbox.ru |