|
|
ru:local:remoteapi1604:apiref:messages:get_messages [17/03/2015 17:01] |
ru:local:remoteapi1604:apiref:messages:get_messages [17/03/2015 17:01] (текущий) |
| ====== Получить сообщения ====== |
| Чтобы получить сообщения из загрузчика сообщений, нужно использовать команду **messages/get_messages**: |
| <code javascript> |
| svc=messages/get_messages¶ms={"indexFrom":<uint>, |
| "indexTo":<uint>, |
| "timeFrom:"<uint>, |
| "timeTo":<uint>, |
| "filter":<text>, |
| "flags":<uint>, |
| "flagsMask":<uint>, |
| "loadCount":<uint>} |
| </code> |
| |
| //:!: Внимание!// Использование данного запроса рассмотрено в примере [[../../codesamples/messages]]. |
| |
| ===== Параметры ===== |
| ^ Название ^ Описание ^ |
| | indexFrom | индекс первого сообщения, которое будет получено | |
| | indexTo | индекс последнего сообщения, которое будет получено | |
| | timeFrom | начало интервала | |
| | timeTo | окончание интервала | |
| | filter | фильтр, поиск по "pos" и "p"| |
| | flags | флаги [[./load_interval|(см.здесь)]] | |
| | flagsMask | маска [[./load_interval|(см.здесь)]] | |
| | loadCount | количество сообщений, которое будет возвращено (0xffffffff - все найденные) | |
| :!: Логика метода расширена: вы можете пользоваться как старой версией **indexFrom/indexTo**, так и новыми:\\ |
| - **timeFrom/timeTo** (определяем время начала и время конца сообщений);\\ |
| - **timeFrom/loadCount** (определяем время начала сообщений, выведет loadCount последних сообщений);\\ |
| - **timeTo/loadCount** (определяем время окончания сообщений, выведет loadCount последних сообщений).\\ |
| К любому варианту логики применим фильтр "filter". Поиск осуществляется по "pos" и "p" параметрам. Даже если в полученных сообщениях нет указанных параметров, минимальная базовая информация всё равно предоставляется ("t","f","tp","i","o"). |
| |
| Пример ответа: |
| <code javascript> |
| { |
| "count": 1, |
| "messages": [{ |
| "t": 1426233861, |
| "f": 7, |
| "tp": "ud", |
| "pos": { |
| "y": 53.84541, |
| "x": 27.4470783333, |
| "z": 0, |
| "s": 25, |
| "c": 285, |
| "sc": 255 |
| }, |
| "i": 0, |
| "o": 0, |
| "p": { |
| "adc1": 0, |
| "pre2": 123, |
| "param": 24, |
| "param5": 43 |
| } |
| }] |
| } |
| </code> |
| Пример поиска: |
| <code javascript> |
| "filter":"pos.x,p.pre*,p.param?" |
| </code> |
| |
| Результат после наложения фильтра: |
| <code javascript> |
| { |
| "count": 1, |
| "messages": [{ |
| "t": 1426233861, |
| "f": 7, |
| "tp": "ud", |
| "pos": { |
| "x": 27.4470783333 |
| }, |
| "i": 0, |
| "o": 0, |
| "p": { |
| "pre2": 123, |
| "param5": 43 |
| } |
| }] |
| } |
| </code> |
| На выходе увидим значения pos.x, значения параметров в объекте pos, начинающихся с "pre", значения параметров в объекте pos, начинающихся с "param" и имеющих ещё один символ в конце (к примеру param1, но param не подойдёт). |
| Число точных параметром через запятую неограничено. * -- замена 0 или более символов, ? - замена одного символа. |
| |
| ===== Возвращаемый результат ===== |
| <code javascript> |
| { |
| "count": <uint>, |
| "messages": [ /* массив сообщений */ |
| { ... }, /* сообщение */ |
| { ... } /* сообщение */ |
| ] |
| } |
| </code> |
| |
| Форматы сообщений рассмотрены в разделе [[../format/messages | Форматы данных: Сообщения]]. |
| |