No existe un orden universal de canales
Casi todas las cadenas de fallback empiezan por una escalera de canales y luego descubren que esa escalera no encaja con la mitad de los recorridos. El orden es una salida, no una entrada.
Las entradas son el objetivo de negocio y el plazo útil.
Qué evalúa realmente la política
Antes de cada intento: objetivo y criterio de éxito; plazo útil tras el cual entregar ya no ayuda; consentimiento y preferencia declarada del destinatario; destino verificado; disponibilidad del canal en ese mercado y aprobación de tu remitente; urgencia y sensibilidad del contenido; coste por resultado completado; y fiabilidad de la señal que devuelve el canal.
Señales fiables y ambiguas
Un rechazo en el envío permite pasar al siguiente canal. Una confirmación de entrega dice que el canal llegó al dispositivo, no que alguien lo viera. Un indicador de lectura, cuando existe, no prueba atención y el destinatario puede desactivarlo. La ausencia de estado es ambigüedad, no fallo: tratar el silencio como fallo genera duplicados.
Un recorrido, una identidad
Un identificador de recorrido creado al decidir comunicar, presente en cada intento, callback y resultado. Con él: la elegibilidad se reevalúa antes de cada intento; la idempotencia y la deduplicación se aplican a nivel de recorrido; el estado del intento y el del recorrido son distintos; las condiciones de parada tienen prioridad si el objetivo se cumple o cambia el estado de negocio; y los callbacks tardíos se registran sin reabrir un recorrido terminado.
Serie o paralelo
En serie por defecto. En paralelo cuando el coste de un mensaje no recibido supera claramente el de la duplicación —seguridad, fraude, incidencias— o cuando el plazo no permite una cadena en serie. Para un código que el usuario espera, la restricción es el plazo, no una regla sobre canales permitidos; lo que hay que evitar es emitir dos códigos para la misma sesión.
Tabla de decisión
| Recorrido | Objetivo y plazo | Lógica de orden | Condiciones de parada |
|---|---|---|---|
| Código de autenticación | Código introducido en la sesión viva | Canal más rápido con señal fiable y destino verificado | Verificación, fin de sesión, plazo vencido |
| Aviso de entrega o cita | Informar antes del evento | Canal preferido y luego el siguiente elegible | Acuse, evento ocurrido o cancelado |
| Solicitud de pago | Pago antes del vencimiento | Canal con consentimiento e identidad; escalar a canal con respuesta | Pago recibido, acuerdo, cambio de estado |
| Seguimiento de soporte | Respuesta recibida | El canal de la conversación | Respuesta, cierre del ticket |
| Promocional | Interacción consentida | Canal consentido más barato, sin repetir la oferta | Baja, límite de frecuencia, fin de campaña |
| Operativo urgente | Acuse de recibo | Paralelo entre canales elegibles y escalado humano | Acuse o escalado completado |
Máquina de estados
recorrido: PLANIFICADO -> INTENTANDO -> COMPLETADO | DETENIDO | AGOTADO
por intento: comprobar plazo y condiciones de parada, reevaluar elegibilidad,
crear intento con clave guardada antes del envío
resultados: rechazo o fallo final -> siguiente candidato
entregado sin objetivo cumplido -> esperar el plazo del intento
sin estado al vencer el plazo -> AMBIGUO (avanzar es aceptar duplicar)
acción del destinatario -> COMPLETADO y cancelar pendientes
callback tardío: registrar, nunca reabrir un recorrido terminado
La rama ambigua es donde fallan la mayoría de los diseños. Cuando duplicar es dañino —un segundo código, una segunda solicitud de pago— lo correcto suele ser esperar o detener.
Atribución y coste
Resultados por tipo de recorrido y posición de la cadena que los consiguió; coste por resultado completado en toda la cadena; tasa de duplicación; tasa de ambigüedad; y eficacia de las condiciones de parada. Si la mayoría de resultados llegan en la segunda o tercera posición, la primera es la equivocada para esa población.
El modelo de suministro
Flowstates vende y opera rutas de mensajería en varios canales, admite contratos propios del cliente (BYOV) y modelos híbridos. La lógica de la cadena es el mismo trabajo en cualquiera de esos modelos y vive junto al estado de negocio que define el objetivo.