Событие смены водителя и отчет по поездкам

Anton Rudenko4 months ago

Можно через API отправить событие смены водителя при начале и завершении поездки, а потом за период получить отчет по поездкам водителей? Иначе как можно узнать какие водители управляли какими устройствами?

Anton Tananaev4 months ago

Ваше устройство должно отправлять данные о водителе.

Anton Rudenko4 months ago

Я выполняю смену водителя через API в собственном фронт-офисе. Выполнение 'http://localhost.ru:8082/api/permissions' с параметрами {"deviceId": 1, "driverId": 2}' связывает устройство и водителя. Но при этом не наступает событие смены водителя. Как его вызвать? Где сохраняется история смены водителя?

Anton Tananaev4 months ago

Это не смена водителя. Вы просто привязали водителя к устройству. Это означает что водителю разрешено водить авто с этим устройством.

Anton Rudenko4 months ago

Я понял, а как сменить водителя через api что бы зафиксировалось событие?

Anton Tananaev4 months ago

Через API никак.

Anton Rudenko4 months ago

Благодарю за разъяснения.

  1. Мои трекеры A9G отправляют позиции по протоколу osmand. Как я смогу добавить реквизит driverId?
     snprintf(requestPath,sizeof(buffer2),
         "/?id=%s&timestamp=%d&lat=%f&lon=%f&speed=%.1f&bearing=%.1f&altitude=%f&accuracy=%.1f&batt=%.1f",
         imei,(time(NULL)+28800),latitude,longitude,speed,course,altitude,0.0,percent*1.0);
  2. Возможно ли в api добавить запрос разрешений для водителя:
     public static function DriverPermissions($driverId, $deviceId, $cookie)
     {
         $data = '{"driverId":' . $driverId. ',"&deviceId":' . $deviceId . '}';
         return self::curl('/api/permissions/drivers?' . $data, 'GET',$cookie,'',array());
     }
    Таким образом водитель сможет подтвердить право управления транспортом на станции (через вызов api),
    а трекер получит метку driverId для отправки реквизита водителя по протоколу osmand во время поездки,
    что вызовет событие смены водителя.
Anton Tananaev4 months ago
  1. Можете добавить driverUniqueId.
  2. Посмотрите как официальное приложение получает список. Вы также можете сделать.
Anton Rudenko4 months ago
  1. Благодарю, получилось. Водитель "меняется" в отчетах "Маршруты" и "События", но пока не отображается в отчетах "Поездки" и не всплывает в "уведомлениях", хотя уведомление на событие смены водителя есть. Думаю разберусь с этим. Спасибо.
  2. Очень бы хотелось разобраться. Можете дать ссылку на место в коде? Пока нашел только это: traccar-web/.../DeviceMenuController.js