Seguimiento en vivo
El seguimiento en vivo muestra en tus mapas publicados dónde están tus vehículos y dónde paran hoy: la ruta de un food truck, un circuito de lanzadera, una clínica móvil. Los visitantes ven moverse en el mapa cada vehículo que está de turno, las paradas de hoy con Aquí ahora, Abierto ahora o Cerrado hoy, y una estimación de cuánto falta para la próxima parada. Consulta el diseño en vivo para saber qué ve un visitante.
Tiene tres partes, todas en Kaleidr Studio:
| Parte | Qué es |
|---|---|
| Una colección de Paradas | El horario: cada parada, su dirección y sus ventanas de servicio semanales. Una colección de la Biblioteca de lugares como cualquier otra. |
| Una flota | Tus vehículos, sus turnos y con qué precisión los ven los visitantes. Se gestiona en Datos, Flota. |
| Posiciones | Dónde está cada vehículo, a partir de una de cuatro fuentes: el enlace de registro de un conductor, un teléfono en modo conductor, un rastreador propio, o un conector con tu proveedor de telemática. |
Las posiciones solo se muestran mientras un vehículo está de turno. Una posición registrada fuera de todos los turnos de su vehículo se descarta al llegar: nunca se guarda ni se muestra, solo se cuenta. Consulta Turnos.
Flotas
En Datos, elige la pestaña Flota y luego Nueva Flota. Dale un nombre y una zona horaria, y elige su Colección de Paradas si tienes una. Studio crea una colección de Vehículos con el mismo nombre: esa colección es la flota en tus mapas, y la añades a un mapa como cualquier colección. No contiene lugares importados; sus vehículos son los de la flota.
Añadir Vehículo, en la página de la flota, añade uno:
| Campo | Visible para los visitantes | Uso |
|---|---|---|
| Nombre | Sí | La etiqueta del vehículo en el mapa y en el panel, como "Camión 1". Única en la flota. |
| Tipo | Sí | Camión, furgoneta, coche, autobús, lanzadera, barco, carrito o bicicleta. |
| Color | Sí | El color del vehículo en el mapa. |
| Descripción | Sí | Una línea breve en su ficha, de hasta 200 caracteres. |
| ID externo | No | Tu propio id, que usan los conectores y la columna Vehículo de tus paradas. |
| Horario de turnos | No | Las horas semanales que siguen los turnos de una flota con horario programado. Consulta Turnos. |
Un vehículo desactivado nunca se muestra y sus posiciones se descartan. La página de la flota dibuja un mapa en vivo de ella, con precisión completa, solo para ti.
Los propietarios, administradores y miembros gestionan flotas y vehículos; los lectores pueden verlos. Solo los propietarios y administradores eliminan una flota, borran el historial de un vehículo y gestionan conectores. Eliminar Flota elimina la flota, sus vehículos, dispositivos, enlaces, turnos, historial y conectores, y después su colección de Vehículos.
Horarios de paradas
El horario es una colección de Paradas. Cada parada es un lugar con un nombre y una dirección o coordenadas, y estos campos fijan cuándo se atiende:
| Campo | Significado |
|---|---|
| Horario | Las ventanas de servicio semanales de la parada, escritas como un horario de apertura: hasta cuatro ventanas por día. Una ventana puede cruzar la medianoche y pertenece al día en que empieza. |
| Zona Horaria | La zona en la que están escritas las ventanas. Vacía, la de la colección. |
| Estado | paused quita la parada de todos los días. Cualquier otro valor, o ninguno, la mantiene. |
| Vehículo | El nombre o el ID externo del vehículo que atiende la parada. Vacío, cualquier vehículo de la flota. |
| Fechas de servicio | Fechas en formato YYYY-MM-DD, separadas por comas o espacios. Si existen, la parada funciona solo en esas fechas. |
En una fecha concreta, las ventanas de una parada son:
- ninguna si su estado es
paused, o si su zona horaria no es válida; - ninguna si tiene Fechas de servicio y la fecha no está entre ellas;
- sin Horario: el día entero si las Fechas de servicio incluyen la fecha, y si no, ninguna;
- en otro caso, el Horario de ese día de la semana.
Una parada está abierta ahora cuando una ventana de hoy contiene la hora local, o cuando la contiene una ventana de ayer que cruza la medianoche. "Hoy" es la fecha en la zona horaria de la flota.
| Parada | Consulta | Ventanas | Abierta |
|---|---|---|---|
| Horario lunes 11:00–14:00 | Lunes 12:00 | 11:00–14:00 | Sí |
| La misma | Lunes 15:00 | 11:00–14:00 | No |
La misma, con Fechas de servicio 2026-11-02 | Lunes 2026-11-09, 12:00 | Ninguna | No |
Fechas de servicio 2026-11-02, sin horario | 2026-11-02, 09:00 | Todo el día | Sí |
Horario lunes 11:00–14:00, Estado Paused | Lunes 12:00 | Ninguna | No |
| Horario viernes 22:00–02:00 | Sábado 01:00 | La del viernes, 22:00–02:00 | Sí |
| Horario lunes 11:00–14:00, zona horaria no válida | Lunes 12:00 | Ninguna | Desconocido |
Fechas de servicio 2026-11-02, 2026-11-03 2026-11-04, horario lunes 11:00–14:00 | Martes 2026-11-03 | El horario del martes: ninguna | No |
La plantilla Location del creador de plantillas y Descargar hoja de ejemplo te dan una colección de Paradas ya rellenada para empezar.
Enlaces de registro
Un enlace de registro permite a un conductor marcar el vehículo en una parada desde el navegador de cualquier teléfono, sin app y sin cuenta.
Crea uno en la página de la flota: un vehículo, Enlace de Llegada, Crear Enlace. Studio muestra el enlace una sola vez, con Copiar Enlace y un código QR para escanear. Tiene este aspecto: https://map-embed.kaleidr.com/checkin.html#….
- Un enlace por vehículo, válido durante 180 días. Reemplazar Enlace emite uno nuevo y anula el anterior al instante; úsalo cuando se pierde un teléfono o un conductor se va. Revocar Enlace lo anula. Después, Studio solo muestra los cuatro últimos caracteres del enlace, cuándo caduca y cuándo se usó por última vez.
- El enlace es una llave. Cualquiera que lo tenga, cerca de una parada, puede registrar el vehículo. Compártelo solo con el conductor.
- Ábrelo en un navegador. La página no funciona dentro del marco de otra página.
La página del conductor muestra el vehículo, las paradas de hoy y su estado:
- Ya estoy aquí lee la ubicación del teléfono una vez y registra la llegada en la parada que está a su alcance: 250 metros más la precisión de la lectura, que debe ser de 100 metros o mejor. Si hay más de una parada a su alcance, o ninguna, la página muestra las paradas de hoy y el conductor elige una, que debe estar a menos de 2.000 metros. Una flota con Permitir registro fuera de las paradas activado ofrece además No es una parada programada.
- Cerrado por hoy marca las paradas restantes del vehículo hoy como Cerrado hoy y termina su turno. Reabrir hoy, el mismo día, quita esas marcas; no inicia ningún turno.
Un registro abre un turno hasta 30 minutos después de que termine la ventana de la parada, y muestra el vehículo en la posición propia de la parada, no en la del teléfono. La ubicación del teléfono se usa para encontrar la parada y después se descarta. Un registro fuera de una parada muestra el vehículo en la posición del teléfono durante cuatro horas, redondeada a unos 10 metros, o más si la precisión pública de la flota es menor.
Teléfonos en modo conductor
El teléfono de un conductor con la app de Kaleidr comparte la posición del vehículo mientras el turno del conductor está activo. En la página de la flota, un vehículo, Vincular Teléfono, Mostrar Código de Vinculación muestra un código QR y un código de ocho caracteres, válido durante 10 minutos y una sola vez. El conductor escanea el QR con la cámara del teléfono, o escribe el código en la app. Consulta Modo conductor para la parte del conductor.
Dispositivos muestra los teléfonos y rastreadores de cada vehículo. Desvincular quita uno al instante: su siguiente llamada se rechaza y el turno que inició termina.
Rastreadores y la API de posiciones
Un rastreador es cualquier dispositivo o sistema tuyo que envía posiciones: una unidad GPS con un cliente HTTP, o tu propio software de despacho. En la página de la flota, un vehículo, Añadir Rastreador, dale un nombre y Studio muestra su clave una sola vez. La clave pertenece a ese vehículo.
curl https://api.kaleidr.com/live-api/v1/positions \
-H "Authorization: Bearer YOUR_DEVICE_KEY" \
-H "Content-Type: application/json" \
-d '{
"positions": [
{ "lat": 40.74110, "lng": -73.98970, "heading": 90, "speed": 8.3, "accuracy": 12,
"recorded_at": "2026-10-22T15:04:05Z" }
],
"sent_at": "2026-10-22T15:04:06Z"
}'
| Campo | Regla |
|---|---|
positions | De 1 a 100 puntos, en cualquier orden. El cuerpo ocupa como máximo 64 KiB. |
lat, lng | Obligatorios. Dentro de rango, y no ambos 0. |
heading | Grados desde el norte. |
speed | Metros por segundo. |
accuracy | Metros. Un punto con una precisión peor que 100 metros se descarta. |
recorded_at | Obligatorio. Cuándo se midió la posición: RFC 3339, o milisegundos desde 1970. |
sent_at | Cuándo se envió el lote, según el reloj del dispositivo. Si difiere del de Kaleidr en más de 5 segundos y menos de un día, cada recorded_at se corrige con la diferencia; si es de un día o más, el lote se rechaza. |
La respuesta:
{
"accepted": 1,
"dropped": { "off_shift": 0, "stale": 0, "future": 0, "inaccurate": 0, "rate": 0, "duplicate": 0 },
"shift": { "id": "…", "state": "on", "ends_at": "2026-10-23T03:04:05Z" },
"min_interval_s": 10
}
| Descartado como | Por qué |
|---|---|
off_shift | Registrado fuera de todos los turnos del vehículo, o el vehículo está inactivo. Nunca se guarda. |
stale | Registrado hace más de 12 horas. |
future | Registrado más de 30 segundos por delante del reloj de Kaleidr. |
inaccurate | Precisión peor que 100 metros, o velocidad o precisión negativas. |
rate | Más cerca en el tiempo del punto anterior del vehículo que el intervalo de actualización de tu plan. |
duplicate | Ya se guardó un punto con el mismo recorded_at. |
GET /live-api/v1/device devuelve el dispositivo, su vehículo, la flota y el turno abierto. POST /live-api/v1/device/shift con { "action": "start" } o { "action": "end" } inicia o termina el turno del vehículo desde el dispositivo.
| Estado | error | Significado |
|---|---|---|
| 400 | invalid_request | El cuerpo está mal formado; field indica la parte. |
| 400 | clock_invalid | sent_at difiere un día o más del reloj de Kaleidr. |
| 401 | unauthorized | No hay clave, o es desconocida. |
| 401 | device_revoked | El dispositivo se quitó en Studio. Deja de enviar. |
| 409 | off_shift | El lote tenía puntos, ninguno cayó en un turno y no hay ningún turno abierto. Deja de enviar hasta que empiece un turno. |
| 413 | batch_too_large | Más de 100 puntos, o más de 64 KiB. |
| 429 | rate_limited | Más de 12 solicitudes por minuto desde este dispositivo. Espera los segundos de Retry-After. |
Los errores son { "error": <code>, "message": <sentence> }. Envía cada 10 a 30 segundos mientras el vehículo se mueve: un lote de puntos es mejor que una solicitud por punto.
Conectores
Un conector trae posiciones de un sistema de telemática al que tus vehículos ya informan. Los propietarios y administradores añaden uno en la página de la flota, en Conectores, Añadir Conector. Los conectores están disponibles en Pro y Enterprise.
| Conector | Lo que aportas | Cómo llegan las posiciones |
|---|---|---|
| Samsara | Un Token de API con acceso de lectura a las ubicaciones de los vehículos | Kaleidr pide a Samsara posiciones nuevas cada intervalo de Consultar Cada. |
| Geotab | Servidor (un host geotab.com), Base de Datos, Usuario, Contraseña | Kaleidr pide a Geotab registros nuevos cada intervalo de Consultar Cada. |
| Traccar | Nada: Studio muestra una URL de ingesta y un secreto | Tu servidor Traccar reenvía cada posición. |
| Webhook | Nada: Studio muestra una URL de ingesta y un secreto | Tu sistema publica lotes firmados. |
- Las credenciales son de solo escritura. Studio comprueba una credencial de Samsara o Geotab con una llamada antes de guardarla, y nunca la vuelve a mostrar. Reemplazar Credenciales la sustituye.
- El secreto de ingesta se muestra una vez. Rotar Secreto emite uno nuevo; el anterior sigue funcionando durante 24 horas.
- Emparejar Por decide cómo un vehículo del proveedor encuentra el tuyo: ID Externo (el predeterminado) o Nombre. Un vehículo del proveedor que no coincide con ninguno aparece en Vehículos sin emparejar, con Añadir como Vehículo; sus posiciones se descartan.
- Consultar Cada es de al menos 30 segundos, y nunca más corto que el intervalo de actualización de tu plan.
- Estado: Activo; En Pausa, por ti o porque tu plan permite menos conectores; Con Fallos tras cinco consultas fallidas seguidas, aunque se sigue reintentando; No Válido cuando el proveedor rechaza la credencial, hasta que la reemplaces. Un conector Traccar o webhook en pausa o no válido rechaza lo que se le envía.
Las posiciones de los conectores también pasan la regla de turnos.
Traccar
Añade estas líneas al archivo de configuración de tu servidor Traccar, traccar.xml, con la URL y el secreto que mostró Studio, y reinicia Traccar:
<entry key='forward.enable'>true</entry>
<entry key='forward.url'>https://api.kaleidr.com/live-api/v1/ingest/YOUR_CONNECTOR_ID/traccar</entry>
<entry key='forward.json'>true</entry>
<entry key='forward.header'>X-Kaleidr-Connector-Secret: YOUR_CONNECTOR_SECRET</entry>
Un dispositivo de Traccar se empareja con un vehículo por su id único (ID Externo) o por su nombre. Una posición que Traccar marca como no válida se descarta.
Webhook
Publica hasta 100 puntos por solicitud en la URL de ingesta, firmados con el secreto del conector:
import { createHmac } from 'node:crypto';
const body = JSON.stringify({
positions: [
{ vehicle: 'TRUCK-1', lat: 40.7411, lng: -73.9897, heading: 90, speed: 8.3, accuracy: 12,
recorded_at: '2026-10-22T15:04:05Z' },
],
});
const t = Math.floor(Date.now() / 1000);
const v1 = createHmac('sha256', process.env.KALEIDR_CONNECTOR_SECRET).update(`${t}.${body}`).digest('hex');
await fetch('https://api.kaleidr.com/live-api/v1/ingest/YOUR_CONNECTOR_ID/webhook', {
method: 'POST',
headers: { 'Content-Type': 'application/json', 'Kaleidr-Signature': `t=${t},v1=${v1}` },
body,
});
Kaleidr-Signatureest=<unix seconds>,v1=<hex HMAC-SHA256(secret, "<t>.<raw body>")>, el esquema de los webhooks de reservas en sentido contrario.tdebe estar a menos de 5 minutos del reloj de Kaleidr, y la firma debe cubrir exactamente los bytes que envías.vehiclees el ID externo o el nombre del vehículo, según indique Emparejar Por.speedva en metros por segundo,accuracyen metros, yrecorded_aten RFC 3339 o milisegundos desde 1970.- Una firma incorrecta se rechaza con 401
signature_invalid.
Turnos
Un turno es el tiempo durante el que se puede mostrar un vehículo. Cada vehículo tiene como máximo uno abierto, y dura como máximo 16 horas. Se abre y se cierra de una de cuatro formas:
| Lo abre | Termina |
|---|---|
| Iniciar Turno en el modo conductor | Terminar Turno, o 16 horas después |
| Un registro | 30 minutos después de que termine la ventana de la parada, Cerrado por hoy, o 16 horas después |
| Iniciar Turno en el vehículo en Studio | Terminar Turno en Studio, o 16 horas después |
| El horario de turnos del vehículo, en una flota cuyo Modo de Turno es Horario Programado | El final de ese horario |
- Fuera de turno, nada se publica ni se guarda. Una posición registrada fuera de todos los turnos se descarta al llegar. Solo se guarda el recuento de posiciones descartadas, para la sección Uso.
- Terminar un turno quita el vehículo de tus mapas en su siguiente actualización.
- Los conectores y los rastreadores informan todo el tiempo, así que decide el turno. En una flota Manual, sus posiciones solo pasan mientras hay un turno abierto por un conductor, un registro o Studio. En una flota con Horario Programado, el horario de turnos del vehículo abre y cierra sus turnos.
- Quitar un dispositivo termina el turno que inició.
Precisión pública
Privacidad y Visualización, en la página de la flota, fija con qué precisión ven los visitantes tus vehículos:
| Precisión pública | Los visitantes ven | Rumbo y velocidad |
|---|---|---|
| Exacta | La posición con una precisión de aproximadamente 1 metro | Se muestran |
| Calle, Unos 100 m (la predeterminada) | La posición redondeada a unos 100 metros | Se muestran |
| Zona, Unos 1 km | La posición redondeada a aproximadamente 1 kilómetro | Se ocultan |
- Un vehículo registrado en una parada se muestra en la posición propia de la parada.
- Marcar como Desactualizado Tras (de 30 a 900 segundos; 120 de forma predeterminada): un vehículo que no informa durante más tiempo muestra Visto hace 5 min.
- Ocultar Tras (de 60 a 3.600 segundos; 900 de forma predeterminada): un vehículo que no informa durante más tiempo no se muestra.
- Los visitantes solo ven el nombre, el tipo, el color, la descripción, el estado, la posición redondeada y la antigüedad del último informe de cada vehículo, además de su rumbo y su velocidad salvo con Zona, Unos 1 km. Los dispositivos, los ID externos y el historial nunca se publican.
Historial y conservación
Ves el recorrido de cada vehículo de un día en Historial, con precisión completa. El historial guarda como máximo un punto cada 30 segundos, o cada intervalo de actualización de tu plan si es mayor, además de cualquier punto a 200 metros o más del último guardado. Los puntos se eliminan pasados los días de historial de tu plan, y nunca se guardan más de 90 días.
- Borrar Historial (propietarios y administradores) elimina de una vez todas las posiciones y los turnos terminados de un vehículo.
- Eliminar un vehículo o una flota elimina su historial con él. Desvincular un dispositivo conserva el historial del vehículo.
- Un plan con menos días de historial elimina el historial sobrante en la siguiente limpieza diaria.
Los conductores no son cuentas de Kaleidr. Nada aquí identifica a una persona más allá de los nombres de dispositivo que escribes.
Estimaciones de llegada
El diseño en vivo muestra cuánto tardaría un vehículo en llegar a su próxima parada, o hasta un visitante que pregunta ¿Cuánto tarda hasta mí?. Cada uno de esos tiempos es una Estimación:
- Se calcula a partir de la distancia por carretera y velocidades habituales. No incluye el tráfico, y la ruta real del vehículo puede ser otra.
- Parte de la posición que ven los visitantes, con la precisión pública de la flota.
- Se muestra como una duración, Unos 12 min, nunca como una hora de llegada. Sin ruta por carretera, Sin estimación.
- La ubicación de un visitante se usa solo para esa estimación, y nunca se guarda ni se registra.
- Las rutas por carretera se construyen con datos de OpenStreetMap, © colaboradores de OpenStreetMap, bajo la ODbL.
Las estimaciones están limitadas a 20 por minuto para un visitante y 2.000 al día para un mapa. No cuentan para tu uso de Kaleidr AI.
Solo en mapas de Kaleidr
Los vehículos en vivo se dibujan en mapas que usan el mapa base propio de Kaleidr: todos los viewers incrustados y Studio. Kaleidr Map no dibuja los vehículos de una flota mientras muestra el mapa de otro proveedor. Ninguna posición de vehículo se envía a un proveedor de mapas externo.
Límites
| Límite | Free | Pro | Enterprise |
|---|---|---|---|
| Vehículos activos en toda la organización | 2 | 25 | Según tu acuerdo |
| Días de historial de posiciones | 1 | 30 | 90 |
| Intervalo mínimo entre los puntos de un vehículo | 30 segundos | 10 segundos | 5 segundos |
| Conectores | Ninguno | 3 | Según tu acuerdo |
Una flota tiene como máximo 500 vehículos. Un límite solo frena el trabajo nuevo: una organización por encima de uno conserva lo que tiene, salvo el historial que supere los días de su plan y los conectores por encima de su plan, que se ponen en pausa.
Uso, en la página de la flota, muestra los recuentos de hoy: posiciones aceptadas, posiciones descartadas y por qué, lecturas de visitantes y estimaciones.