targetingLogic
Таргетировать кампанию с помощью логического выражения.
Формат запроса
https://adfox.yandex.ru/api/v1
? object=campaign
& action=target
& actionObject=targetingLogic
& objectID=<integer>
& isEnabled=<integer>
& [blocks=<json>]
|
|
ID объекта, над которым производится действие. |
|
|
Включить логическое таргетирование. Допустимые значения:
|
|
|
Применяется представление логического выражения в виде n-мерного дерева, отображенного в нерекурсивную (ссылки по ID вместо полного описания дочерних узлов) json-структуру вида:
Как видно, структура предусматривает версионность. Представление, приведенное в примере, соответствует версии 1. Дальнейшие изменения/расширения подразумеваются в последующих версиях. Каждый узел первой версии имеет четыре поля:
|
Формат ответа
<response>
<status>
<code>{integer}</code>
</status>
</response>
Параметры ответа
|
|
Статус обработки запроса. Значение |
Пример запроса и ответа
Запрос:
https://adfox.yandex.ru/api/v1?object=campaign&action=target&actionObject=targetingLogic&objectID=474205&isEnabled=1&blocks={"version":1,"nodes":[{"id":1,"type":1,"value":{"subnodes":[2,3]}},{"id":2,"type":3,"value":{"key":2,"values":[6382, 6399]},"invert":true},{"id":3,"type":3,"value":{"key":6,"values":[136699]}}]}Ответ:
<response> <status> <code>0</code> </status> </response>
Другие действия с объектом
Читайте также о других действиях с объектом campaign:
- добавить кампанию
- получить список кампаний;
- удалить кампанию;
- редактировать кампанию;
- получить список баннеров рекламной кампании;
- разместить кампанию на сайте, разделе, площадке.
ID объекта, над которым производится действие.
Включить логическое таргетирование.
Допустимые значения:
0— выключено, передавать параметр blocks необязательно;1— включено, параметр blocks является обязательным.
Применяется представление логического выражения в виде n-мерного дерева, отображенного в нерекурсивную (ссылки по ID вместо полного описания дочерних узлов) json-структуру вида:
{"version": 1,"nodes": [{"id": 1,"type": 2, "value":
{ "subnodes": [2, 5, 6] }}, {"id": 2,"type": 1, "value":
{ "subnodes": [3, 4] }}, {"id": 3,"type": 3, "value":
{ "key": 1, "values": [6, 7, 8] }}, {"id": 4,"type": 3,
"value": { "key": 1, "values": [4, 5] }}, {"id": 5,"type":
3, "value": { "key": 2, "values": [1] }}, {"id": 6,"type":
3,"invert": true, "value": { "key": 2, "values": [2] }}]}
{"version": 1,"nodes": [{"id": 1,"type": 2, "value":
{ "subnodes": [2, 5, 6] }}, {"id": 2,"type": 1, "value":
{ "subnodes": [3, 4] }}, {"id": 3,"type": 3, "value":
{ "key": 1, "values": [6, 7, 8] }}, {"id": 4,"type": 3,
"value": { "key": 1, "values": [4, 5] }}, {"id": 5,"type":
3, "value": { "key": 2, "values": [1] }}, {"id": 6,"type":
3,"invert": true, "value": { "key": 2, "values": [2] }}]}
Как видно, структура предусматривает версионность. Представление, приведенное в примере, соответствует версии 1. Дальнейшие изменения/расширения подразумеваются в последующих версиях.
Каждый узел первой версии имеет четыре поля:
-
id— ID узла в пределах дерева.Нумерация всегда начинается с 1. Узел с ID=
1всегда является корневым. -
invert— флаг инверсии.Способ задания логики НЕ. Применяется к результату вычисления узла целиком — в случае наличия дочерних узлов сначала вычисляются все дочерние.
-
type— ID типа содержимого узла:1— группирующий узел И;2— группирующий узел ИЛИ;3— узел проверки пользовательских полей (PUID).
Узлы типов И и ИЛИ фактически реализуют скобки, все дочерние узлы в которых объединены соответствующей операцией.
-
value— json-представление содержимого узла в виде ключа и его значений:key— ID пользовательской характеристики;values— массив ID значений пользовательской характеристики.
Пример
Характеристика со значениями: a (valueID=10), b (valueID=20), c (valueID=30).
{"key": 1, "values": [10,20,30]}Читайте также:
Обязательный параметр.