Saltar a contenido

US-057 — Horario de mensajes proactivos

Detalle de la historia

Historia

Como cliente de FleteChat que recibe notificaciones proactivas, quiero que los mensajes no críticos lleguen dentro de un horario razonable, para no recibir notificaciones en la madrugada o a horas que interrumpan mi descanso.

Persona de usuario

Aplica a todo cliente que recibe notificaciones proactivas del agente: recordatorios (US-016), cambios de estatus (US-026), mensajes de alerta (US-040 en su dimensión externa si la hubiera) y cualquier otra notificación iniciada por FleteChat. No aplica a mensajes que son respuesta a un mensaje del cliente (esos mantienen la ventana de conversación del cliente, no están limitados por horario).

Contexto de negocio

Las notificaciones proactivas por plantilla Meta llegan al WhatsApp del cliente en el momento en que FleteChat las dispara. Sin política de horario, un cambio de estatus a las 3:00 am despierta al cliente. Para mensajes críticos (por ejemplo, rechazo de aprobación, caída de un proveedor que bloquea el embarque) la urgencia justifica el horario; para mensajes no críticos (recordatorios, avisos de avance normales) el valor agregado no compensa la interrupción.

La política distingue entre mensaje crítico (exento de horario, ver PR-198) y mensaje no crítico (sujeto al horario razonable, ver PR-197). Cada tipo de notificación en el sistema se clasifica explícitamente. Los mensajes no críticos disparados fuera del horario se encolan y salen al inicio de la ventana horaria siguiente.

Criterios de aceptación

Clasificación de mensajes

  1. Cada tipo de notificación proactiva del sistema se clasifica como crítico o no crítico. La clasificación es explícita y forma parte del catálogo de notificaciones; cambios se configuran desde el backoffice (parámetros globales, ver US-046).
  2. Por defecto en v1.0, la clasificación es:

    Notificación Origen Clasificación
    Cambio de estatus del embarque US-026 no crítico
    Recordatorio de formulario US-016 no crítico
    Devolución al agente tras handoff US-036 (PR-150) crítica
    Aceptación del handoff por el operador US-034 no crítica
    Alerta de vencimiento / cambio de nivel corporativo al cliente US-040 (PR-218) crítica
    Confirmación de aprobación formal enviada al titular US-012 (PR-226) crítica
    Confirmación de opt-out / reactivación ejecutado US-064 crítica
    Re-consentimiento por cambio sustancial de política US-063 (AC 9, PR-207) crítica
    Aviso de solicitud Ley 81 recibida, actualizaciones de estado y respuesta formal US-061 crítica

    La clasificación es revisable y configurable desde parámetros globales (ver US-046 y PR-230). Cualquier historia que introduzca una notificación nueva debe declarar en qué celda encaja antes del go-live.

Ventana horaria

  1. La ventana horaria "razonable" se define por hora de inicio y hora de fin, expresadas en una zona horaria de referencia (ver PR-197). Valor por defecto: 8:00–22:00 en la zona horaria configurada para FleteChat.
  2. La ventana horaria y la zona horaria son configurables por FleteChat desde parámetros globales.

Comportamiento

  1. Un mensaje crítico se envía inmediatamente, independientemente del horario (ver PR-198).
  2. Un mensaje no crítico disparado dentro de la ventana se envía inmediatamente.
  3. Un mensaje no crítico disparado fuera de la ventana se encola y se envía al inicio de la ventana horaria siguiente. El encolamiento preserva el orden de disparo para mensajes sobre la misma entidad.
  4. Cuando varios mensajes no críticos sobre el mismo embarque/cotización quedan encolados, FleteChat no los consolida por defecto (ver Epic 4, edge case de "varios cambios de estatus consecutivos"): se envían en orden.

Audit log

  1. Cada mensaje proactivo disparado deja registro con: tipo, clasificación (crítico/no crítico), timestamp de disparo, timestamp de envío efectivo (puede diferir si fue encolado), destinatario. Esto permite auditar el impacto del horario sobre la entrega.

Edge cases

  • Mensaje no crítico disparado a las 21:58 y la ventana cierra a las 22:00. Se envía inmediatamente (está dentro de la ventana). No se aplica un "colchón" antes del cierre en v1.0.
  • Dos mensajes no críticos sobre el mismo embarque caen a las 2:00 y 5:00 am. Ambos quedan encolados y salen a las 8:00 am en orden. El cliente ve dos notificaciones seguidas; es el comportamiento esperado.
  • Zona horaria del cliente vs. zona horaria de FleteChat. v1.0 usa la zona horaria de FleteChat configurada como America/Panama por defecto (no la del cliente): clientes en otra zona horaria reciben mensajes según la ventana de FleteChat. Soporte por zona horaria del cliente queda fuera del alcance de v1.0.
  • Mensaje crítico disparado a las 3:00 am. Se envía inmediatamente; el audit log deja constancia. La clasificación "crítica" debe ser revisada cuidadosamente para no abusar.
  • Cambio de la ventana horaria con mensajes ya encolados. Los mensajes encolados usan la ventana vigente al momento de liberarse, no al momento del encolamiento. La UI advierte al admin que cambiar el horario afecta la cola actual.

Tamaño, prioridad y tipo

  • Tamaño: S
  • Prioridad: P1 — política de respeto al cliente; su ausencia degrada la percepción del servicio rápidamente.
  • Tipo: feature

Premisas

La historia está redactada bajo las siguientes premisas. Si alguna cambia, la historia debe revisarse y ajustarse en consecuencia. Todas deben ser confirmadas por el cliente antes de cerrar la historia.

  • PR-197 — Ventana horaria razonable configurable. Los mensajes no críticos se entregan dentro de una ventana horaria definida por hora de inicio, hora de fin y zona horaria explícita de FleteChat (default America/Panama, configurable desde US-046). Valor por defecto de la ventana: 8:00–22:00 en esa zona horaria. Toda referencia horaria del sistema a "horario razonable" resuelve contra esta zona.
  • PR-198 — Mensajes críticos exentos de horario. Los mensajes clasificados como críticos se envían inmediatamente, sin importar el horario. La clasificación por tipo de notificación es configurable desde el backoffice.
  • PR-230 — Matriz de clasificación crítico/no crítico como parámetro global. La tabla de AC 2 es la matriz oficial de clasificación de notificaciones proactivas. La matriz se mantiene como parámetro global de US-046; cada notificación proactiva del sistema aparece con su origen (historia) y su clasificación (crítica / no crítica). Cualquier historia nueva que introduzca una notificación proactiva debe declarar su celda en esta matriz antes de cerrarse como refinada. La UI de parámetros globales expone la matriz para revisión y ajuste exclusivamente al rol admin; los cambios quedan en audit log (ver PR-231).

Refinamiento y Definition of Ready

Notas

Fecha Participantes Acuerdo / Nota
2026-04-19 Kaeus Versión inicial.
2026-04-20 Kaeus Aprobación interna: pase a 🔵 Refinada.
2026-04-20 Kaeus Se amplía AC 2 con la matriz exhaustiva de notificaciones proactivas y su clasificación default (incluye las introducidas por PR-218, PR-226, US-064, US-063 AC 9, US-061). Se añaden PR-230 (matriz como parámetro global oficial) y zona horaria explícita America/Panama como default en PR-197. Resolución de hallazgos P6-07 y P4-06 de la revisión exhaustiva.

Checklist

  • ✅ Historia escrita en formato Como / Quiero / Para
  • ✅ Persona de usuario identificada
  • ✅ Contexto de negocio documentado
  • ✅ Criterios de aceptación observables y pass/fail
  • ✅ Edge cases relevantes listados
  • ✅ Tamaño y prioridad asignados
  • ⬜ Premisas PR-197, PR-198 y PR-230 confirmadas por el cliente
  • ⬜ Reglas de negocio aplicables aprobadas
  • ⬜ Requerimientos funcionales aplicables aprobados
  • ⬜ Historia aprobada formalmente por el cliente