API usersplit

Совет

Для работы с API usersplit требуются навыки разработчика. Если вы не обладаете такими навыками, обратитесь к разработчику или вебмастеру вашего сайта.

API usersplit служит для подключения Varioqub к вашему сайту.

Формат запроса

GET https://uaas.yandex.ru/v1/exps
  ? [client_id=<String>]
  & [url=<String>]
  & [i=<String>]
  & [client_features=<String>]
  & [cuid=<String>]

client_id

Идентификатор пользователя Метрики. Формат: metrika.{counter_id}. Где {counter_id} — это номер счетчика Метрики. Как найти номер счетчика

url

Адрес страницы с GET-параметрами, на которой находится посетитель.

Если URL не передан, то Varioqub использует реферер из заголовков, но реферер может не передаваться или передаваться не полностью. Поэтому рекомендуем всегда передавать URL.

i

Идентификатор посетителя сайта, хранящийся в first-party cookies. Должен быть выставлен в cookie _ymab_param по факту получения ответа. Может быть пустым при первом визите посетителя.

Рекомендуем передавать в каждом запросе к API. В первом запросе поле может быть пустым.

client_features

Сериализованный JSON-объект параметров пользователей*. Пример: {"param2": "value2", "param1": "value1"}.

cuid

Собственный идентификатор, который позволяет использовать в экспериментах свои пользовательские идентификаторы.

Для работы данной функциональности реализуйте на сайте передачу GET-параметра cuid, где значение параметра будет соответствовать идентификатору пользователя. Длина собственного идентификатора не должна превышать 30 символов.

Примечание

Также для разделения посетителей по выборкам используются Referer, User-Agent и X-Forwarded-For. Убедитесь, что они передаются корректно.

HEADERS:
Referer: {url}
User-Agent: {user-agent}
X-Forwarded-For: {user_ip}

где:

  • url — Адрес страницы с GET-параметрами, на которой находится посетитель.

  • user-agent — User Agent посетителя сайта.

  • user_ip — IP-адрес посетителя сайта.

Формат ответа

JSON

{
    "i":"{i}",
    "experiments":"{experiments}",
    "testids": [
        {testid.1},
        ...
        {testid.n}
    ],
    "flags":
    [
        {
            "n":"{flag.1}",
            "v":"{value.1}",
            "t":"{type.1}"
        },
        ...
        {
            "n":"{flag.n}",
            "v":"{value.n}",
            "t":"{type.n}"
        }
    ]
}

Название поля

Описание

i

Идентификатор посетителя сайта, хранящийся в first-party cookies. Должен быть выставлен в cookie _ymab_param по факту получения ответа. Может быть пустым при первом визите посетителя.

experiments

Технические данные для счетчика Метрики, возвращаются в зашифрованном виде. После получения передайте их в Метрику при инициализации счетчика или отдельным вызовом.

testids

Массив идентификаторов вариантов, в которые попал запрос.

Значение отображается при использовании расширенной версии Varioqub. В базовой версии массив пустой.

flags

Массив флагов, которые определяют экспериментальные изменения. Состоит из пар {flag.N}:{value.N}. Уникальность флагов в массиве не гарантируется и зависит от конфигурации экспериментов.

t

Тип флага (type). Может иметь тип данных flag.

n

Имя флага (name).

v

Значение флага (value).

Примечание

Формат ответа может содержать дополнительные поля. При обработке ответа используйте только те, которые нужны для работы с API.

Пример ответа:

{
    "i":"7ASX7O3PO+SD4f30Y1GqkUEVIgyJ+lqpl9teI7DtiRQTGlsMT8VszxKsrU/2D5+mTTJviiKIv2/2
obmd4t7fGkefkfY=",
    "experiments":"JjfiHndoV8s",
    "flags":
    [
        {
            "n":"flag_name",
            "v":"value",
            "t":"flag"
        }
    ],
     "testids": [
        1234,
        4567
    ],
}

Передача технических данных в Метрику

Для передачи технических данных используйте метод experiments. Метод можно вызывать при инициализации счетчика или отдельно.

ym(XXXXXX, 'experiments', experiments);
Параметр Тип Описание
experiments String Технические данные для Метрики, например, данные об используемых в эксперименте вариантах и т. д. Возвращаются в зашифрованном виде после вызова метода API usersplit.
Написать в службу поддержки

Обязательный параметр

Идентификатор пользователя Метрики. Формат: metrika.{counter_id}. Где {counter_id} — это номер счетчика Метрики. Как найти номер счетчика

Адрес страницы с GET-параметрами, на которой находится посетитель.

Если URL не передан, то Varioqub использует реферер из заголовков, но реферер может не передаваться или передаваться не полностью. Поэтому рекомендуем всегда передавать URL.

Идентификатор посетителя сайта, хранящийся в first-party cookies. Должен быть выставлен в cookie _ymab_param по факту получения ответа. Может быть пустым при первом визите посетителя.

Рекомендуем передавать в каждом запросе к API. В первом запросе поле может быть пустым.

Чтобы использовать в эксперименте, подключите расширенную версию.

Сериализованный JSON-объект параметров пользователей. Пример: {"param2": "value2", "param1": "value1"}.

Собственный идентификатор, который позволяет использовать в экспериментах свои пользовательские идентификаторы.

Для работы данной функциональности реализуйте на сайте передачу GET-параметра cuid, где значение параметра будет соответствовать идентификатору пользователя.