Qué es OTP: significado del código de verificación por SMS y cómo funciona

OTP significa One-Time Password, es decir, contraseña de un solo uso: un código de 4 a 8 dígitos que llega por SMS, sirve para una sola operación y vence en pocos minutos. Es lo que la mayoría de las apps y bancos llaman código de verificación. Explicamos qué es un código OTP, cómo funciona la autenticación por SMS y cómo implementarla con una API SMS.

Flujo de verificación OTP por SMS
Flujo de verificación OTP por SMS

Qué es OTP: significado y por qué el SMS sigue siendo el canal más usado

OTP significa One-Time Password: una contraseña de un solo uso, normalmente de 4 a 8 dígitos, que sirve para una única operación y vence en pocos minutos. Se utiliza como segundo factor de autenticación (2FA) porque demuestra que la persona tiene acceso a un dispositivo concreto, el teléfono, además de conocer su contraseña.

Existen otros mecanismos, como aplicaciones de autenticación o notificaciones push, pero el SMS sigue siendo el más extendido por una razón simple: funciona en cualquier teléfono, sin instalar nada y sin conexión a internet. Para un banco, una fintech o una tienda en línea que atiende a millones de personas con dispositivos muy distintos, esa universalidad pesa más que cualquier otra ventaja.

Código de verificación: qué es y por qué llega por SMS

Código de verificación, código de seguridad, clave dinámica, token o NIP dinámico: casi siempre se trata de un OTP. Es el número que una app, una tienda o un banco envía a su celular para comprobar que usted es quien dice ser, ya sea al crear una cuenta, iniciar sesión, cambiar la contraseña o autorizar un pago. Se usa como segundo paso de la autenticación de dos factores.

Llega por SMS porque es el único canal que funciona en cualquier teléfono, sin instalar nada y sin datos móviles. Algunas reglas que conviene conocer, tanto si recibe códigos como si los envía:

  • El código sirve una sola vez y vence en minutos; si pide otro, el anterior deja de valer.
  • Nadie legítimo le pedirá ese código por teléfono, WhatsApp o correo. Si alguien lo pide, es un intento de fraude.
  • Si le llega un código de verificación que no pidió, alguien está intentando entrar a su cuenta o se equivocó de número: no lo comparta y, si se repite, cambie su contraseña. Vea cómo reconocer el smishing.
  • Para las empresas: el mensaje debe identificar la marca, indicar la vigencia y no llevar enlaces.

Tipos de OTP: por SMS, por llamada, por app y por correo

La sigla OTP describe el tipo de contraseña, no el canal. El mismo concepto de código de un solo uso se entrega de varias formas:

  • OTP por SMS: el código llega como mensaje de texto. Es el más usado porque funciona en cualquier teléfono, sin app ni datos.
  • OTP por llamada de voz: una llamada automática dicta el código. Sirve como respaldo cuando el SMS no llega o para usuarios con línea fija.
  • OTP por app autenticadora (TOTP): una aplicación genera un código nuevo cada 30 segundos a partir de una clave compartida. No depende del número de teléfono; lo comparamos con el SMS en MFA: OTP por SMS, app autenticadora o push.
  • OTP por correo electrónico: útil como alternativa, aunque menos inmediato y más expuesto si la cuenta de correo está comprometida.

Técnicamente existen dos familias de algoritmos estandarizados: HOTP, basado en un contador (RFC 4226), y TOTP, basado en el tiempo (RFC 6238). En el OTP por SMS lo más común es más simple todavía: su sistema genera un número aleatorio, lo guarda con un vencimiento y lo envía al usuario.

Cómo funciona el flujo paso a paso

El proceso completo toma unos segundos y pasa por seis etapas. Primero, el usuario realiza una acción que requiere verificación: crear una cuenta, iniciar sesión desde un dispositivo nuevo, autorizar una transferencia. Segundo, el backend de la empresa genera un código aleatorio, lo asocia al usuario y a la operación, y lo guarda con una fecha de vencimiento (normalmente entre 2 y 10 minutos).

Tercero, el backend llama a la API del proveedor de SMS con el número del usuario y el texto del mensaje. Cuarto, la plataforma valida la petición, la enruta al operador móvil correspondiente y este entrega el SMS al teléfono. Quinto, el usuario lee el código y lo escribe en la aplicación. Sexto, el backend compara el código ingresado con el almacenado, verifica que no haya vencido y que no se hayan superado los intentos permitidos, y aprueba o rechaza la operación.

Un punto importante: el código lo genera y lo valida siempre su sistema, no el proveedor de SMS. La plataforma de mensajería se encarga de que el mensaje llegue rápido y de informarle si se entregó.

Usuario ingresa un código de verificación en su smartphone junto a una laptop

Decisiones de diseño que marcan la diferencia

  • Longitud y formato: seis dígitos numéricos es el estándar. Más largo dificulta la escritura; más corto reduce la seguridad.
  • Vencimiento: entre 2 y 5 minutos para operaciones sensibles; hasta 10 para registros. Un código que vive demasiado es una puerta abierta.
  • Intentos: limite a 3 o 5 intentos por código y bloquee temporalmente después de varios fallos consecutivos.
  • Reenvío: permita reenviar solo después de 30 a 60 segundos y con un tope diario, para evitar abuso y costos innecesarios.
  • Texto del mensaje: incluya el nombre de la empresa, el código y una advertencia clara de no compartirlo. Evite enlaces.
  • Un código por operación: nunca reutilice el mismo OTP para acciones distintas.

Una recomendación adicional es registrar en su sistema el identificador (sid) que devuelve la API por cada envío, para poder cruzarlo con el reporte de entrega si un usuario reporta que no recibió el código.

Ejemplos de mensajes con código OTP

Un buen mensaje OTP dice quién lo envía, cuál es el código, cuánto dura y que no debe compartirse. Estos ejemplos caben en un solo SMS de 160 caracteres; omiten las vocales con acento agudo para mantenerse en GSM7:

  • “MiApp: su codigo de verificacion es 482913. Vence en 5 minutos. No lo comparta con nadie; MiApp nunca se lo pedira.”
  • “Banco Norte: codigo 731904 para autorizar la transferencia de $5,000.00. Si no fue usted, llame al 55 1234 5678.”
  • “TiendaX: use el codigo 205871 para confirmar su compra. Vence en 3 minutos. Si no reconoce la compra, ignore este mensaje.”
  • “Fintech Ya: su codigo para cambiar su contraseña es 660318. Si no lo solicito, comuniquese con soporte.”

Encontrará más plantillas por tipo de mensaje en 45 ejemplos de mensajes para clientes.

Seguridad: amenazas y cómo mitigarlas

El riesgo más conocido es el SIM swapping, en el que un atacante convence al operador de transferir el número de la víctima a otra tarjeta SIM. Se mitiga combinando el OTP con otras señales (dispositivo conocido, ubicación habitual, límites por monto) y ofreciendo un segundo factor alternativo para operaciones de alto riesgo.

El segundo riesgo es la ingeniería social: alguien se hace pasar por la empresa y le pide al cliente que le dicte el código. Por eso el texto del SMS debe decir explícitamente que nadie de la empresa lo solicitará. Y el tercero es el abuso del endpoint de envío (SMS pumping), que se controla con límites de frecuencia por número y por IP, y con validación del formato del número antes de enviar.

Del lado de la plataforma, Grupo Tecnophone añade capas propias: autenticación por token, lista de IPs autorizadas por conexión y cifrado opcional del número y el contenido del mensaje con RSA-OAEP, de modo que los datos sensibles viajen protegidos incluso dentro del canal HTTPS.

¿Por qué no llega el código OTP?

Cuando un usuario dice que no recibió el código, la causa casi nunca es la integración. Las más frecuentes en México son:

  • Línea suspendida: desde agosto de 2026 se suspenden las líneas que no completan el registro con CURP, y una línea suspendida no recibe SMS.
  • Número mal capturado o fijo: un dígito de más o un número de línea fija. Validar el número contra el Plan Nacional de Numeración (PNN) antes de enviar evita el intento.
  • Teléfono apagado o sin cobertura: el mensaje queda en espera hasta que el equipo vuelve a la red, y para entonces el código pudo haber vencido.
  • Filtros del operador o del teléfono: remitentes inconsistentes o textos con enlaces genéricos pueden filtrarse. Use siempre un remitente reconocible.

Para resolverlo rápido, guarde el identificador de cada envío y consulte su reporte de entrega (DLR); ofrezca un botón de reenvío con espera de 30 a 60 segundos y, como respaldo, el código por llamada de voz. Repasamos todas las causas en por qué no se entrega un SMS.

El OTP por SMS en la regulación mexicana

En la banca, el código por SMS es un factor de autenticación reconocido por la CNBV. En septiembre de 2026 se reformaron las disposiciones de banca electrónica y se habilitó el envío de códigos por SMS en operaciones con comisionistas de base tecnológica; lo explicamos en la CNBV permite enviar códigos de autenticación por SMS. Si un término no le resulta claro, consúltelo en nuestro glosario de SMS empresarial.

Cómo implementarlo con la API SMS de Grupo Tecnophone

La integración se reduce a una llamada HTTPS por cada código. Desde el panel de la plataforma se crea una conexión API, se copia el token y se registran las IPs desde las que su backend hará las peticiones. Con eso, el envío es una petición POST al endpoint de envío con dos campos: el número de destino y el texto.

curl -X POST https://api.grupotecnophone.com/prod/v1/sms/send \
  -H "Authorization: Bearer SU_TOKEN" \
  -H "User-Agent: MiApp/1.0" \
  -H "Content-Type: application/json" \
  -d '{"to": "+5215512345678", "body": "Su código MiApp es 482913. Vence en 5 minutos. No lo comparta."}'

La respuesta incluye un identificador único del envío (sid), el estado inicial, la codificación utilizada y el número de segmentos. Existe un ambiente sandbox que valida toda la lógica sin enviar mensajes reales, ideal para probar la integración antes de pasar a producción. La documentación completa, con ejemplos en PHP, Python, Node y Java, está en la sección de Desarrolladores.

Qué medir después de implementarlo

Tres indicadores dicen si su OTP funciona: la tasa de entrega (mensajes entregados sobre enviados), la latencia (segundos entre la petición y la entrega) y la tasa de conversión del flujo (usuarios que completan la verificación). Si la entrega es alta pero la conversión baja, el problema suele estar en el texto del mensaje o en la experiencia de la pantalla de ingreso del código.

Los reportes de entrega por mensaje y por operador de la plataforma le permiten detectar rápidamente si un problema es general o está concentrado en un operador o una región.

Para conocer cómo enviamos códigos de verificación con trazabilidad y controles antifraude, vea nuestra página de OTP por SMS para autenticación y verificación.

Lea también: OTP por SMS para empresas · Cómo elegir un proveedor de SMS OTP en México: 7 puntos que hay que evaluar · SMS como canal crítico para banca y fintech: OTP, alertas y respaldo

Fuentes

  • “RFC 4226: HOTP: An HMAC-Based One-Time Password Algorithm”, IETF, diciembre de 2005. Ver fuente
  • “RFC 6238: TOTP: Time-Based One-Time Password Algorithm”, IETF, mayo de 2011. Ver fuente
  • NIST SP 800-63B-4, Digital Identity Guidelines: Authentication and Authenticator Management (autenticación fuera de banda por SMS, vigencia máxima de 10 minutos y límite de intentos). nist.gov
  • OWASP, Multifactor Authentication Cheat Sheet (SIM swap y riesgos del OTP por SMS). owasp.org

Preguntas frecuentes

¿Necesita una plataforma SMS para su empresa?

Grupo Tecnophone ofrece mensajería SMS empresarial en México, API con sandbox y cifrado, reportes de entrega por mensaje y un panel para campañas. Hable con un experto, solicite una demo o revise la documentación para desarrolladores.

Scroll al inicio