Работа с водителями в системе

В Wialon можно назначать/снимать водителей, получать информацию по назначению/снятию водителей через различные запросы (текущее назначения, так и исторические). Ниже подробные примеры с описанием.

Получение информации о назначениях водителя

Узнаем назначения/снятия водителей для объекта через запрос svc=resource/get_driver_bindings в «unitId» указываем id объекта, в «resourceId» - id ресурса, в котором созданы водители. В параметре «driverId» указываем ноль, чтобы получить всех водителей, можно указать id конкретного водителя.

https://hst-api.wialon.us/wialon/ajax.html?svc=resource/get_driver_bindings&params={"resourceId":400,"unitId":4001,"driverId":0,"timeFrom":1615096800,"timeTo":1615355999}&sid=1ab5e2fa76e5a5a8d228767ff9d4ae4

Response

{"91":[{"t":1614357649,"u":400104356}]}

Где

  • «91» - id водителя,
  • «u»:4001 - id объекта, на которой сейчас назначен водитель, если u = 0, водитель не назначен на объект.
  • «t»:1614357649 - время назначения UNIX-time, Feb 26 2021 16:40:49 GMT+0

Т.е данный водитель назначен на объект с 26го февраля.

Особенность этого запроса в том, что он также вернет один предыдущий статус водителя (назначение/снятие), не входящий в запрашиваемый интервал. Как в нашем примере - запрос за интервал с 7 марта, но т.к водитель уже с 26го февраля назначен на объект, значит до сих пор, т.е 7го марта он все еще на объекте, поэтому система вернула нам эту дату.

Получить информацию по этому водителю (имя, код, произвольные поля) можно через запрос core/search_items с флагом = 256

hst-api.wialon.com/wialon/ajax.html?svc=core/search_items&params={"spec":{"itemsType":"avl_resource","propName":"sys_name","propValueMask":"Pinch","sortType":"sys_name"},"force":1,"flags":257,"from":0,"to":200}&sid=41ab5e2fa76e5a5a8d228767ff9d4ae4

В ответе вернется весь список водителей данного ресурса, параметр «drvrs» в JSON, где каждое свойство 'N' = id водителя

К примеру,

"91":{
"id":91,
"n":"Alex Makedony",
"c":"4578",
"jp":{
"HOSDriverId":"34840"
},
"ej":{
},
"pwd":"",
"ds":"",
"p":"",
"r":0,
"f":1,
"ck":0,
"ct":1591723125,
"mt":1591723215,
"bu":400104356,
"pu":0,
"bt":1614357649,
"bs":0,
"pos":{
"y":0,
"x":0
}
}

Имя назначенного водителя Alex Makedony, код карточки = 4578

Пустой ответ {} обозначает, что за данный интервал не было назначено ни одного водителя, и также нет предыдущих назначений/снятий

В ответе может также вернуться история назначений нескольких или одного водителя (назначение/снятие)

К примеру,

{"4":[{"t":1614238047,"u":21728414},{"t":1615294868,"u":0}]}

Водитель был назначен Feb 25 2021 07:27:27 GMT+0 ( «t»:1614238047 ) и снят ( «u»:0 ) on Mar 09 2021 13:01:08 GMT+0 = «t»:1615294868

Или например история за месяц

https://hst-api.wialon.us/wialon/ajax.html?svc=resource/get_driver_bindings&params={%22resourceId%22:930849,%22unitId%22:21728414,%22driverId%22:0,%22timeFrom%22:1609730590,%22timeTo%22:1615337999}&sid=022d9a2cd00ab180126d0ed9f2c01df3

Ответ

{"4":[{"t":1608120592,"u":21728414},{"t":1609748526,"u":0},{"t":1609748535,"u":21728414},{"t":1609748585,"u":0},{"t":1614238047,"u":21728414},{"t":1615294868,"u":0}],"6":[{"t":1610616423,"u":21728414},{"t":1610616762,"u":0}],"9":[{"t":1614069254,"u":21728414},{"t":1614233926,"u":0},{"t":1614234031,"u":21728414},{"t":1614236654,"u":0},{"t":1614236684,"u":21728414},{"t":1614236900,"u":0}]}

3 водителя были назначены на объект (по каждому есть время снятия и назначения)

Данные в ответе не сортированы по хронологии назначения, просто JSON со списком водителей


Другой запрос - resource/get_unit_drivers вернет текущего водителя на объекте, id которого указали в параметрах

https://hst-api.wialon.us/wialon/ajax.html?svc=resource/get_unit_drivers&params={%22unitId%22:4356}&sid=41ab5e2fa76e5a5a8d228767ff9d4ae4

{«4356»:[{«id»:«15»,«nm»:«Harold»,«ph»:«»}]} - водитель «Harold» сейчас на объекте

{} - пустой ответ значит, что сейчас на объекте нет никакого водителя.

Follow us on Facebook Gurtam Wialon Twitter Gurtam Wialon info@gurtam.com   |   Copyright © 2002-2021 Gurtam