Получение данных из Wialon Hosting через HTTP запросы (Remote API)

Публикация № 672433

Разработка - Системная интеграция - Интеграция с WEB

Wialon Hosting API Путевые листы

Статья будет полезна для быстрого старта работы с Wialon Hosting. Здесь я опишу основные принципы работы с системой Wialon через Remote API.

 

1. Старт работы с Wialon hosting

 

Для работы с Wialon hosting прежде всего потребуется получение Токена.

Для этого переходим по адресу:  http://hosting.wialon.com/login.html?client_id=wialon&access_type=0xffff&activation_time=0&duration=%E2%80%94%202592000&lang=ru&flags=0x1

 

Указываем Пользователя и пароль. У этого пользователя должны быть права для работы с внешними программами. Если прав нет нужно обратиться в поддержку Wialon hosting.

После ввода данных , появляется окно «Авторизация успешна» и в адресной строке появится наш Токен : http://hosting.wialon.com/login.html?lang=ru&access_token=ea8fc6f1fd68c344d7e77773b01d7e6893CBDA276C4017B6A5CB2C7C1BCAA70B6F84AFF&user_name=admin&svc_error=0. Токен сохраняем в удобном для Вас месте.

 

2. Получение SID 

 

Любой запрос к серверу Wialon должен содержать SID - уникальный идентификатор сессии. Чтобы его получить нужно выполнить следующий запрос:

              

               СерверАГ = "hst-api.wialon.com";        
               имяВыходногоФайла = ПолучитьимяВременногоФайла();
               ssl = Новый ЗащищенноеСоединениеOpenSSL();
               Заголовки = Новый Соответствие();
               Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded");
               HTTPСоединение = Новый HTTPСоединение(СерверАГ,,,,,,ssl );

                              
               Результат=HTTPСоединение.Получить("wialon/ajax.html?svc=token/login&params={""token"":"" ea8fc6f1fd68c344d7e77773b01d7e6893CBDA276C4017B6A5CB2C7C1BCAA70B6F84AFF ""}", имяВыходногоФайла);

             Сервер wialon вернет Вам SID. SID обнуляется ,если на сервер за 5 минут не поступило ни одного запроса с этим SID. 

 

 

3. Получение списка техники :

         СерверАГ = "hst-api.wialon.com";

        имяВыходногоФайла = ПолучитьимяВременногоФайла();

        ssl = Новый ЗащищенноеСоединениеOpenSSL();

        Заголовки = Новый Соответствие();

        Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded");

        HTTPСоединение = Новый HTTPСоединение(СерверАГ,,,,,,ssl );



        HTTPСоединение.Получить("wialon/ajax.html?svc=core/search_items&params={""spec"":{""itemsType"":""avl_unit"",""propName"":""sys_name"",""propValueMask"":""*"",""sortType"":""sys_name""},""force"":1,""flags"":""0x00000001"",""from"":0,""to"":0}&sid=1fd68c344324е678601d7e6893CB");

 

Запрос вернет список техники с ID.

 

 

 

4. Получение пробега и данных по расходу топлива за период.

 

Для получения каких-либо данных, в системе Wialon есть отчеты (отдельной функции для получения данных по ресурсам нет).  Чтобы сформировать отчет через  запрос нужно знать ID отчета .

 

Получение ID отчета :


 

HTTPСоединение.Получить("wialon/ajax.html?svc=core/search_items&params={""spec"":{""itemsType"":""avl_resource"",""propName"":""reporttemplates"",""propValueMask"":""*"",""sortType"":""reporttemplates""},""force"":1,""flags"":""0x00002001"",""from"":0,""to"":0}&sid=1fd68c344324е678601d7e6893CB");

Результат запроса:

 

{"searchSpec":{"itemsType":"avl_resource","propName":"reporttemplates","propValueMask":"*","sortType":"reporttemplates","propType":"","or_logic":"0"},

"dataFlags":8193,

"totalItemsCount":1,

"indexFrom":0,

"indexTo":0,

"items":[

{"nm":"admin",

"cls":3,

"id":14971447, - это ID отчета

"mu":0,

"rep":

{

"17":{"id":17,"n":"ОТЧЕТ по ГЕОЗОНАМ","ct":"avl_unit_group","c":30356},

"18":{"id":18,"n":"Сводный отчет ГазПром","ct":"avl_unit","c":61003}, - Это ID шаблона

"19":{"id":19,"n":"Отчет по котельной","ct":"avl_unit","c":23997},

 

Для каждого пользователя системы у отчета будет свой ID и свой ID шаблона. В данном случае мне нужен отчет «Сводный отчет ГазПром» с ID шаблона 18 и ID ресурса отчетов, для моего пользователя, ID 14971447.

 

Получение данных по датчикам (выполнение отчета):

 

reportObjectId:12370291 – это ID автомобиля, который мы узнали из запроса по списоку техники

 

               Дт1 = Дата(2017,9,5,8,0,0);  - Дата начала

               Дт2 = Дата(2017,9,5,20,0,0); - Дата окончания

 

Даты в системе Wialon  хранятся в формате UNIX-time с часовым поясом – GMT0. У запроса  «report/exec_report» есть параметр с часовым поясом “tzOffset”, но в моих запросах он , почему –то , не отрабатывает, поэтому я сам корректирую часовой пояс:   

 

               пДТ1 = Формат(Дт1 - Дата(1970,1,1,1,0,0) - 3600 * 4, "ЧГ=0") ; - 3600 * 4 (корректировка на 4 часа);
               пДТ2 = Формат(Дт2 - Дата(1970,1,1,1,0,0)- 3600 * 4, "ЧГ=0");
              
               HTTPСоединение.Получить("wialon/ajax.html?svc=report/exec_report&params={""reportResourceId"":14971447,""reportTemplateId"":18,""reportObjectId"":12370291,""reportObjectSecId"":0,""interval"":{""from"":"+пДТ1+",""to"":"+пДТ2+",""flags"":0} }&sid=1fd68c344324е678601d7e6893CB”);

 

После получения данных рекомендуется закрывать сесию :

HTTPСоединение.Получить("wialon/ajax.html?svc=core/logout&params={}&sid=1fd68c344324е678601d7e6893CB);

 

 

 

_______________________________________________

Это общий синтаксис работы с сервером Wialon , описание всех функций  с примерами есть  в документации к нему:  https://sdk.wialon.com/wiki/ru/sidebar/remoteapi/apiref/reqformat/reqformat.

 

К статье прикладываю обработку по работе с ПО «Автограф» и “Wialon Hosting” через HTTP запросы. Обработка работает на конфигурации 1С:УАТ и служит заготовкой для интеграции . Обработка не универсальная , и чтобы она заработала, нужно будет прописать в модуле обработки  ID отчетов и токен.  

 

Скачать файлы

Наименование Файл Версия Размер
Получение данных из Wialon Hosting через HTTP запросы (Remote API).:

.epf 21,37Kb
89
.epf 21,37Kb 89 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. fzt 09.10.17 10:38 Сейчас в теме
Каково время жизни токена?
2. maxopik2 59 10.10.17 12:04 Сейчас в теме
(1) Токен живет месяц. Потом его нужно получать заново либо через API , либо руками, как написано в статье
3. aka Любитель XML 13.10.17 17:56 Сейчас в теме
(0) а есть пример как выгрузить в систему заявку с несколькими маршрутами?
4. maxopik2 59 16.10.17 10:21 Сейчас в теме
Примера нет, не было такой потребности
5. родственник 27.10.17 20:24 Сейчас в теме
6. lzhebolsheglazik 27.02.18 14:08 Сейчас в теме
У Вас есть пример получения техники, можете подсказать, что нужно поменять в запросе, чтобы получить список геозон?
7. родственник 09.10.18 06:22 Сейчас в теме
а не пробовали получать токен get запросом к http://hosting.wialon.com/login.html?
15. Жолтокнижниг 251 24.06.19 21:01 Сейчас в теме
(7) Немного сложнее, необходим парсить html страницу и передавать данные формы, после последует серия редиректов, которые 1с не обрабатывает, придется сами логику писать.

В моем случае (8,2) была проблема также с URLEncoding от 1с (она кодировала там где не надо) пришлось для получения токена использовать WinHttpRequest
8. user708468_v781345 11.12.18 14:36 Сейчас в теме
Кто знает, как получить логи GPS координат за период?
9. user708468_v781345 11.12.18 15:22 Сейчас в теме
10. frodoirbit 13.12.18 06:46 Сейчас в теме
Добрый день, подскажите пожалуйста начинающему, не могу получить список техники,
11. poyson 27.02.19 18:31 Сейчас в теме
Статья просто отличная! Сначала прочитал описание Виалона - впал в уныние, но после статьи - все встало на места :). А вот обработка - разочаровала. Ждал большего.
12. maxopik2 59 28.02.19 12:04 Сейчас в теме
13. poyson 28.02.19 13:31 Сейчас в теме
(12) Надеялся встретить большее количество (а в идеале - все... :) ) используемых методов Виалона.
16. PLAstic 270 16.09.19 09:38 Сейчас в теме
(13) Зачем? Они все описаны в доке виалона. Описаны криво, актуальному формату описание не соответствует, но лучше вы не найдёте.
14. slonba 23 07.05.19 22:06 Сейчас в теме
добрый вечер
запускаю отчет по пробегу
стрЗапрос = "?svc=report/exec_report¶ms={""reportResourceId"":15028259,""reportTemplateId"":9,""reportObjectId"":"+идТС+",""reportObjectSecId"":0,""interval"":{""from"":"+пДТ1+",""to"":"+пДТ2+",""flags"":0},""tzOffset"":14400 }&sid="+СидВиалон;
как в статье

а он возвращает мне

{"reportResult":{"msgsRendered":0,"stats":[],"tables":[{"name":"unit_group_location","label":"Пробег ТС","grouping":{"type":"unit"},"flags":4096,"rows":1,"level":1,"columns":6,"header":["№","Grouping","Пробег","Последнее сообщение","Водитель","Прицеп"],"header_type":["","","mileage","msg_time","driver_name","trailer_name"]}],"attachments":[]},"reportLayer":{"name":"report markers","bounds":[0,0,0,0]},"layerCount":1}

никак не пойму почему нет данных о пробеге?
подскажите, а то уже голову сломал
17. hillsnake 25.09.19 14:38 Сейчас в теме
работа с заявками везде "itemId":<long>, /* id ресурса */

что это за ид откуда брать не понятно...

svc=order/update¶ms={"itemId":<long>, /* id ресурса */
"id":<long>, /* id заявки внутри ресурса (0 при создании) */
"n":<text>, /* имя заявки */
18. MazhutkoAV 01.11.19 12:11 Сейчас в теме
Скачал обработку, а она ещё на обычных формах.

В принципе я хотел получить список автомобилей по имеющемуся токену. С помощью п2 я должен получить SId? И подставить его в п3? Только в п2 я получаю в результат некое соответствие, в котором нет ничего похожего на SId.
19. user817897 2 25.02.20 00:15 Сейчас в теме
при запуске обработки сразу пишет:
{ВнешняяОбработка.Автограф.Форма.Форма.Форма(375,2)}: Переменная не определена (уатИнтерфейсВводаТС)
<<?>>уатИнтерфейсВводаТС.НомерТСОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка, Организация,,"Ссылка"); (Проверка: Толстый клиент (обычное приложение))
20. user817897 2 25.02.20 00:19 Сейчас в теме
(19)а сразу после этой ошибки вот такая ошибка:

{ВнешняяОбработка.Автограф.Форма.Форма.Форма(329)}: Ошибка при вызове метода контекста (Выполнить)
Тбл = Запрос.Выполнить().Выгрузить();
по причине:
{(5, 2)}: Таблица не найдена "РегистрСведений.уатМестонахождениеТС.СрезПоследних"
<<?>>РегистрСведений.уатМестонахождениеТС.СрезПоследних КАК уатМестонахождениеТССрезПоследних
21. evgaid 141 10.09.20 05:03 Сейчас в теме
Всем привет, а есть пример запроса получения координат для машины?
22. user640247 11.11.20 10:28 Сейчас в теме
Спасибо большое!
а может есть пример импорта заявок из 1с?
24. user1478130 30.12.20 15:29 Сейчас в теме
(22) можете написать здесь код этой обработки?
25. user1478130 30.12.20 15:33 Сейчас в теме
23. user1478130 30.12.20 15:22 Сейчас в теме
Оставьте свое сообщение

См. также

Hello world на metadata.js Промо

Инструментарий разработчика WEB Мобильная разработка v8 1cv8.cf Абонемент ($m)

Про браузерные offline-first приложения можно написать миллионы слов. Сэкономлю своё и ваше время и перейду сразу к делу. В статье не будет рекламы и агитации за новые технологии, не будет критики традиционных или попсовых решений. Рассмотрим по шагам разработку простейшей программы на metadata.js. Постараюсь сделать акцент не на том «как это сделано», а «почему сделано именно так»

1 стартмани

11.08.2016    60250    unpete    209    

Перенос всех логов в Elasticsearch

WEB v8 Абонемент ($m)

В качестве стандартного места хранения логов в "1С:Предприятие" используется Журнал регистрации. Также часто для хранения служебных событий создают специальные Регистры сведений. Но у этих решений есть свои недостатки. В статье описан подход для хранения любых логов в самой популярной свободной поисковой системе Elasticsearch.

1 стартмани

15.07.2020    3210    kuleshov.x    4    

Выбираем российского провайдера для интеграции с WhatsApp

WEB Интеграция v8 Россия Абонемент ($m)

Собственно, почему выбираем именно провайдера и почему российского? WhatsApp, создавая свое API, преследовал две цели - делать деньги и минимизировать спам. И чтобы убить сразу двух зайцев, было принято решение предлагать API исключительно через партнеров. Ну а вопрос по поводу российского партнера скорее уже риторический. И не только из-за курса рубля, но и из-за таланта работать с российскими телефонными номерами, коим одарены далеко не все провайдеры. Между тем статья не претендует на всесторонний анализ всех возможностей всех провайдеров. Мы копнем лишь верхушку айсберга этого немаленького рынка.

1 стартмани

19.05.2020    5373    ripreal1    5    

Telegram bot API - разбор документации с примерами

WEB v8 Абонемент ($m)

Перевод документации на язык 1С.

1 стартмани

06.04.2020    49549    leongl    59    

Демо связи веб сервисов 1С и php Промо

Практика программирования Математика и алгоритмы WEB v8 1cv8.cf Абонемент ($m)

Демонстрация обращения к веб сервису 1С из php. Пример простейший, уровня hello world. Дана одна страница и информационная база 1С с одним справочником и одним веб сервисом. Веб сервис выдаёт содержимое справочника по запросу странички.

1 стартмани

19.07.2013    32412    Трактор    20    

Синтез речи из текста с помощью Яндекс SpeechKit

WEB v8 1cv8.cf Абонемент ($m)

В статье описан процесс подключения Яндекс SpeechKit API и программная реализация синтеза речи из текста с помощью этого API. Тестировалось на релизе платформы 8.3.16.1224. Может использоваться в любой конфигурации. Синтез речи может использоваться для самых разных целей, в моём случае потребовалось перевести лекции из текстовых файлов в звук

1 стартмани

05.04.2020    5853    m0zg153    2    

Вариант реализации REST API для 1С-Битрикс Управление сайтом

WEB v8 Россия Абонемент ($m)

В статье опишу вариант обмена 1С УТ 11.4 и 1С-Битрикс управление сайтом с иcпользованием компонентов Symfony, в качестве примера обмен данными по товарам.

1 стартмани

28.01.2020    6473    malikov_pro    2    

"Живые" картинки со Snap.SVG

Практика программирования WEB Работа с интерфейсом v8 Абонемент ($m)

В статье рассмотрен пример использования http-сервисов для визуализации данных

1 стартмани

24.10.2019    14163    blackhole321    7    

Примеры пользования web сервисов 1С из браузера Промо

WEB Практика программирования v8 1cv8.cf Абонемент ($m)

Даны примеры реализации доступа к web сервисам 1С из браузера. Примеры web сервисов, а также javascript'ы для доступа к этим сервисам. AJAX доступ к 1С.

1 стартмани

29.06.2008    154291    Трактор    233    

Интеграция 1С с сайтом (магазином) WordPress (WooCommerce) с помощью Rest API сайта. Часть 1. Авторизация

WEB v8 Абонемент ($m)

Интеграция 1С с сайтом (магазином) WordPress (WooCommerce) с помощью функционала Rest API предоставляемого платформой (CMS) WordPress (WooCommerce). Без дополнительных приложений на PHP/вставьте сюда любой другой язык программирования/.

1 стартмани

12.10.2019    34765    osivv    34    

АИТП. Автоматизируем управление ресурсами на примере Яндекс.Почта для домена

WEB v8 1cv8.cf Абонемент ($m)

В статье демонстрируется использование программного пакета АИТП для автоматизации предоставления ИТ-ресурсов сотрудникам на примере управления почтовыми ящиками Яндекс.Почта для домена.

1 стартмани

26.08.2019    5281    blackhole321    4    

Использование HTTP-сервиса для создания "фронтенда" HTML/CSS/jQuery с кэшированием

WEB v8 1cv8.cf Абонемент ($m)

В статье описан способ создания "фронтенда" на HTML/CSS/jQuery и скрипт кеширования AJAX запросов на PHP.

1 стартмани

06.08.2019    14331    Sedaiko    25    

Обмен с интернет-магазином на платформе DOCPART

WEB Оптовая торговля Розничная торговля Оптовая торговля Розничная торговля v8 1cv8.cf Абонемент ($m)

В настоящее время существует множество платформ для создания интернет-магазинов. Удобные и не очень, платные или бесплатные. У каждого решения найдутся свои сторонники, но наличие оперативного обмена с учётной системой важно для любой платформы. В этой публикации мы рассмотрим одну из популярных платформ для создания интернет-магазина по продаже автозапчастей Docpart и организацию обмена данными с ней.

10 стартмани

04.07.2019    5539    Johny_v    23    

1C + Python + Django Rest Framework + Vue.js. Опыт несложной full-stack разработки

Практика программирования Внешние источники данных Обмен через XML WEB Разработка v8 1cv8.cf Абонемент ($m)

В этой статье мы рассмотрим путь и основные моменты создания небольшого вэб-сервиса, который мы называем "Онлайн Прайс-лист". Выгрузка из 1С, бэкенд, фронтенд, получение заказов в 1С.

1 стартмани

22.04.2019    36036    riposte    66    

Подключение к REST API через OAuth протокол из 1С

WEB v8 1cv8.cf Абонемент ($m)

В статье описаны варианты подключения И решение граблей по подключению к REST API через протокол OAuth 2.0 из 1С. При разработке такого подключения для получения данных и загрузки в базу 1С я столкнулся с некоторыми проблемами, решил их и хочу поделиться этими наработками.

1 стартмани

06.09.2018    14457    chemezov    12    

HTTP Сервисы: Путь к своему сервису. Часть 1

Практика программирования WEB v8 1cv8.cf Абонемент ($m)

Уже много было написано про http-сервисы, но то и дело всплывают «Новые» статьи по обмену между базами V8 по COM, что «Немножко» удивляет. Решил внести свои 5 копеек, поработаем с http-сервисом.

1 стартмани

15.07.2018    101525    dsdred    32    

А чё это вы здесь делаете, а?

WEB v8 1cv8.cf Абонемент ($m)

Разработчикам тиражных обработок близка и понятна проблема обратной связи с пользователем. Много важного и полезного можно почерпнуть, зная, что делает бухгалтер, который запустил обработку. В большом мире вэба сбор статистики на сайте дело привычное и даже обязательное. Эта статья покажет практику применения инструментов сбора статистики из мира веба для обработок на платформе 1С:Предприятие.

1 стартмани

21.01.2018    24441    infosoft-v    42    

Пример заполнения/создания файла XML из XSD схемы, используя XDTO

Обмен через XML WEB v8 1cv8.cf Абонемент ($m)

Добрый день, коллеги! Наконец-то дошли руки написать сию статью. Хочу поделиться своим опытом по разбору xsd схемы используя Фабрику XDTO, а также связанным с этим XML файлом. Думаю, наверняка кому-то понадобится.

1 стартмани

21.12.2017    50352    sandybaev    25    

Google OAuth и мобильное приложение

Мобильная разработка Обмен данными 1С Внешние источники данных WEB v8 v8::Mobile 1cv8.cf Абонемент ($m)

Об аутентификации для работы с сервисами google из мобильного или настольного приложения

1 стартмани

29.08.2017    11698    stveans@gmail.com    3    

Заполнение ОГРН с использованием Инструментов разработчика

Обработка справочников WEB v8 Россия Абонемент ($m)

Вот и до нашей организации добралось требование указывать в отчетности для ГлавКонтроля ОГРН контрагента. Как всегда, задача возникла внезапно, и решить ее нужно было "вчера".

1 стартмани

14.04.2017    6713    vsuh    0    

Передача большого количества объектов через Web-сервисы

WEB v8 УТ11 Абонемент ($m)

Один из вариантов передачи большого количества объектов при использовании Web-сервисов.

1 стартмани

31.01.2017    15673    SinglCOOLer    14    

Пошаговая инструкция настройки web-сервисов для 1Сv8.3 и IIS 8.5

Практика программирования WEB v8 1cv8.cf Абонемент ($m)

Пошаговая инструкция настройки web-сервисов для 1Сv8.3 и IIS 8.5. Windows Server 2012 R2 Standard, 1С:Предприятие 8.3 (8.3.4.465)

30.04.2014    412681    alexstey    104    

Пошаговая инструкция по созданию мобильного приложения для iOS с обменом через WEB сервисы Часть II.

Практика программирования WEB v8 Абонемент ($m)

Пошаговая инструкция по созданию мобильного приложения для iOS с обменом через WEB сервисы Часть II.

1 стартмани

16.05.2013    18206    amrec    11