Capítulo 3 de 5 · 13 min de lectura
Orden de fallback inteligente
Decide el canal por país, historial y costo en lugar de una lista fija.
Flujos OTP multicanal · 0/5 completados
- SMS como canal base
- OTP por chat e IP
- Orden de fallback inteligente
- Voice OTP y accesibilidad
- Plantillas y localización es-CL
En este capítulo
Una lista fija de canales (chat → SMS → voz) es un buen comienzo, pero deja dinero y conversión sobre la mesa. El mejor canal para un número depende del país, de si ese usuario verificó antes y por dónde, y del costo relativo de cada ruta.
Señales para decidir
- Último canal exitoso del usuario: el mejor predictor que tendrás.
- País y operador: tasas de entrega históricas por ruta.
- Costo: un SMS internacional puede costar varias veces uno doméstico.
- Riesgo de la acción: para una transferencia, prioriza canales con menos exposición a SIM swap.
const CHANNELS = ["chat", "sms", "voice"];function channelOrder(user) {return CHANNELS;}
Tiempos de espera
Espera la confirmación de entrega entre 8 y 15 segundos antes de saltar de canal. Si no tienes recibo de entrega confiable, deja que el usuario lo pida («¿No llegó? Probar por SMS»): es más barato y le da control.
Un detalle que suele pasarse por alto: el número virtual (DID) desde el que respondes en voz o SMS también importa para la confianza del usuario. Un número local de Argentina asignado con mx.did.assign("AR") para un servicio argentino genera menos sospecha de spam que un número extranjero genérico.
Registra en cada verificación el canal finalmente exitoso junto con el país y el operador detectado, porque ese histórico es justamente el insumo que alimenta channelOrder para los próximos usuarios de la misma región.