Построение фильтров

Допустимые значения, которые отвечают за фильтрацию данных, приведены в параметре filters операции GET/resources. К значениям применяют операторы SQL.

По использованию операторов SQL есть ограничения. Эти ограничения связаны с типами данных, которые используются в значениях:

Оператор "=" (равно)

Используется для массивов и скалярных значений.

Значение оператора

Формирует результат запроса по указанному значению параметра.

Типы параметров, с которыми работает оператор:

  • boolean;

  • contractnumber;

  • dictionary;

  • domain_mirror;

  • login;

  • multistate;

  • number;

  • publicid;

  • straight_number;

  • text;

  • tree.

Пример записи

Необходимо вывести RTB-блоки, которые находятся в статусе «Работает»:

filter=["multistate","=","working"]

где multistate — название параметра, working — идентификатор значения параметра.

Оператор "<>" (не равно)

Используется для массивов и скалярных значений.

Значение оператора

Из результата запроса исключается заданное значение параметра.

Типы параметров, с которыми работает оператор:

  • dictionary;

  • domain_mirror;

  • login;

  • multistate;

  • number;

  • publicid;

  • straight_number;

  • text;

  • tree.

Пример записи

Необходимо вывести RTB-блоки, исключая блоки, которые находятся в статусе «Работает»:

filter=["multistate","<>","working"]

где multistate — название параметра, working — идентификатор значения параметра.

Оператор "IN" (входит в)

Используется для массивов и скалярных значений.

Значение оператора

Формирует результат запроса по указанным значениям параметра.

Типы параметров, с которыми работает оператор:

  • contractnumber;

  • domain_mirror;

  • login;

  • number;

  • publicid;

  • straight_number;

  • text.

Пример записи

Необходимо отфильтровать данные по page_id тематических площадок, которые входят в указанный список:

filter=["page_id","IN",["41443","42630"]]

где page_id — название параметра, 41443, 42630 — значение параметра.

Оператор ">" (больше)

Используется для скалярных значений.

Значение оператора

Формирует результат запроса по значениям параметра, которые больше указанного.

Типы параметров, с которыми работает оператор:

  • number;

  • straight_number.

Пример записи

Необходимо отфильтровать данные по page_id тематических площадок, которые больше указанного значения:

filter=["page_id",">","53100"]

где page_id — название параметра, 53100 — значение параметра.

Оператор "<" (меньше)

Используется для скалярных значений.

Значение оператора

Формирует результат запроса по значениям параметра, которые меньше указанного.

Типы параметров, с которыми работает оператор:

  • number;

  • straight_number.

Пример записи

Необходимо отфильтровать данные по page_id тематических площадок, которые меньше указанного значения:

filter=["page_id","<","53100"]

где page_id — название параметра, 53100 — значение параметра.

Оператор ">=" (больше или равно)

Используется для скалярных значений.

Значение оператора

Формирует результат запроса по значениям параметра, которые больше указанного значения или равны ему.

Типы параметров, с которыми работает оператор:

  • number;

  • straight_number.

Пример записи

Необходимо отфильтровать данные по page_id тематических площадок, которые больше указанного значения или равны ему:

filter=["page_id",">=","53100"]

где page_id — название параметра, 53100 — значение параметра.

Оператор "<=" (меньше или равно)

Используется для скалярных значений.

Значение оператора

Формирует результат запроса по значениям параметра, которые меньше указанного значения или равны ему.

Типы параметров, с которыми работает оператор:

  • number;

  • straight_number.

Пример записи

Необходимо отфильтровать данные по page_id тематических площадок, которые меньше указанного значения или равны ему:

filter=["page_id","<=","53100"]

где page_id — название параметра, 53100 — значение параметра.

Оператор "NOT IN" (не входит в)

Используется для массивов и скалярных значений.

Значение оператора

Формирует результат запроса по значениям параметра, которые не входят в указанный список.

Типы параметров, с которыми работает оператор:

  • domain_mirror;

  • login;

  • number;

  • publicid;

  • straight_number;

  • text.

Пример записи

Необходимо отфильтровать данные по page_id тематических площадок, которые не входят в указанный список:

filter=["page_id","NOT IN",["53100","53101"]]

где page_id — название параметра, 53100, 53101 — значения параметра.

Оператор "LIKE" (входит в указанную подстроку)

Значение оператора

Формирует результат запроса по значениям параметра, которые входят в указанную подстроку.

Типы параметров, с которыми работает оператор:

  • domain_mirror;

  • login;

  • text.

Пример записи

Необходимо отфильтровать данные по названию сайта, которое входит в указанное значение:

filter=["domain","LIKE","aliexpress"]

где domain — название параметра, aliexpress — значение параметра. Текущая запись эквивалентна записи domain LIKE '%aliexpress%' в SQL.

Оператор "NOT LIKE" (не входит в указанную подстроку)

Используется для скалярных значений.

Значение оператора

Формирует результат запроса по значениям параметра, которые не входят в указанную подстроку.

Типы параметра, с которыми работает оператор:

  • domain_mirror;

  • login;

  • text.

Пример записи

Необходимо отфильтровать данные по названию сайта, которое не входит в указанное значение:

filter=["domain","NOT LIKE","aliexpress"]

где domain — название параметра, aliexpress — значение параметра.

Оператор "AND" (и)

Значение оператора

Используется для объединения фильтров.

Пример записи

Необходимо отфильтровать данные по названию сайта и по page_id тематической площадки. У нас есть два фильтра:

filter=["domain","=","aliexpress"]
filter=["page_id","=","53100"]

Объединяем два фильтра в один:

filter=["AND",[["domain","=","aliexpress"],["page_id","=","53100"]]]
Оператор "OR" (или)

Значение оператора

Используется для выполнения хотя бы одного из перечисленных фильтров.

Пример записи

Необходимо отфильтровать данные по названию сайта или по page_id тематической площадки. У нас есть два фильтра:

filter=["domain","=","aliexpress"]
filter=["page_id","=","53100"]

Объединяем два фильтра в один:

filter=["OR",[["domain","=","aliexpress"],["page_id","=","53100"]]]