Чтобы получить сообщения из загрузчика сообщений, нужно использовать команду messages/get_messages:
svc=messages/get_messages¶ms={"indexFrom":<uint>, "indexTo":<uint>, "timeFrom:"<uint>, "timeTo":<uint>, "filter":<text>, "flags":<uint>, "flagsMask":<uint>, "loadCount":<uint>}
Внимание! Использование данного запроса рассмотрено в примере Сообщения.
Название | Описание |
---|---|
indexFrom | индекс первого сообщения, которое будет получено |
indexTo | индекс последнего сообщения, которое будет получено |
timeFrom | начало интервала |
timeTo | окончание интервала |
filter | фильтр, поиск по «pos» и «p» |
flags | флаги (см.здесь) |
flagsMask | маска (см.здесь) |
loadCount | количество сообщений, которое будет возвращено (0xffffffff - все найденные) |
Логика метода расширена: вы можете пользоваться как старой версией indexFrom/indexTo, так и новыми:
- timeFrom/timeTo (определяем время начала и время конца сообщений);
- timeFrom/loadCount (определяем время начала сообщений, выведет loadCount последних сообщений);
- timeTo/loadCount (определяем время окончания сообщений, выведет loadCount последних сообщений).
К любому варианту логики применим фильтр «filter». Поиск осуществляется по «pos» и «p» параметрам. Даже если в полученных сообщениях нет указанных параметров, минимальная базовая информация всё равно предоставляется («t»,«f»,«tp»,«i»,«o»).
Пример ответа:
{ "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 } }] }
Пример поиска:
"filter":"pos.x,p.pre*,p.param?"
Результат после наложения фильтра:
{ "count": 1, "messages": [{ "t": 1426233861, "f": 7, "tp": "ud", "pos": { "x": 27.4470783333 }, "i": 0, "o": 0, "p": { "pre2": 123, "param5": 43 } }] }
На выходе увидим значения pos.x, значения параметров в объекте pos, начинающихся с «pre», значения параметров в объекте pos, начинающихся с «param» и имеющих ещё один символ в конце (к примеру param1, но param не подойдёт). Число точных параметром через запятую неограничено. * – замена 0 или более символов, ? - замена одного символа.
{ "count": <uint>, "messages": [ /* массив сообщений */ { ... }, /* сообщение */ { ... } /* сообщение */ ] }
Форматы сообщений рассмотрены в разделе Форматы данных: Сообщения.
|