Найти сообщения и чаты по всему аккаунту.
Раздел API: Сообщения
messages.searchGlobal#4bc6589a flags:# broadcasts_only:flags.1?true groups_only:flags.2?true users_only:flags.3?true folder_id:flags.0?int q:string filter:MessagesFilter min_date:int max_date:int offset_rate:int offset_peer:InputPeer offset_id:int limit:int = messages.Messages;
| Поле | Тип | Описание |
|---|---|---|
| flags | # | Битовая маска: поле вида flags.N?T присутствует, только если поднят бит N. |
| broadcasts_only | flags.1?true | |
| groups_only | flags.2?true | |
| users_only | flags.3?true | |
| folder_id | flags.0?int | Номер папки: 0 — основной список, 1 — архив. |
| q | string | Поисковый запрос. |
| filter | MessagesFilter | Фильтр выборки. |
| min_date | int | |
| max_date | int | |
| offset_rate | int | |
| offset_peer | InputPeer | Собеседник, с которого продолжать выборку. |
| offset_id | int | Идентификатор, с которого продолжать выборку. |
| limit | int | Сколько записей вернуть максимум. |
Своих ошибок у этого метода нет: он либо отвечает, либо падает на общих проверках ниже.
| Код | Тип | Что это значит |
|---|---|---|
| 401 | AUTH_KEY_UNREGISTERED |
Сессия неизвестна серверу: ключ отозван, устарел или вызов сделан до авторизации. |
| 401 | API_ID_INVALID |
api_id не выдавался или заблокирован. Ключи выдаёт my.ansible.su. |
| 400 | CONNECTION_LAYER_INVALID |
Клиент не сообщил слой или сообщил слой, которого сервер не знает. |
| 420 | FLOOD_WAIT_X |
Слишком часто. Повторить не раньше чем через X секунд — число приходит в тексте ошибки. |
| 500 | INTERNAL |
Ошибка на нашей стороне. Запрос можно повторить; если повторяется — это баг у нас. |
Этот вызов считается тяжёлым: его стоимость растёт вместе с объёмом данных, поэтому под пиковой нагрузкой он проходит через контроль допуска и может ответить
FLOOD_WAITтам, где лёгкие вызовы проходят всегда. Ретраи стоит строить с выдержкой.