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.
В зависимости от конфигурации сервера ручные действия могут не обрабатываться. В этом случае запрос не влияет на события назначения водителя.
В Wialon Local этот метод доступен начиная с версии 2604.
Конечная точка
svc=resource/driver_actions_register¶ms={
"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. Используйте его, чтобы пометить автоматические события как ложные, например если назначение было зарегистрировано ошибочно.
Возвращаемый результат
При успешном выполнении запроса возвращается пустой объект:
{}
В противном случае возвращается код ошибки.
Коды ошибок
| Код ошибки | Описание |
|---|---|
| 3 | Не удалось получить необходимые сообщения. |
| 4 | Неверные входные параметры или указанный водитель не найден в ресурсе. |
| 6 | Не удалось выполнить операцию. |
| 7 | Нет права доступа Создание, редактирование и удаление водителей на ресурс или ресурс недоступен. |
Примеры
Чтобы назначить водителя с ID 9 на объект с ID 1080 в указанное время, используйте следующий запрос:
svc=resource/driver_actions_register¶ms={
"resourceId": 1003,
"driverId": 9,
"action": 1,
"time": 1767228670,
"unitId": 1080
}
Чтобы пометить автоматические назначения этого водителя в интервале времени как ложные, зарегистрируйте действие игнорирования с ignoreState 1:
svc=resource/driver_actions_register¶ms={
"resourceId": 1003,
"driverId": 9,
"action": 2,
"time": 1767228670,
"timeTo": 1767232270,
"ignoreState": 1
}
Параметр unitId не указан, поэтому действие исключает из расчета автоматические назначения на любые объекты.