Справочный центр Wialon

driver_actions_register

Чтобы вручную назначить водителя на объект, завершить назначение водителя или игнорировать автоматические события назначения водителя (пометить их как ложные), используйте метод resource/driver_actions_register. Выбранное действие сохраняется как сообщение ресурса и обрабатывается детектором событий resource_drivers, который соответствующим образом обновляет события назначения водителя. Чтобы просмотреть или удалить зарегистрированные ручные действия, используйте методы resource/driver_actions_list или resource/driver_actions_cleanup соответственно.

Чтобы получить события назначения, на которые повлияло действие, загрузите их с помощью events/load, используя детектор resource_drivers, и получите их с помощью events/get. Чтобы просмотреть текущее состояние назначения, используйте events/get_last.

Конечная точка

Copied!
svc=resource/driver_actions_register&params={
  "resourceId": <long>,
  "driverId": <long>,
  "action": <uint>,
  "unitId": <long>,
  "time": <uint>,
  "timeTo": <uint>,
  "ignoreState": <uint>
}

Параметры

Запрос должен содержать параметры resourceId, driverId и action.

Параметр Описание
resourceId ID ресурса.
driverId ID водителя.
action Тип действия: 0 — снятие, 1 — назначение, 2 — игнорирование.
unitId ID объекта. Обязателен для действия назначения. Для действия снятия указывает, какое назначение нужно завершить: укажите значение 0 в unitId, чтобы завершить текущее назначение водителя. Для действия игнорирования работает как фильтр и указывает объект, автоматические действия которого нужно игнорировать: укажите значение 0 в unitId, чтобы игнорировать действия на любом объекте.
time Время начала действия, UNIX time. Значение по умолчанию — текущее время.
timeTo Время окончания действия, UNIX time. Используется только для действия игнорирования. Значение по умолчанию совпадает со значением time.
ignoreState Состояние, которое нужно игнорировать: 0 — снятие, 1 — назначение, 2 — любое состояние. Используется только для действия игнорирования. Если параметр не указан, используется 2 (любое состояние).

Для действий назначения и снятия позиция объекта сохраняется вместе с действием, если она доступна. Она берется из сообщений объекта или из последней известной позиции объекта в зависимости от значения time. Для приватной позиции координаты не сохраняются, а записывается только флаг приватности.

Действия игнорирования

Действие игнорирования исключает из расчета автоматические назначения и снятия, время которых попадает в интервал от time до timeTo. Используйте его, чтобы пометить автоматические события как ложные, например если назначение было зарегистрировано ошибочно.

Возвращаемый результат

При успешном выполнении запроса возвращается пустой объект:

Copied!
{}

В противном случае возвращается код ошибки.

Коды ошибок

Код ошибки Описание
3 Не удалось получить необходимые сообщения.
4 Неверные входные параметры или указанный водитель не найден в ресурсе.
6 Не удалось выполнить операцию.
7 Нет права доступа Создание, редактирование и удаление водителей на ресурс или ресурс недоступен.

Примеры

Чтобы назначить водителя с ID 9 на объект с ID 1080 в указанное время, используйте следующий запрос:

Copied!
svc=resource/driver_actions_register&params={
  "resourceId": 1003,
  "driverId": 9,
  "action": 1,
  "time": 1767228670,
  "unitId": 1080
}

Чтобы пометить автоматические назначения этого водителя в интервале времени как ложные, зарегистрируйте действие игнорирования с ignoreState 1:

Copied!
svc=resource/driver_actions_register&params={
  "resourceId": 1003,
  "driverId": 9,
  "action": 2,
  "time": 1767228670,
  "timeTo": 1767232270,
  "ignoreState": 1
}

Параметр unitId не указан, поэтому действие исключает из расчета автоматические назначения на любые объекты.

Если вы заметили ошибку в тексте, пожалуйста, выделите её и нажмите Ctrl+Enter.