Saltar al contenido
nvíame
Capítulo 3 de 410 min1 oct 2026

Costos y arbitración de rutas

Cómo se forma el precio de un SMS y cómo equilibrar costo con calidad.

El precio de un SMS A2P combina la tarifa de terminación del operador, el margen del agregador y, en algunos casos, cargos de registro. Varía por país y operador destino.

Costo por resultado

costo_por_verificacion = (costo_msg × segmentos × envíos_por_usuario) / tasa_verificación

Esta fórmula cambia decisiones. Reducir un segmento por codificación, o un reenvío por mejor latencia, suele ahorrar más que negociar la tarifa.

Rutas grises

El precio de un SMS depende del país y del operador de destino, del tipo de remitente y, a veces, de la categoría del contenido. Las tarifas cambian con frecuencia, por lo que tu sistema debe leerlas de una tabla versionada en lugar de tenerlas en el código.

La arbitración consiste en elegir, para cada mensaje, la ruta con mejor relación entre costo y calidad. Hecha con cuidado reduce costos de forma notable; hecha solo por precio degrada la entrega y termina costando más en reenvíos y soporte.

Calcula siempre el costo por mensaje entregado, no por mensaje enviado. Una ruta barata con 80% de entrega puede ser más cara que una ruta premium con 98%.

Se completa automáticamente al leer el 80%.

Comentarios (3)

Valentina Muñoz1 oct 2026

¿Siempre conviene la ruta más barata?

Equipo nvíameAutor1 oct 2026

Casi nunca para OTP. Una ruta barata con 85% de entrega cuesta más por usuario verificado que una cara con 98%. Optimiza costo por resultado, no por mensaje.

Joaquín Vega1 oct 2026

Lo apliqué en el proyecto del trabajo. La sección «Costos y arbitración de rutas» me ahorró una discusión larga con el equipo: ahora tenemos un criterio compartido.

Matías Herrera1 oct 2026

¿Hay alguna diferencia importante si lo implemento en un servicio con varias instancias detrás de un balanceador?

Equipo nvíameAutor1 oct 2026

Sí: todo estado que hoy vive en memoria (contadores, sesiones, claves vistas) debe moverse a un almacén compartido con TTL, como Redis. Si no, cada instancia ve solo una parte de la historia.

Los comentarios se guardan solo en este navegador.