Шаг 1. Подключение Сплиттера
Взаимодействие с платформой происходит через API Сплиттера. Основной цикл: получение флагов -> применение логики -> подтверждение показа (Exposure).
Получение фичей (getFeaturesByTag)
Метод getFeaturesByTag возвращает список экспериментов и вариантов для пользователя.
Используйте tag для фильтрации (например, product_page).
Пример запроса
curl -X POST "https://<YOUR_HOST>/getFeaturesByTag/" \
-H "Authorization: Bearer <YOUR_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"tag": "product_page",
"platform": { "id": 1, "version": "1.0.0" },
"participant": { "userId": 12345 }
}'
Получите Host и Token у менеджера Trisigma.
Пример ответа
{
"result": {
"features": [
{
"experimentLabel": "buy_button_test",
"label": "red"
},
{
"experimentLabel": "algorithm_v2",
"label": "control"
}
]
}
}
Применение фичи
Проверьте label и измените код:
const response = await fetch('https://<YOUR_HOST>/getFeaturesByTag/', { ... });
const data = await response.json();
// Ищем нужную фичу в массиве
const experiment = data.result.features.find(
f => f.experimentLabel === 'buy_button_test'
);
let buttonColor = 'blue'; // Default (Control)
if (experiment && experiment.label === 'red') {
buttonColor = 'red'; // Test variant
}
renderButton(buttonColor);
Отправка подтверждения (exposeManyV2)
Зачем это нужно?
Метод getFeaturesByTag только отдает конфигурацию. Система еще не знает, увидел ли пользователь эксперимент.
Чтобы метрики считались корректно, вы должны отправить событие Exposure в момент фактического использования фичи (показа кнопки, применения алгоритма).