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

12.09.17

Интеграция - WEB-интеграция

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование SM По подписке [?] Купить один файл
Получение данных из Wialon Hosting через HTTP запросы (Remote API).:
.epf 21,37Kb
153
153
1 SM
Скачать Купить за 1 850 руб.

 

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 API Путевые листы

См. также

Управление взаимоотношениями с клиентами (CRM) WEB-интеграция Анализ продаж Системный администратор Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Подсистема интеграции Amo CRM с 1С: технические требования, порядок работы, возможности, доработки и обновления. Бесплатный период техподдержки - 1 месяц.

60000 руб.

07.05.2019    32008    62    41    

23

WEB-интеграция 8.3.8 Конфигурации 1cv8 Автомобили, автосервисы Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Расширение предназначено для конфигурации "1С:Предприятие 8. Управление Автотранспортом. ПРОФ". Функционал модуля: 1. Заполнение регистров сведений по подсистеме "Мониторинг", а именно: события по мониторингу, координаты по мониторингу, пробег и расход по мониторингу, текущее местоположение ТС по мониторингу 2. Заполнение путевого листа: пробег по мониторингу, время выезда/заезда, табличная часть ГСМ, места стоянок по геозонам. 3. Отчеты по данным загруженным в регистры сведений. 4. Предусмотрена автоматическая загрузка данных в фоновом режиме (условия работы данной загрузке читайте в описании товара) Модуль работает без включенной константы по настройкам мониторинга. Модуль формы предоставляется с открытым кодом, общий модуль защищен. Любой заинтересованный пользователь, имеет возможность скачать демо-версию расширения.

22656 руб.

25.05.2021    13451    39    8    

15

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    16861    15    19    

15

WEB-интеграция Программист Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    17094    46    49    

26

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    19215    10    17    

16
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. fzt 09.10.17 10:38 Сейчас в теме
Каково время жизни токена?
2. maxopik2 69 10.10.17 12:04 Сейчас в теме
(1) Токен живет месяц. Потом его нужно получать заново либо через API , либо руками, как написано в статье
26. mftrash@ya.ru 30.08.21 12:20 Сейчас в теме
(1) Вызываем форму авторизации с параметрами duration=0 и access_type=1 и получаем бесрочный токен (удаляется только после 100 дней без обращений по нему) с максимальными правами, в т.ч. на создание токенов.

https://hosting.wialon.com/login.html?lang=ru&client_id=wialon&access_type=1&activation_time=0&dur­ation=0&flags=7&response_type=token&svc_error=0
1Cynep4eJIoBek; +1 Ответить
3. aka Любитель XML 13.10.17 17:56 Сейчас в теме
(0) а есть пример как выгрузить в систему заявку с несколькими маршрутами?
4. maxopik2 69 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. Жолтокнижниг 259 24.06.19 21:01 Сейчас в теме
(7) Немного сложнее, необходим парсить html страницу и передавать данные формы, после последует серия редиректов, которые 1с не обрабатывает, придется сами логику писать.

В моем случае (8,2) была проблема также с URLEncoding от 1с (она кодировала там где не надо) пришлось для получения токена использовать WinHttpRequest
8. Altez50 1 11.12.18 14:36 Сейчас в теме
Кто знает, как получить логи GPS координат за период?
9. Altez50 1 11.12.18 15:22 Сейчас в теме
10. frodoirbit 13.12.18 06:46 Сейчас в теме
Добрый день, подскажите пожалуйста начинающему, не могу получить список техники,
11. poyson 27.02.19 18:31 Сейчас в теме
Статья просто отличная! Сначала прочитал описание Виалона - впал в уныние, но после статьи - все встало на места :). А вот обработка - разочаровала. Ждал большего.
12. maxopik2 69 28.02.19 12:04 Сейчас в теме
13. poyson 28.02.19 13:31 Сейчас в теме
(12) Надеялся встретить большее количество (а в идеале - все... :) ) используемых методов Виалона.
16. PLAstic 295 16.09.19 09:38 Сейчас в теме
(13) Зачем? Они все описаны в доке виалона. Описаны криво, актуальному формату описание не соответствует, но лучше вы не найдёте.
14. slonba 24 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 35 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 145 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 Сейчас в теме
27. 1c.pro.fun 187 09.12.21 10:03 Сейчас в теме
Огромное спасибо! Обработку не качал, но статья помогла перейти с ActiveX-компоненты которая перестала работать.
28. user623159_i.dm 23.03.22 14:35 Сейчас в теме
Спасибо за статью, помогла прояснить методику работы

а можно ли авторизоваться непосредственно из 1С? получить токен не руками а через АПИ?
29. romba 12 16.12.22 11:41 Сейчас в теме
Спасибо, очень помогло
30. romba 12 25.01.23 16:03 Сейчас в теме
Не могу корректно отправить запрос на установку часового пояса, у кого-нибудь есть рабочий пример?
31. stepani4 07.11.23 09:16 Сейчас в теме
Кто-нибудь пробовал из 1с сделать оптимизацию маршрута с помощью инструмента "Маршрутизатор"?
32. Goggy 2 07.12.23 21:09 Сейчас в теме
Все перешли на https?
Не принимает сертификат на 8.2
https://its.1c.ru/db/islhelper/content/7/hdoc
не помогло.
Подскажете теперь какой алгоритм запросов?
33. Goggy 2 08.12.23 15:49 Сейчас в теме
(32) Если кто-то вдруг тоже столкнётся оставлю тут на всякий/
Помогло в добавить в cacert.pem(для серверных вызовов на сервере, для клиентских в локальной платформе):

-----BEGIN CERTIFICATE-----
MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzEL­MAkG
A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsT­B1Jv
b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDEx­MjAw
MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBH­bG9i
YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9i­YWxT
aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa­DuaZ
jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymA­Zavp
xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz­8kHp
1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHR­jcdG
snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8g­kasJ
U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF­59N8
9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB­Af8E
BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG­9w0B
AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLbl­CKOz
yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGU­l5gE
38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm­7ymP
AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+Wym­XUad
DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjb­gbME
HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
MIIEijCCA3KgAwIBAgIQfU1CqStDHX5kU+fBmo1YdzANBgkqhkiG9w0BAQsF­ADBX
MQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEQMA4G­A1UE
CxMHUm9vdCBDQTEbMBkGA1UEAxMSR2xvYmFsU2lnbiBSb290IENBMB4XDTIy­MTAx
MjAzNDk0M1oXDTI3MTAxMjAwMDAwMFowTDELMAkGA1UEBhMCQkUxGTAXBgNV­BAoT
EEdsb2JhbFNpZ24gbnYtc2ExIjAgBgNVBAMTGUFscGhhU1NMIENBIC0gU0hB­MjU2
IC0gRzQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtJCmVZhWI­PzOH
A3jP1QwkuDFT8/+DImyZlSt85UpZwq7G0Sqd+n8gLlHIZypQkad5VkT7OLU+­MI78
lC7LVwxpU19ExlaWL67ANyWG8XHx3AJFQoZhuDbvUeNzRQyQs6XS5wN6uDlF­0Bf1
AtCUQWrGGLGYwyC1xTrzgrFKpESsIXMqklUGTsh8i7DKZhRUVfgrPLJUkbbL­UrLY
42+KRCiwfSvBloC5PgDYnj3oMZ1aTe3Wfk3l1I4D3RKaJ4PU1qHXhHJOge2b­jGIG
l6MsaBN+BB2sr6EnxX0xnMIbew2oIfOFoLqs47vh/GH4JN0qql2WBHfDPVDm­3b+G
QxY6N/LXAgMBAAGjggFbMIIBVzAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0lBBYw­FAYI
KwYBBQUHAwEGCCsGAQUFBwMCMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0O­BBYE
FE/LrKjC76vdg29rv86YPVxYJXYVMB8GA1UdIwQYMBaAFGB7ZhpFDZfKiVAv­fQTN
NKj//P1LMHoGCCsGAQUFBwEBBG4wbDAtBggrBgEFBQcwAYYhaHR0cDovL29j­c3Au
Z2xvYmFsc2lnbi5jb20vcm9vdHIxMDsGCCsGAQUFBzAChi9odHRwOi8vc2Vj­dXJl
Lmdsb2JhbHNpZ24uY29tL2NhY2VydC9yb290LXIxLmNydDAzBgNVHR8ELDAq­MCig
JqAkhiJodHRwOi8vY3JsLmdsb2JhbHNpZ24uY29tL3Jvb3QuY3JsMCEGA1Ud­IAQa
MBgwCAYGZ4EMAQIBMAwGCisGAQQBoDIKAQMwDQYJKoZIhvcNAQELBQADggEB­ABol
9nNkiECpWQenQ7oVP1FhvRX/LWTdzXpdMmp/SELnEJhoOe+366E0dt8tWGg+­ezAc
DPeGYPmp83nAVLeDpji7Nqu8ldB8+G/B6U9GB8i2DDIAqSsFEvcMbWb5gZ2/­DmRN
cifGi9FKAuFu2wyft4s4DHwzL2CJ2zjMlUOM3RaE1cxuOs+Om6MCD9G7vnkA­tSiC
/OOfHO902f4yI2a48K+gKaAf3lISFXjd32pwQ21LpM3ueIGydaJ+1/z8nv+C­7SUT
5bHoz7cYU27LUvh1n2WSNnC6/QwFSoP6gNKa4POO/oO13xjhrLRHJ/04cKMb­RALt
JWQkPacJ8SJVhB2R7BI=
-----END CERTIFICATE-----
Показать
Оставьте свое сообщение