Simulacion completa: calcular ruta → callback → crear paquete → callback → resultado
Cargando catálogo de reglas...
🔒 Enforcement = si la regla dispara, el paquete se BLOQUEA. Sin enforcement, la regla solo informa. Sin selección, no se evalúa nada.
Para integrar iVAN Risk con GPSGate, se requiere configurar una vez lo siguiente:
El administrador del tenant debe ingresar a
https://ivanrisk.madd.com.mx/admin/clientes y llenar:
Sin esto, el sync de custom fields y geocercas fallara.
En la ventana de Activos (Assets) de GPSGate, donde se listan los vehiculos:
ivanrisk_uuid, ivanrisk_token, ivanrisk_activo
Para activarlos en la plantilla:
ivanrisk_uuid, ivanrisk_token, ivanrisk_activoiVAN Risk escribe estos campos via API al crear un paquete (sync automatico). El Click Script los lee para saber que iFrame abrir.
En GPSGate, menu hamburguesa (izq superior) >
IvanRisk_Administrator, _Dispatch Worker, _Driver, _OperatorIvanRisk, Tipo: UserRightClickMenu, Activado: Yesvar uuid = user.getCustomFieldValue('ivanrisk_uuid');
var token = user.getCustomFieldValue('ivanrisk_token');
var activo = user.getCustomFieldValue('ivanrisk_activo');
if (activo !== 'true' || !uuid || !token) {
log("iVAN Risk: no hay paquete activo");
} else {
var url = "https://ivanrisk.madd.com.mx/iframe/monitor/" + uuid
+ "?token=" + encodeURIComponent(token)
+ "&style=google";
ui.iframe("ivanrisk_monitor", "iVAN Risk - " + user.name,
url, 1200, 200, 500, 300);
}
Para que las alertas de entrada a municipios de alto riesgo funcionen, se requiere configurar una vez en GPSGate Server1:
Paso 1. Nombre de la regla y descripción
| Nombre | Ingreso a Municipio de Alto Riesgo IVAN-RISK |
| Descripción | Alerta visual y notificación cuando una unidad en ruta ingresa a un municipio clasificado como de alto riesgo por iVAN Risk. |
Paso 2. A quién aplica la regla
| Aplica a | En Ruta — todos los trackers asignados a una ruta activa |
Paso 3. Calendario de actividad
| Calendario | Siempre activa |
Paso 4. Expresiones
| Tipo | Expresiones de Geocerca |
| Grupo | IVAN-RISK |
| Condición | Dentro (evento inmediato) |
Paso 5. Notificaciones
Hay DOS tipos de notificación que configurar en esta sección:
A. Icono + Texto — alerta visual en la tabla de monitoreo
La notificación de tipo "Icono" dispara la alerta visual en la UI de GPSGate. La de tipo "Texto" con el mismo encabezado se fusiona en la misma columna.
| Configuración de Icono | |
| Encabezado | Riesgo Municipal |
| Icono | ⚠️ Advertencia (Mostrar opciones avanzadas → seleccionar warning) |
| Configuración de Texto | |
| Encabezado | Riesgo Municipal (mismo que arriba para fusionar columna) |
| Texto activa | Dejar vacío — el mensaje real va en el Paso 6 |
B. ExternalNotification — webhook HTTP a RODOX
Agregar un segundo notificador: Comando → Configurar servidor → ExternalNotification → http. Esta es la que dispara el diagnóstico automático en RODOX.
| ExternalNotification → http | |
| URL | https://rodox.madd.com.mx/runners/bridge?runner_type=callback&instance_id=5&flow_id=2&callback_url=https://ivanrisk.madd.com.mx/results |
| Método | GET (GPSGate agrega todos los parámetros dinámicos al query string) |
⚠️ Importante: NO agregues parámetros manualmente a la URL. GPSGate los añade automáticamente:
RULE_NAME, EVENT_TIME, POS_LATITUDE, POS_LONGITUDE,
POS_SPEED, USER_USERNAME, IMEI, APP_ID, y todos los
Custom Fields del Asset como SIGNAL_* (ej: SIGNAL_IVANRISK_UUID,
SIGNAL_IVANRISK_TOKEN, SIGNAL_IVANRISK_ACTIVO).
📋 Prerrequisito: Los Custom Fields deben existir en Assets → Manage Custom Fields y tener
valores asignados en los vehículos/usuarios. Además, la Expression ivanrisk_activo = true
del Paso 4 garantiza que la regla solo dispare para unidades con monitoreo activo y que GPSGate
incluya los SIGNAL_* en el webhook.
Paso 6. Presentación en mapa y Panel de Eventos
Aquí se configuran los mensajes dinámicos que leerá el monitorista usando las variables de la plataforma. Usa el botón Insert o Latest de GPSGate para insertar las variables de forma segura.
| Texto activo (entrada) |
🚨 Unidad entró en zona de riesgo: [GEOFENCE_NAME] — Tracker: [USER_DISPLAYNAME] — [POS_TIME] |
| Texto inactivo (salida) |
✅ Unidad salió de zona de riesgo: [GEOFENCE_NAME] |
Paso 7. Flujo de diagnóstico RODOX (automatismo)
Con la configuración anterior, el ciclo completo de diagnóstico es:
| 1. Unidad entra a geocerca | GPSGate evalúa Expression: ¿ivanrisk_activo = true? Si no → no dispara. |
| 2. Event Rule dispara | GPSGate construye URL con todos los SIGNAL_* y envía GET a RODOX. |
| 3. RODOX recibe | Lee SIGNAL_IVANRISK_UUID del query string → lookup key al paquete. |
| 4. RODOX consulta | GET /api/v1/monitoreo/{uuid}/contexto → ruta, riesgo, municipios. |
| 5. RODOX diagnostica | Tracker (GPRS/SMS) + contexto iVAN Risk → veredicto: ✅ normal / ⚠️ indeterminado / 🚨 emergencia. |
| 6. Escalamiento | Solo si 🚨 emergencia → Voice Alert al monitorista. Si ⚠️ → notificación push. |
¿Por qué funciona automáticamente? iVAN Risk crea geocercas vía API con "groups": ["IVAN-RISK"]
y escribe los Custom Fields ivanrisk_uuid, ivanrisk_token, ivanrisk_activo
en la unidad. Al terminar el monitoreo, borra las geocercas y limpia los custom fields. La regla nunca se toca —
solo cubre lo que esté en el grupo y las unidades con ivanrisk_activo = true.
[GEOFENCE_NAME] se expande a "Riesgo MUY ALTO - Fresnillo - TKT-12345".
⚠️ Notas: (1) Si en tu pantalla de GPSGate el formato de variable usa corchetes [ ] en lugar de llaves
{ }, usa el formato que muestre el botón Insert. (2) Los Custom Fields deben existir en
Assets → Manage Custom Fields antes de asignarles valor. (3) Verificar en el Swagger de Server1
el nombre exacto del campo para asignar grupo (groups, geofenceGroups, o groupName).
(4) La URL de ExternalNotification no debe tener parámetros dinámicos manuales — GPSGate los agrega solo.
Resumen: las credenciales se configuran en el admin de iVAN Risk (paso 1). La Application y Custom Fields en GPSGate Server1 (paso 2). El Click Script en GPSGate (paso 3). El ciclo EGO de arriba automatiza el sync de custom fields (fase 5). La geocerca (fase 6) se maneja con POST/DELETE cuando se active el monitoreo dedicado. Este simulador es el ejemplo de referencia para tu integracion.