targetingLogic

Таргетировать кампанию с помощью логического выражения.

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

https://adfox.yandex.ru/api/v1
  ? object=campaign
  & action=target
  & actionObject=targetingLogic
  & objectID=<integer>
  & isEnabled=<integer>
  & [blocks=<json>]

objectID*

ID объекта, над которым производится действие.

isEnabled*

Включить логическое таргетирование.

Допустимые значения:

  • 0 — выключено, передавать параметр blocks необязательно;
  • 1 — включено, параметр blocks является обязательным.

blocks

Применяется представление логического выражения в виде n-мерного дерева, отображенного в нерекурсивную (ссылки по идентификаторам вместо полного описания дочерних узлов) 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 — уникальный идентификатор узла в пределах дерева.

    Нумерация всегда начинается с 1 и узел с идентификатором 1 всегда является корневым.

  • invert — флаг инверсии.

    Способ задания логики not. Применяется к результату вычисления узла целиком - в случае наличия дочерних узлов сначала вычисляются все они.

  • type — идентификатор типа содержимого узла:

    • 1 — Группирующий узел И;
    • 2 — Группирующий узел ИЛИ;
    • 3 — Узел проверки пользовательских полей (PUID'ов).

    Узлы типов logic_and и logic_or фактически реализуют скобки, все дочерние узлы в которых объединены соответствующей операцией.

  • value — json-представление содержимого узла в виде ключа и его значений. Ключ "key" — идентификатор пользовательской характеристики.

    Значения "values" — массив идентификаторов значений пользовательской характеристики.

    Пример: характеристика #1 со значениями: a (valueID=10), b (valueID=20), c (valueID=30).

    {"key": 1, "values": [10,20,30]}

    Читайте также:

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

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

<response>
<status>
  <code>{integer}</code>
</status>
</response>

Параметры ответа

code

Статус обработки запроса. Значение 0 — запрос выполнен успешно. Расшифровку смотрите в разделе Обработка ошибок.

Пример запроса и ответа

Запрос:

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:

Предыдущая
Следующая