Добавить сегмент
Описание
Добавить новый сегмент.
URL-адрес
Метод: POST
https://example.com/api/v1.1/segments/add/
Параметры запроса
| Параметр | Тип | Пример | Обязательный | Описание |
|---|---|---|---|---|
| token | string | "abcdefghijklmnqrstuvwxyz" | Да | API-токен |
| format | string | "json" | Нет | Формат возвращаемых данных (по умолчанию – "json") |
| name | string | "New segment" | Да | Название сегмента |
| list_id | int | 5 | Да, для статических сегментов | Идентификатор базы данных, из которой будут взяты профили. Для динамических и обновляемых сегментов указывается внутри массива segment |
| segment | JSON array | Да, для динамических и обновляемых сегментов | Условия сегментации. Массив должен содержать хотя бы один объект. Не используется для статических сегментов. | |
| is_refresh_daily | bool | true | Нет | Флаг активации расписания сегмента. По умолчанию false. Используется только для обновляемых сегментов. |
Тип сегмента определяется сочетанием параметров:
is_staticравенfalse— сегмент динамическийis_staticравенtrueи отсутствуют условия — сегмент статическийis_staticравенtrueи присутствуют условия — сегмент обновляемый. Активность расписания определяется параметромis_refresh_daily
Параметры массива segment
| Параметр | Тип | Пример | Обязательный | Описание |
|---|---|---|---|---|
| condition | string | "and" | Да | Логическое условие объединения запросов. Возможные значения: and, or |
| limit | int | 0 | Нет | Ограничение количества профилей в сегменте (0 - без ограничений) |
| list_id | int | 2 | Да | Идентификатор базы данных |
| percent_from | int | 0 | Нет | Начало диапазона процентов выборки (0-99) |
| percent_to | int | 99 | Нет | Конец диапазона процентов выборки (1-100) |
| queries | JSON array | - | Да | Массив условий фильтрации |
Параметры объекта queries
Объект, входящий в состав массива queries.
| Параметр | Тип | Пример | Обязательный | Описание |
|---|---|---|---|---|
| compo | string | "default" | Да | Источник значения для сравнения |
| name | string | "_sex", "_region" | Да | Имя поля для фильтрации |
| operator | string | "equal" | Да | Оператор сравнения. Доступные значения зависят от типа поля. |
| type | string | "enum" | Да | Тип поля |
| value | array | [ { "name": "default", "value": 2 } ] | Да | Значение для фильтрации. Формат зависит от типа поля. |
Пример запроса
Для статического сегмента
- JSON
- XML
{
"name": "Static segment",
"is_static": true,
"list_id": 5,
"is_refresh_daily": false,
"token": "abcdefghijklmnqrstuvwxyz"
}
<xml>
<list_id>5</list_id>
<name>Static segment</name>
<is_static>true</is_static>
<is_refresh_daily>false</is_refresh_daily>
<token>abcdefghijklmnqrstuvwxyz</token>
</xml>
Для динамического сегмента
- JSON
- XML
{
"name": "Dynamic segment",
"is_static": false,
"segment": [
{
"condition": "or",
"limit": 0,
"list_id": 2,
"percent_from": 0,
"percent_to": 99,
"queries": [
{
"compo": "default",
"name": "_sex",
"operator": "equal",
"type": "enum",
"value": [
{
"name": "default",
"value": 1
}
]
},
{
"compo": "default",
"name": "_sex",
"operator": "equal",
"type": "enum",
"value": [
{
"name": "default",
"value": 2
}
]
}
]
}
],
"token": "abcdefghijklmnqrstuvwxyz"
}
<xml>
<name>Dynamic segment</name>
<is_static>false</is_static>
<segment>
<condition>or</condition>
<limit>0</limit>
<list_id>2</list_id>
<percent_from>0</percent_from>
<percent_to>99</percent_to>
<queries>
<compo>default</compo>
<name>_sex</name>
<operator>equal</operator>
<type>enum</type>
<value>
<name>default</name>
<value>1</value>
</value>
</queries>
<queries>
<compo>default</compo>
<name>_sex</name>
<operator>equal</operator>
<type>enum</type>
<value>
<name>default</name>
<value>2</value>
</value>
</queries>
</segment>
<token>abcdefghijklmnqrstuvwxyz</token>
</xml>
Для обновляемого сегмента
- JSON
- XML
{
"name": "Updatable segment",
"is_static": true,
"is_refresh_daily": true,
"segment": [
{
"condition": "or",
"limit": 0,
"list_id": 2,
"percent_from": 0,
"percent_to": 99,
"queries": [
{
"compo": "default",
"name": "_sex",
"operator": "equal",
"type": "enum",
"value": [
{
"name": "default",
"value": 1
}
]
},
{
"compo": "default",
"name": "_sex",
"operator": "equal",
"type": "enum",
"value": [
{
"name": "default",
"value": 2
}
]
}
]
}
],
"token": "abcdefghijklmnqrstuvwxyz"
}
<xml>
<name>Updatable segment</name>
<is_static>true</is_static>
<is_refresh_daily>true</is_refresh_daily>
<segment>
<condition>or</condition>
<limit>0</limit>
<list_id>2</list_id>
<percent_from>0</percent_from>
<percent_to>99</percent_to>
<queries>
<compo>default</compo>
<name>_sex</name>
<operator>equal</operator>
<type>enum</type>
<value>
<name>default</name>
<value>1</value>
</value>
</queries>
<queries>
<compo>default</compo>
<name>_sex</name>
<operator>equal</operator>
<type>enum</type>
<value>
<name>default</name>
<value>2</value>
</value>
</queries>
</segment>
<token>abcdefghijklmnqrstuvwxyz</token>
</xml>
Пример ответа
- JSON
- XML
{
"data": {
"saved_id": 1
},
"error": 0,
"error_text": "Successful operation"
}
<xml>
<data>
<saved_id>1</saved_id>
</data>
<error>0</error>
<error_text>Successful operation</error_text>
</xml>
Возвращаемые параметры
| Параметр | Тип | Описание |
|---|---|---|
| error | int | Код ошибки |
| error_text | string | Текст ошибки |
| saved_id | int | Идентификатор нового сегмента |