Чтобы загрузить, а затем работать с сообщениями в сессии есть встроенный объект – загрузчик сообщений. В него можно загружать сообщения используя команду messages/load_last или messages/load_interval и дальше работать с ними, если требуется загрузить другие сообщения, то предварительно нужно очистить загрузчик при помощи команды messages/unload.
Загрузим сообщения с данными о местоположении объекта за интервал с 01.04.2013 по 20.04.2013 при помощи запроса messages/load_interval и получим первые 3 из них. Для того, чтобы запросить только сообщения с местоположением, следует использовать маску 0xFF01 (65281) (0xFF00 (65280) - определяет тип сообщения, 0x0001 (1) - определяет наличие информации о местоположении для сообщений с данными). Так же необходимо использовать флаг 0x0001 (1), который получается из суммы флагов: 0x0000 (0) - сообщения с данными, 0x0001 (1) - сообщения с местоположением.
https://hst-api.wialon.com/wialon/ajax.html?svc=messages/load_interval& params={ "itemId":34868, "timeFrom":1364760000, "timeTo":1366487999, "flags":1, "flagsMask":65281, "loadCount":3 }&sid=<your_sid>
Результат выполнения:
{ "count": 9172, "messages": [{ "t": 1364760081, "f": 3, "tp": "ud", "pos": { "y": 53.8396544, "x": 27.5608672, "z": 213, "s": 0, "c": 51, "sc": 9 }, "i": 0, "p": { "param22": 3, "adc1": 12.606, "pwr_ext": 12.598, "param199": 0, "param241": 25701, "battery_charge": 0 } }, { "t": 1364760381, "f": 3, "tp": "ud", "pos": { "y": 53.8396544, "x": 27.5609312, "z": 213, "s": 0, "c": 73, "sc": 9 }, "i": 0, "p": { "param22": 3, "adc1": 12.545, "pwr_ext": 12.547, "param199": 0, "param241": 25701, "battery_charge": 0 } }, { "t": 1364760682, "f": 3, "tp": "ud", "pos": { "y": 53.8396736, "x": 27.5609664, "z": 215, "s": 0, "c": 64, "sc": 9 }, "i": 0, "p": { "param22": 3, "adc1": 12.6, "pwr_ext": 12.569, "param199": 0, "param241": 25701, "battery_charge": 0 } }] }
После того как сообщения загружены, можно выбрать их произвольное количество для дальнейшей обработки. Например, выберем девятое сообщение из загруженного интервала при помощи запроса messages/get_messages:
https://hst-api.wialon.com/wialon/ajax.html?svc=messages/get_messages& params={ "indexFrom":8, "indexTo":9 }&sid=<your_sid>
Результат выполнения:
[{ "t": 1364762485, "f": 3, "tp": "ud", "pos": { "y": 53.8396992, "x": 27.5609216, "z": 223, "s": 0, "c": 45, "sc": 7 }, "i": 0, "p": { "param22": 3, "adc1": 12.584, "pwr_ext": 12.569, "param199": 0, "param241": 25701, "battery_charge": 0 } }]
Теперь попробуем удалить первое сообщение при помощи запроса messages/delete_message:
https://hst-api.wialon.com/wialon/ajax.html?svc=messages/delete_message& params={ "msgIndex":0 }&sid=<your_sid>
Результат выполнения:
{ "error": 7 }
Пользователь wialon_test не может удалять сообщения. При удачном выполнении этот запрос возвращает пустой объект:
{}
Если возникла необходимость загрузить сообщения за другой интервал, то перед выполнением запроса нужно очистить загрузчик сообщений:
https://hst-api.wialon.com/wialon/ajax.html?svc=messages/unload¶ms={}&sid=<your_sid>
Результат выполнения:
{}
Если попытаться выполнить запрос сообщений из пустого загрузчика сообщений, то вернется код ошибки:
https://hst-api.wialon.com/wialon/ajax.html?svc=messages/get_messages& params={ "indexFrom":0, "indexTo":1 }&sid=<your_sid>
Результат выполнения:
{"error":4}
Так же Wialon дает возможность не просто загрузить сообщения, но и построить трек по этим сообщениям. Для этого нужно загрузить сообщения в специальный графический слой. Слой треков можно использовать так же как и загрузчик сообщений, единственное отличие между ними - это графическая составляющая.
Создадим слой треков по сообщениям, полученным с 01.01.2013 по 20.01.2013 при помощи запроса render/create_messages_layer:
https://hst-api.wialon.com/wialon/ajax.html?svc=render/create_messages_layer& params={ "layerName":"messages", "itemId":34868, "timeFrom":1357938000, "timeTo":1358715599, "tripDetector":1, "trackColor":"cc713cff", "trackWidth":5, "arrows":1, "points":0, "pointColor":0, "annotations":0 }&sid=<your_sid>
Результат выполнения:
{ "name": "messages", "bounds": [53.8326976, 27.2796096, 53.9644416, 27.6123168], "units": [{ "id": 34868, "msgs": { "count": 5951, "first": { "time": 1356984476, "lat": 53.9077377319, "lon": 27.5011463165 }, "last": { "time": 1358538957, "lat": 53.8397254944, "lon": 27.5608959198 } }, "mileage": 699169.703025, "max_speed": 118 }] }
Загруженные сообщения можно просмотреть или удалить, так же можно получить тайлы графического слоя при помощи запроса avl_render:
https://hst-api.wialon.com/adfurl1/avl_render/590_329_7/<your_sid>.png
Результат выполнения: