driver_actions_register
Para asignar manualmente un conductor a una unidad, finalizar la asignación de un conductor o ignorar eventos automáticos de asignación de un conductor (marcarlos como falsos), utilice el método resource/driver_actions_register. La acción seleccionada se guarda como un mensaje de recurso y es procesada por el detector de eventos resource_drivers, que actualiza los eventos de asignación del conductor según corresponda. Para ver o eliminar las acciones manuales registradas, utilice resource/driver_actions_list o resource/driver_actions_cleanup, respectivamente.
Para obtener los eventos de asignación afectados por la acción, cárguelos con events/load usando el detector resource_drivers y recupérelos con events/get. Para ver el estado actual de asignación, utilice events/get_last.
Según la configuración del servidor, es posible que las acciones manuales no se procesen. En este caso, la solicitud no afecta los eventos de asignación de conductor.
En Wialon Local, este método está disponible a partir de la versión 2604.
Endpoint
svc=resource/driver_actions_register¶ms={
"resourceId": <long>,
"driverId": <long>,
"action": <uint>,
"unitId": <long>,
"time": <uint>,
"timeTo": <uint>,
"ignoreState": <uint>
}
Parámetros
La solicitud debe contener los parámetros resourceId, driverId y action.
| Parámetro | Descripción |
|---|---|
resourceId |
ID del recurso. |
driverId |
ID del conductor. |
action |
Tipo de acción: 0 para separación, 1 para asignación, 2 para ignorar. |
unitId |
ID de la unidad. Obligatorio para la acción de asignación. Para la acción de separación, especifica qué asignación debe finalizar: indique el valor 0 en unitId para finalizar la asignación actual del conductor. Para la acción de ignorar, funciona como filtro y especifica la unidad cuyas acciones automáticas deben ignorarse: indique el valor 0 en unitId para ignorar las acciones en cualquier unidad. |
time |
Hora de inicio de la acción, tiempo UNIX. El valor predeterminado es la hora actual. |
timeTo |
Hora de finalización de la acción, tiempo UNIX. Se usa solo para la acción de ignorar. El valor predeterminado es el mismo que time. |
ignoreState |
Estado que se debe ignorar: 0 para separación, 1 para asignación o 2 para cualquier estado. Se usa solo para la acción de ignorar. Si no se especifica el parámetro, se usa 2 (cualquier estado). |
Para las acciones de asignación y separación, la posición de la unidad se guarda junto con la acción cuando está disponible. Se toma de los mensajes de la unidad o de la última posición conocida de la unidad, según el valor de time. Si la posición es privada, las coordenadas no se guardan y solo se almacena el flag de privacidad.
Acciones de ignorar
La acción de ignorar excluye del cálculo las asignaciones y separaciones automáticas cuya hora se encuentra dentro del intervalo de time a timeTo. Utilícela para marcar eventos automáticos como falsos, por ejemplo, cuando una asignación se registró por error.
Respuesta
Si la solicitud se completa correctamente, se devuelve un objeto vacío:
{}
De lo contrario, se devuelve un código de error.
Códigos de error
| Código de error | Descripción |
|---|---|
| 3 | No se pueden recuperar los mensajes requeridos. |
| 4 | Parámetros de entrada incorrectos o el conductor especificado no se encuentra en el recurso. |
| 6 | No se puede completar la operación. |
| 7 | No se cuenta con el derecho de acceso Crear, modificar y eliminar conductores al recurso, o el recurso no está disponible. |
Ejemplos
Para asignar el conductor con ID 9 a la unidad con ID 1080 en una hora específica, utilice la siguiente solicitud:
svc=resource/driver_actions_register¶ms={
"resourceId": 1003,
"driverId": 9,
"action": 1,
"time": 1767228670,
"unitId": 1080
}
Para marcar como falsas las asignaciones automáticas de este conductor dentro de un intervalo de tiempo, registre una acción de ignorar con ignoreState 1:
svc=resource/driver_actions_register¶ms={
"resourceId": 1003,
"driverId": 9,
"action": 2,
"time": 1767228670,
"timeTo": 1767232270,
"ignoreState": 1
}
El parámetro unitId se omite, por lo que la acción excluye del cálculo las asignaciones automáticas en cualquier unidad.