Построение фильтров
Допустимые значения, которые отвечают за фильтрацию данных, приведены в параметре 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"]]]