Python-библиотека для работы с API Wialon
Среди систем управления автопарками Wialon занимает, пожалуй, лидирующее место. Одним из его достоинств является развитая функциональность API — практически любые действия можно реализовать с помощью вызовов соответствующих запросов.

В то же время, богатый выбор функций может поставить разработчика в затруднительное положение, когда надо, например, всего лишь получить набор некоторых данных.
Именно в таком положении оказались и мы, когда начали работать с API. Очень много параметров, детальная и в то же время немногословная документация — все это заставило нас приложить определенные усилия на начальном этапе. Большое количество параметров заставляли нас обращаться в техподдержку, и следует отметить, поддержка Wialon работает очень хорошо.
С целью облегчить себе работу по работе с API Wialon мы написали небольшую Python библиотеку, которую хотели бы иметь сами.
В библиотеке названной Wialonpy были реализованы вызовы самых часто используемых нами запросов. В нашем случае, как правило, работа с API сводится к необходимости получать данные из заранее сформированных отчетов. Затем эти данные проходят обработку на стороне сервера и заказчик получает отчет в нужном ему виде.
Коротко расскажем об этих функциях.
get_session_eid — возвращает ключ сессии, который затем используется в каждом запросе.
get_wialon_object_id — возвращает ID объекта, который будет использован в дальнейших запросах. Как правило отчеты строятся по какой-либо группе юнитов, соответственно необходимо получить ID этой группы. При запросе необходимо указать имя желаемой группы.
get_wialon_report_id — возвращает ID отчета по его имени.
get_wialon_units — возвращает список юнитов с их ID.
wialon_exec_report — формирует отчет на стороне сервера при наличии ID группы, отчета и ключа сессии.
wialon_select_result — получает данные из сформированного на стороне сервера отчета. Обычно отчеты формируются за 1–2 месяца и содержат 1–2 уровня вложенности строк. Поэтому эти параметры были выбраны как значения по умолчанию, которые можно переопределить.
Wialon существует в виде Wialon Hosting, который располагается на стороне вендора, и в виде Wialon Local, который может располагаться на стороне компании, предоставляющей услуги управления автопарком. Во всех вызовах реализован функционал опциональной передачи URL сервера, что позволяет использовать библиотеку и с Wialon Local.
Эта библиотека доступна на Github. Кроме того, она может быть интегрирована в Python проекты из репозитория Pypi.
Wialonpy находится в начале своего развития и возможно, что другие вызовы API тоже заслуживают реализации, мы будем рады обратной связи.
Надеемся, что эта библиотека поможет разработчикам в создании продуктов. Кроме того, возможно она уменьшит количество запросов к техподдержке Wialon.
Следует отметить, что мы являемся независимым разработчиками, специализирующимися на продуктах Wialon. Мы никак не аффилированы с компанией Gurtam, которая является вендором Wialon и других замечательных продуктов для управления автотранспортом.