targetingLogic

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

  1. Формат запроса
  2. Формат ответа
  3. Параметры ответа
  4. Другие действия с объектом

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

https://api.adfox.ru/v1/API.php
 ? loginAccount=<string>
 & loginPassword=<string>
 & object=campaign
 & action=targetZone
 & actionObject=targetingLogic
 & objectID=<integer>
 & zoneID=<integer>
 & isRedefined=<integer>
 & isEnabled=<integer>
 & [blocks=<json>]
Query-параметры
objectID *ID объекта, над которым производится действие.
zoneID *

ID раздела сайта.

isRedefined *

Переопределить таргетирование.

Возможные значения:

  • 0 — наследовать настройки таргетирования, установленные на уровне выше. Иерархия уровней от верхнего к нижнему:
    • кампания;
    • размещение кампании на сайте;
    • размещение кампании на разделе сайта;
    • размещение кампании на площадке;
    • баннер.
  • 1 — отменить настройки таргетирования на более высоких уровнях и использовать настройки, установленные на текущем уровне.
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

Статус обработки запроса. Расшифровку смотрите в разделе Обработка ошибок.

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

Запрос:

https://api.adfox.ru/v1/API.php?loginAccount={your_login}&loginPassword={sha256_your_password}&object=campaign&action=targetZone&actionObject=targetingLogic&objectID=474205&isRedefined=1&zoneID=123&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: