events
Esta sección describe métodos para trabajar con eventos, incluyendo la carga del historial de eventos, el monitoreo de actualizaciones de eventos y la obtención de estados actuales de eventos.
Los métodos de la sección events pueden ser utilizados en los siguientes flujos de trabajo.
Obtener eventos pasados
Para obtener eventos de un elemento durante un período especificado:
-
Utilice events/load para cargar eventos en la sesión.
-
Utilice events/get para obtener los eventos cargados.
Puede omitir el segundo paso si pasa el parámetro opcional
selectoren la solicitudevents/load. En este caso, los eventos cargados que coinciden con el selector se devuelven en el objetoselectorde la respuestaevents/load. -
Utilice events/unload antes de cargar eventos para otro período.
Para unidades, los métodos devuelven eventos registrados por detectores de unidades (por ejemplo, trips, ignition, sensors, lls, speedings). Para recursos, devuelven eventos de asignación de conductores registrados por el detector resource_drivers.
Recibir actualizaciones de eventos
Para monitorear eventos de elementos seleccionados en tiempo real, seleccione uno de los dos modos: solicitar las actualizaciones periódicamente o recibirlas a través del canal avl_evts.
En ambos modos, agregue elementos a la sesión y configure los detectores de eventos con events/update_items. Solo para unidades, también puede usar events/update_units, pero para nuevas integraciones utilice events/update_items.
Recibir actualizaciones bajo solicitud
- Utilice events/update_items para agregar elementos a la sesión y configurar los detectores de eventos para cada uno de ellos. Deje el parámetro
evt_flagsen su valor predeterminado0. - Llame a events/check_updates de forma regular, por ejemplo cada pocos segundos. Cada llamada devuelve solo los cambios desde la llamada anterior. Si no hay cambios, el método devuelve un objeto vacío.
Utilice este modo si su integración no puede mantener una conexión continua con el servidor.
Recibir actualizaciones a través de avl_evts
- Utilice core/update_data_flags para especificar qué elementos y qué datos de elementos (propiedades generales, posición, último mensaje, etc.) desea recibir a través de avl_evts. Este método configura el canal de datos pero no suscribe a detectores de eventos.
- Utilice events/update_items para configurar los detectores de eventos y establezca el parámetro
evt_flagsen0x200. Combínelo con los flags de detalle para controlar el nivel de detalle (por ejemplo,0x207). - Lea tanto los datos de elementos como las actualizaciones de eventos desde avl_evts. Las actualizaciones de eventos se devuelven en el campo units_update.
En este modo, no llame a
events/check_updates. Devuelve una respuesta vacía.
Obtener el estado actual o último del evento
Para obtener el estado actual o el último estado del evento sin cargar eventos en la sesión, use events/get_last.