Enrutamiento automático de tickets por zona horaria (con código)

Aprende a implementar un router de tickets que envía cada incidencia al centro de soporte abierto según su hora local, con código TypeScript listo para usar.

miércoles, 29 de julio de 2026 • 5 min de lectura • Equipo Q2BSTUDIO

Optimiza tu soporte con enrutamiento follow-the-sun

Las empresas con operaciones globales se enfrentan a un reto constante: ofrecer soporte técnico ininterrumpido sin necesidad de mantener turnos de noche en todas las oficinas. La solución clásica es el enrutamiento follow-the-sun, que asigna automáticamente cada ticket a la región que en ese momento se encuentra en horario laboral. Sin embargo, la implementación técnica esconde una complejidad que muchos subestiman: los cambios de horario de verano, las ventanas de cobertura nocturna y la necesidad de un fallback cuando ningún hub está operativo.

En Q2BSTUDIO hemos trabajado con múltiples empresas para diseñar sistemas de enrutamiento inteligentes, integrando cloud AWS/Azure, IA y automatización de procesos. Esta experiencia nos ha enseñado que un router de tickets basado en zona horaria no es un problema de operaciones exclusivamente, sino un desafío de ingeniería de software que requiere precisión en el manejo del tiempo, tolerancia a fallos y una arquitectura extensible.

El enfoque ingenuo consiste en hardcodear offsets UTC, pero esto rompe dos veces al año cuando los relojes cambian. Peor aún, si tu servidor está en una zona y tu equipo en otra, la hora local del servidor no sirve. La solución correcta es delegar el cálculo del tiempo a una API de zonas horarias que devuelva la hora local real de cada hub, incluyendo el estado DST (horario de verano). Así, en lugar de sumar o restar horas manualmente, comparas directamente la hora local en formato string (por ejemplo, "09:30:00") con la ventana de cobertura definida en tu configuración.

Modelar los hubs de soporte es el siguiente paso. Cada hub debe tener un identificador, una zona IANA (como "Europe/Berlin"), un diccionario de horarios por día de la semana (abierto y cierre), una lista de festivos locales y una prioridad para desempates. También es recomendable incluir los idiomas que maneja, para enrutar preferentemente a un hub que hable el idioma del cliente. La configuración debe estar en un archivo aparte, no incrustada en la lógica de enrutamiento, para que los cambios de cobertura no requieran modificar el código.

La lógica de decisión se reduce a tres pasos: determinar qué hubs están abiertos en su hora local, seleccionar el mejor entre ellos (por idioma, prioridad y un tie-break estable), y devolver un fallback si ninguno lo está. El fallback es crucial: nunca debe dejarse un ticket sin asignar. En su lugar, se envía a un hub de guardia (on-call) que esté configurado para recibir tickets fuera de horario. Esto es mejor que perder un ticket o que un hub reciba uno cuando no hay nadie.

Además del enrutamiento, es muy útil enriquecer el ticket con la hora local del cliente. Saber si el cliente escribe a las 3 de la madrugada o a las 2 de la tarde cambia el tono de la respuesta. Una llamada adicional a la misma API de zona horaria, pero usando la IP del solicitante, proporciona su ciudad, país y hora local. Este dato se puede añadir como comentario interno en el sistema de tickets (Zendesk, Freshdesk, etc.) para que el agente tenga contexto.

La implementación técnica puede realizarse con cualquier lenguaje, pero aquí usamos TypeScript para mostrar el patrón. Se define un cliente HTTP que consulta la API con un timeout (1.5 segundos) y cachea el resultado por zona durante 30 segundos, para no martillear el endpoint en picos de tickets. Luego, la función isOpenNow recibe un hub, obtiene su hora local, extrae el día de la semana de la respuesta, y compara la hora actual con la ventana definida para ese día. También maneja ventanas nocturnas (por ejemplo, de 22:00 a 06:00) revisando si la hora actual cae en la parte del día anterior.

Cuando varios hubs están abiertos, se ordenan primero por coincidencia de idioma, luego por prioridad numérica y finalmente por identificador (para estabilidad). El primero de la lista es el destino. Si ninguno está abierto o todas las llamadas fallan, se usa el hub de fallback predefinido.

Un error común es no considerar que la hora local del hub puede no estar disponible por un error de red o límite de tasa. La función debe devolver un estado "unknown" en lugar de "false", porque un fallo no equivale a "cerrado". Así evitamos enrutar a un hub que podría estar abierto pero no pudimos verificar, o cerrar la puerta a todos los hubs cuando solo uno falló.

La integración con sistemas de helpdesk como Zendesk es directa: un trigger en el helpdesk envía un POST a tu endpoint cuando se crea un ticket. Tu servicio ejecuta el enrutamiento y luego actualiza el grupo o región del ticket mediante la API correspondiente. Es importante que el endpoint devuelva un código de error (por ejemplo, 502) si la asignación falla, para que el trigger de Zendesk pueda aplicar una regla de respaldo.

Desde la perspectiva de Q2BSTUDIO, este tipo de solución encaja perfectamente en proyectos de automatización de procesos software. La lógica de enrutamiento puede ampliarse con agentes de IA que clasifiquen tickets por urgencia o sentimiento antes de enviarlos al hub adecuado. También puede integrarse con cuadros de mando de Business Intelligence (Power BI) para analizar los tiempos de respuesta por región y optimizar las ventanas de cobertura.

La ciberseguridad no debe descuidarse: las APIs de zona horaria deben autenticarse mediante clave, y el endpoint de enrutamiento debe protegerse contra inyecciones y abusos. Q2BSTUDIO ofrece servicios de ciberseguridad y pentesting para garantizar que tu infraestructura cloud (AWS/Azure) sea robusta frente a ataques.

En resumen, el enrutamiento automático de tickets por zona horaria es una pieza de software que parece simple pero requiere atención al detalle. Con una arquitectura basada en APIs de tiempo real, configuración externalizada y un fallback sólido, cualquier empresa global puede ofrecer soporte 24/7 sin duplicar equipos. Si estás planteando implementar un sistema así o necesitas asesoramiento sobre desarrollo de aplicaciones a medida, en Q2BSTUDIO podemos ayudarte a diseñar una solución escalable, segura y adaptada a tu negocio.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.