Última actualización: 07.09.2023
Esta Guía técnica de validación por SMS te servirá para poder integrar de forma correcta procesos de validación a través de códigos OTP (One Time Password) enviados en un mensaje SMS.
En este artículo hablaremos de cómo se debe realizar una validación OTP por SMS explicando todos los aspectos a tener en cuenta. En concreto explicaremos cómo realizar una integración en cualquier software añadiendo un proceso de validación, autenticación, identificación o verificación.
Puedes consultar más información sobre estos proceso en otro artículo que habla de qué es un sistema de verificación SMS y cuáles eran las ventajas de enviar códigos OTP por SMS.
En primer lugar comentar que un proceso de validación por SMS se puede aplicar a multitud tipología de software como son aplicaciones móviles, redes sociales, plataformas web, transacciones económicas, etc. En resumen, cualquier aplicativo que requiera una validación o identificación de un usuario.
Al final de este artículo podrás descargar esta guía en formato documento PDF.
La tendencia actual en la que los sistemas tienen usuarios y clientes globales y es necesario incrementara la seguridad e identificar a las personas los códigos OTP SMS se han convertido en una herramienta indispensable.
Los usos más comunes para las validaciones por SMS son:
Para todo este tipo de procesos de validación LabsMobile dispone de dos soluciones que se pueden utilizar de forma indistinta: API JSON y API OTP LabsMobile.
La API JSON es la API SMS generalista con la que podrás enviar mensajes SMS con llamadas REST de tipo POST y variables codificadas en el cuerpo de la llamada HTTP en formato JSON.
Las funcionalidades básicas son enviar mensajes SMS y consultar el estado de los SMS. Además algunas ventajas de este tipo de API es que es compatible con cualquier entorno de programación, que existe muchos ejemplos de código, soporte y recursos online y además, permite un control de todo el proceso y configuración por parte del clientes. Por otro lado, con la API JSON es posible consultar cualquier mensaje enviado, y así ser consecuente con lo que se necesite hacer.
Esta API es fácil de usar y es similar a la de otras plataformas SMS, por lo tanto es fácil el cambio de plataforma según intereses comerciales.
Por contra también tiene algunos inconvenientes como por ejemplo que es necesario por parte del software la utiliza construir todo el proceso de validación almacenando una base de datos de códigos OTP para ser validados posteriormente.
Os dejamos aquí con algunos recursos, documentación y ejemplos de código para poderla implementar:
LabsMobile ha creado una API específica para crear y gestionar códigos OTP por SMS y para estos procesos de validación. Sus funciones son enviar nuevos códigos OTP, reenviarlos y validarlos.
La principal ventaja de esta API OTP es la seguridad. Con ella se incrementa la seguridad en el proceso ya que se almacenan los códigos OTP en la misma plataforma LabsMobile. Además se simplifica el proceso de validación sin tener que generar o guardar códigos OTP en el software que utiliza la API. Y es compatible con cualquier entorno que pueda generar llamadas REST HTTP/GET.
En cuanto a inconveniente esta API contiene funciones no estándares que añaden un período de adaptación o de aprendizaje. Y además no es posible cambiar o consultar algunos detalles del proceso, cómo por ejemplo el formato de código OTP o el estado o entrega de los mensajes enviados.
Aquí os dejamos con los recursos de la API OTP:
El primer paso para la integración de un proceso de validación tanto en una API JSON como en una API OTP de LabsMobile es crear una cuenta de usuario en LabsMobile. Esta creación de cuenta requiere de un email en https://www.labsmobile.com/es/registro.
Posteriormente se deben adoptar algunas medidas de seguridad como:
La primera medida de seguridad es usar como contraseña un Token API. Éste se puede generar en el panel de control de la cuenta LabsMobile, en la parte superior derecha, en el apartado Mi Cuenta – Seguridad y Contraseñas.
La segunda medida es el Cifrado SSL. En este punto es importante utilizar siempre las URLs de la API con el protocolo HTTPS para el cifrado de los datos y variables enviados.
En cuanto al filtro por dirección IP en las Preferencias de la cuenta creada en la plataforma LabsMobile podrás configurar una o varias direcciones IP válidas para realizar los envíos o las llamadas a la API SMS. Pero piensa que cuando hayas configurado este filtro por dirección IP no será posible realizar ningún envío desde cualquier origen que no esté presente en el listado de direcciones IP.
Por último la conexión API. Son las llamadas o peticiones a la API ya sea la API JSON o la API OTP de LabsMobile que se deben realizar siempre desde el backend o servidor de datos. En ningún caso desde la interfaz del usuario (web o app). Esto es así para no comprometer los datos sensibles cómo contraseñas y para poder centralizar las peticiones para un mejor control y gestión del proceso.
Algunas de las recomendaciones para el uso de la interfaz de un proceso de validación de OTP son:
Facilidad, claridad y sencillez en la interfaz para que el usuario introduzca su número de móvil.
Es recomendable que exista un solo campo en la interfaz del usuario. Y eliminar cualquier otro campo, opción o acción para concentrar la atención del usuario en el proceso de validación.
Además en este campo sólo debe ser posible introducir dígitos y NO otros símbolos.
Añadir el prefijo del país con un selector del país. Al ser posible en formato bandera. O preseleccionar por defecto el país más frecuente o detectar el país del usuario.
Validar el teléfono introducido por el usuario también es una buena recomendación. Y en el caso que se haya introducido un número móvil incorrecto o con un formato no válido avisar con un error. Así permite al usuario modificar el teléfono.
Recomendamos el uso de las siguientes librerías:
Las instrucciones y la ayuda que debe recibir el usuario debe ser clara para poder sentirse guiado en el proceso de validación.
A continuación se presentan algunos de los textos de ayuda al usuario para completar de forma exitosa el proceso de validación:
En un proceso de validación OTP SMS intervienen algunos elementos básicos que deben cumplir unos ciertos requisitos para los que se enumeran unas recomendaciones en este apartado.
El código OTP es el elemento principal del proceso y se recomienda que cumpla las siguientes características:
El texto del mensaje SMS enviado en una validación OTP (en todos los intentos) debería respetar los siguientes aspectos:
<#> 3823 es tu codigo de validacion en nuestra app Kiwoko 2020-11-01 10:33 GMT+2
PayPal: codigo 381223 para la validacion de tu ultima transaccion. Este codigo caducara en 10 minutos.
Por último recomendamos que si el primer envío de código OTP no llega a su destino, es recomendable establecer una política de intentos finitos con algunas especificaciones.
Puedes descargar aquí el documento en formato PDF: Guía técnica de un proceso de validación OTP por SMS (178Kb)