Search Queries

The information is not available in your language.

Некоторые методы BYTEHAND API позволяют задавать условия подсчёта, поиска, изменения и удаления объектов с помощью специального языка. В этом руководстве они помечены как "поддерживающие семантику поисковых запросов". Кроме того, подобные методы для подсчёта и поиска объектов возвращают дополнительную информацию в заголовках ответа.

Язык запросов

Для задания условий поиска используется специальный язык запросов. Обычно при вызове метода BYTEHAND API условия поиска передаются через HTTP параметр запроса query.

Поля, которые можно использовать в условиях поиска, определяются типом объектов и совпадают с названиями его полей.

ОператорОписаниеПримеры
text Поиск объектов, у которых важные поля содержат значение text. Если значение состоит из нескольких слов, то каждое слово ищется отдельно, а результаты поиска будут содержать объекты, в которых есть все слова. Важные поля для поиска определяются типом объектов. Заказ принят
"text" Поиск объектов, у которых важные поля содержат значение text. Значение ищется целиком и не разбивается на отдельные слова. Важные поля для поиска определяются типом объектов. "Заказ принят"
field:value Поиск объектов, у которых поле field содержит значение value. Значение можно заключить в двойные кавычки.

id:398453812751341541

text:"Заказ принят"

state:delivered

field=value

field!=value

field>value

field>=value

field<value

field<=value

Поиск объектов, у которых результат сравнения поля field и значения value является истиной. Значение можно заключить в двойные кавычки. Если поле содержит дату и время, то для значения допускается использовать любые форматы даты и времени.

from=bytehand

state!=new

price>1

posted_at>=-1day

field:id1,id2... Поиск объектов, у которых поле field имеет одно из перечисленных значений. Значение можно заключить в двойные кавычки. Этот оператор можно использовать только с полями, являющимися идентификаторами объектов.

id:41,42,43

id:"41, 42, 43"

field

field:

Поиск объектов, у которых значение поля field не пустое.text:
-queryИспользуется для исключения условия query из результатов поиска.

акция -код

-text:"Заказ принят"

-price:

query1 or query2

query1 || query2

query1 | query2

Поиск, соответствующий условию query1 или условию query2.

text:код or text:code

query1 and query2

query1 && query2

query1 & query2

Поиск, соответствующий условию query1 и условию query2. По умолчанию все части запроса объединяются с таким условием.

from:bytehand and text:code

код code

(query) Используется для группировки условий поиска.from:bytehand and (text:код or text:code)

Подсчёт объектов

Поисковые методы, которые вызываются с помощью HTTP метода HEAD, подсчитывают количество объектов, удовлетворяющих заданному условию поиска.

При успешном выполнении запроса возвращается пустой ответ, информация о количестве объектов передаётся в заголовках HTTP ответа.

ЗаголовокОписаниеПример
Content-Range Количество найденных объектов в формате type */count. Sms */518

Если объекты не найдены, возвращается ответ с HTTP статусом 404 и объект типа ErrorResponse с кодом 4000 и ошибкой no_results_found.

Поиск объектов

Поисковые методы, которые вызываются с помощью HTTP метода GET, возвращают массив объектов, удовлетворяющих заданному условию поиска.

В заголовках HTTP ответа возвращаются дополнительные данные.

ЗаголовокОписаниеПримеры
Content-Range

Количество найденных объектов в формате type first-last/count.

Если указывалось не подсчитывать общее количество объектов, удовлетворяющих поисковому запросу, то count будет иметь значение *.

Sms 0-9/518

Sms 0-9/*

Link

Ссылки на следующую, предыдущую, первую и последнюю страницы поиска (если таковые есть). Используйте для навигации по результатам поиска, в соответствии с RFC-5988.

<campaigns/99/ads?page=2>; rel="next", <campaigns/99/ads?page=52>; rel="last"

Если объекты не найдены, возвращается ответ с HTTP статусом 404 и объект типа ErrorResponse с кодом 4000 и ошибкой no_results_found.

Изменение объектов

Поисковые методы, которые вызываются с помощью HTTP методов PATCH или PUT, позволяют изменять поля объектов, удовлетворяющих заданному условию поиска.

При успешном выполнении запроса обычно возвращается объект типа Response с результатом updated и количеством изменённых объектов.

Если объекты не были найдены и/или изменены, возвращается ответ с HTTP статусом 404 и объект типа ErrorResponse с кодом 4003 и ошибкой nothing_to_update.

Удаление объектов

Поисковые методы, которые вызываются с помощью HTTP метода DELETE, позволяют удалять объекты, удовлетворяющие заданному условию поиска.

При успешном выполнении запроса обычно возвращается объект типа Response с результатом deleted и количеством удалённых объектов.

Если объекты не были найдены и/или изменены, возвращается ответ с HTTP статусом 404 и объект типа ErrorResponse с кодом 4002 и ошибкой nothing_to_delete.