1

Получение информации о движении и топливе через API

Тема: Получение информации о движении и топливе через API

Добрый день!

Только знакомлюсь с Wialon. Мне нужно получить из внешней системы через api информацию о движении и топливе объекта за период.
Насколько я понимаю, прочитав API-документацию на этом сайте, мне проще всего вручную создать шаблон отчета, после чего выполнить команду report/exec_report. Подскажите, пожалуйста, я правильно мыслю или есть более простой способ?

Если направление правильное, подскажите, пожалуйста, по параметрам команды report/exec_report. Есть обязательный параметр "ID ресурса", какой ресурс имеется в виду? В справке я прочитал, что ресурсами могут быть, в частности, POI, геозоны, водители, прицепы, уведомления, задания. Из этого списка как-то подходят водители, но и те, в данном случае, ни к селу, ни к городу. Где узнать ID шаблона отчета? На хостинге не вижу, отдельный запрос для этого выполнять кажется неоптимальным.
Нашел на форуме ссылку на шаблоны отчетов: http://gurtam.com/files/report_template.wlp. Но пока непонятно, насколько они мне помогут.

Вот примерный список параметров, которые мне нужно получить:
- начало и окончание периода;
- время в движении и время остановок;
- время работы двигателя;
- пробег;
- средняя и максимальная скорость;
- объем топлива на начало и конец, расход (с учетом заправок).

Также интересует информация о заправках: начало и окончание, начальный и конечный объем топлива.

2

Получение информации о движении и топливе через API

Re: Получение информации о движении и топливе через API

Гаспар пишет:

Есть обязательный параметр "ID ресурса", какой ресурс имеется в виду? В справке я прочитал, что ресурсами могут быть, в частности, POI, геозоны, водители, прицепы, уведомления, задания. Из этого списка как-то подходят водители, но и те, в данном случае, ни к селу, ни к городу

Немного не так. Всё перечисленное является содержимым ресурса. Т.е. есть ресурсы, а внутри них отчёты. И у того, и у того есть идентификаторы.

Гаспар пишет:

Где узнать ID шаблона отчета? На хостинге не вижу, отдельный запрос для этого выполнять кажется неоптимальным.

Три варианта:

  • Сделать запрос core/search_items по avl_resource, откуда взять нужные идентификаторы
  • Хак: воспользоваться инструментами разработчика и посмотреть на идентификатор строки ресурса (он будет заканчиваться на два числа, вроде _6_142, где первое число — id ресурса, второе — id отчёта), пример в прикреплённой картинке
  • Вообще не вызывать существующий отчёт. Вызвать report/get_report_data, взять JSON, вызывать report/exec_report с reportTemplate, передавая туда JSON. ... хотя для report/get_report_data понадобится идентификатор

Получение информации о движении и топливе через API

После того, как отчёт будет выполнен, останется при помощи report/get_result_rows, report/get_result_subrows, report/select_result_rows забрать строки таблиц.

  • Получение информации о движении и топливе через API
3

Получение информации о движении и топливе через API

Re: Получение информации о движении и топливе через API

Спасибо большое, всё получилось!
С понятием ресурса помогла разобраться пользовательская документация: https://docs.wialon.com/ru/hosting/cms/ … /accounts.
Поиск ID ресурса и отчетов прошел без проблем через core/search_items/
Без запроса по строкам почти обошелся, настроив шаблон отчета по статистике, но потребовалась информация по заправкам, которых может быть несколько. Выбрал report/select_result_rows, т.к. стараюсь минимизировать количество запросов.

4

Получение информации о движении и топливе через API

Re: Получение информации о движении и топливе через API

Гаспар пишет:

Выбрал report/select_result_rows, т.к. стараюсь минимизировать количество запросов.

Чтобы совсем минимизировать, можно попробовать core/batch и оптимистично выполнять report/select_result_rows сразу же после report/exec_report.

Тогда вообще один запрос получится, ибо сервер гарантированно выполняет подзапросы по порядку.