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

Anton Rudenko2 years ago

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

Anton Tananaev2 years ago

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

Anton Rudenko2 years ago

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

Anton Tananaev2 years ago

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

Anton Rudenko2 years ago

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

Anton Tananaev2 years ago

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

Anton Rudenko2 years 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);
  1. Возможно ли в 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 Tananaev2 years ago
  1. Можете добавить driverUniqueId.
  2. Посмотрите как официальное приложение получает список. Вы также можете сделать.
Anton Rudenko2 years ago
  1. Благодарю, получилось. Водитель "меняется" в отчетах "Маршруты" и "События", но пока не отображается в отчетах "Поездки" и не всплывает в "уведомлениях", хотя уведомление на событие смены водителя есть. Думаю разберусь с этим. Спасибо.
  2. Очень бы хотелось разобраться. Можете дать ссылку на место в коде? Пока нашел только это: traccar-web/.../DeviceMenuController.js