Skip to main content

Node.js sdk

При создании экземпляра класса Sigma нужно передать параметры конфигурации.

token: string обязательный параметр, который можно получить из админ-панели при подключении проекта.

Объект userData: {} необязательный параметр. Объект с пользовательскими данными. SDK целиком и полностью полагаются на предоставленные данные (методы по раздаче эксперимента, фича-флагов и т.п.) Подробнее....

cacheTTL: number необязательный параметр. Метка времени (по умолчанию 10 секунд), указывает через какой промежуток времени обновить данные. Измеряется в секундах. Меньше 10 поставить нельзя, если указать число меньше 10, значение будет взято по умолчанию.

Полный пример:

const Sigma = require('expf-sigma-node.js').default;
const token = <TOKEN>;
const userData = {
userId: 'id',
email: 'example@email',
appVersion: '1.0.1',
ip: '70.123.12.84',
custom:{ cookieKey: '1', isActive: false }
};
const cacheTtl = 300;
const options = {
postfix: 'default',
};

const sigma = new Sigma(token, userData, cacheTtl, options);

Методы Sigma

sigmaсоздает экземпляр класса, настраивает параметры конфигурации
sigma.checkFlagвозвращает значение эксперимента по ФФ или значение фича флага
sigma.getExperimentопределяет группу в которую попал пользователь в эксперименте (не вызывается отдельно)
getParamValueвозвращает значение фича флага в экспериментах по параметрам
getFeatureValueвозвращает значение фича флага в экспериментах по фича флагам
sigma.getAllUserExperimentsвозвращает названия всех экспериментов и индекс группы в которую попал пользователь
sigma.editUserPropertiesпозволяет изменять или удалять свойства userData. Этот метод содержит цепочку вызовов, в которой необходимо вызывать следующий метод для выполнения операций над свойствами userData
sigma.clearUserPropertiesпозволяет удалить часть свойств userData

Все методы (кроме sigma.editUserProperties() sigma.clearUserProperties()) выполняются асинхронно. Сначала происходит проверка наличия конфига в хранилище. Если конфига нет, то он добавляется. Если конфиг уже существует, то происходит проверка временной метки последнего обновления конфига. При необходимости выполняется запрос и конфига обновляется. Это позволяет сократить количество запросов к API при использовании более чем одного метода Sigma в документе.