1. El usuario se da de alta
Tu aplicación recoge el número de móvil en el formulario de registro, login o compra. A partir de ahí puedes delegar el código en la plataforma con /verify o generarlo tú y enviarlo como un mensaje normal.
Verifica altas de usuarios, inicios de sesión y operaciones sensibles con un código de verificación por SMS, WhatsApp o Telegram. OTP y 2FA con la API /verify: la plataforma genera el código, lo envía por el canal que elijas en la llamada y lo comprueba, con webhooks de estado firmados para reaccionar al instante si un código no llega.
Sencillo para el usuario, universal en cobertura y sin apps que instalar: por eso el código de verificación por SMS sigue protegiendo altas y logins en todo el mundo.
Un OTP (one-time password) es un código de un solo uso — normalmente de 4 a 8 dígitos — que envías al móvil del usuario para demostrar que ese número le pertenece de verdad. Es la base del 2FA por SMS (doble factor de autenticación), de la verificación de altas en aplicaciones y ecommerce, de la confirmación de operaciones sensibles y de la firma de consentimientos.
¿Por qué el SMS? Porque funciona en cualquier móvil, sin instalar nada y sin datos: la cobertura es universal. Y cuando quieres reforzarlo, WhatsApp aporta su categoría específica authentication con botón de autocompletar, y Telegram añade el canal más barato, a 0,010 € por mensaje, para los usuarios que ya hayan iniciado la conversación con tu bot — su API no permite mandar un código al número de alguien que no lo haya hecho, así que Telegram sirve para reverificar a quien ya tienes vinculado, no para el primer alta. Con SMSverifica los tres canales viven en la misma API REST, con la misma llamada: eliges el canal en cada /verify/start y usas SMS para todo lo demás.
Así funciona un circuito OTP con la API de SMSverifica, paso a paso.
Tu aplicación recoge el número de móvil en el formulario de registro, login o compra. A partir de ahí puedes delegar el código en la plataforma con /verify o generarlo tú y enviarlo como un mensaje normal.
Una llamada a POST /api/v1/verify/start con la cabecera Idempotency-Key — así un reintento de tu backend jamás duplica el SMS ni el cobro — y el código llega al móvil en segundos.
El usuario teclea el código y tu backend llama a POST /api/v1/verify/check: un código erróneo devuelve 200 con status: invalid y descuenta uno de los 5 intentos, no un error de red disfrazado. Los webhooks firmados te confirman la entrega.
curl -X POST https://app.smsverifica.com/api/v1/verify/start \
-H "X-Api-Key: sk_live_tu_api_key" \
-H "X-Api-Secret: tu_api_secret" \
-H "Idempotency-Key: otp-usuario-8842-intento-1" \
-H "Content-Type: application/json" \
-d '{
"channel": "sms",
"to": "+34612345678",
"length": 6,
"ttl_seconds": 300
}'
curl -X POST https://app.smsverifica.com/api/v1/verify/check \
-H "X-Api-Key: sk_live_tu_api_key" \
-H "X-Api-Secret: tu_api_secret" \
-H "Content-Type: application/json" \
-d '{
"id": 5512,
"code": "482913"
}'
// 200 { "data": { "id": 5512, "status": "verified", "attempts_remaining": 4 } }
El mismo JSON con "channel": "whatsapp" (y una plantilla authentication con {code} en sus variables) o "channel": "telegram": el canal se elige en cada llamada. El OTP por SMS a España cuesta 0,039 €, el código de verificación por WhatsApp (categoría authentication) 0,005 € —más lo que Meta te facture— y por Telegram 0,010 €, todos sin IVA — consulta todas las tarifas de SMS por país y WhatsApp por categoría. Si prefieres generar tú el código, POST /api/v1/messages envía el texto que quieras y te deja la lógica de caducidad e intentos.
Un OTP que no llega es un usuario que no se registra, un carrito abandonado o un empleado que no puede fichar. Aquí va, sin adornos, quién hace qué cuando eso pasa.
Lo que hace la plataforma hoy. Los webhooks de estado firmados con HMAC-SHA256 te avisan en segundos de cada transición: enviado, entregado o fallido. El importe del envío fallido de forma definitiva se reembolsa automáticamente a tu saldo. Y las reglas de enrutado guardan, por canal, tu proveedor principal y —si tienes un segundo contratado— el de respaldo al que la plataforma reintenta.
Lo que haces tú. Cambiar de canal es decisión de tu backend: recibes message.failed y lanzas una segunda llamada a /verify/start con "channel": "whatsapp" o "telegram". Son cinco líneas de código, pero conviene decirlo claro: la plataforma no salta de SMS a WhatsApp por su cuenta.
Función prevista, todavía no disponible: el salto de canal automático (SMS → WhatsApp → Telegram) configurable por cuenta está en diseño y aún no existe. No lo cuentes en tu planificación hasta que lo anunciemos.
Tu codigo de verificacion es 482913. Caduca en 5 minutos.
✗ Fallido: rechazado por el proveedor — importe devuelto al saldo482913 es tu código de verificación. Toca para autocompletar.
✓ Entregado en 2,1 sCódigo de acceso al evento: 482913. Válido una sola vez.
✓ EntregadoNuestra plataforma hermana QRACCESO gestiona el control de accesos por QR de eventos, oficinas y recintos. Junto a SMSverifica, el acceso físico gana un segundo factor.
Envía un código de acceso de un solo uso por SMS o WhatsApp para abrir una puerta, un aparcamiento o una zona restringida: el visitante lo recibe en su móvil, lo teclea o lo muestra y el acceso queda registrado con hora y persona. Sin llaves, sin tarjetas que se pierden.
Combina la entrada QR del evento con un OTP de verificación en el registro del asistente: número de móvil verificado desde el alta, menos entradas duplicadas y aforo bajo control. La entrada viaja por SMS, WhatsApp o Telegram; el recordatorio del evento, por el canal que prefiera el asistente.
Cuando llega una visita, el anfitrión recibe el aviso al instante — notificación de visita por Telegram a 0,010 € o por SMS/WhatsApp — y puede autorizar el acceso respondiendo o generando un código temporal. Recepción sin llamadas ni esperas.
Descubre más integraciones de mensajería con control de accesos en los casos de uso de QRACCESO.
El registro de jornada es obligatorio en España desde 2019 y camina hacia el fichaje digital. Con ACCESSTIME, nuestra plataforma de control horario, la verificación por SMS cierra la última duda: ¿quién ficha de verdad?
En el registro de jornada con teletrabajo o con equipos en movilidad, el fichaje remoto necesita una garantía de identidad. Un OTP por SMS o WhatsApp en el momento de fichar vincula el fichaje al móvil personal del empleado: código de un solo uso, validación en segundos y trazabilidad completa para la inspección.
La misma mensajería resuelve el día a día de RRHH: avisos de fichaje al empleado que ha olvidado fichar, recordatorios de inicio y fin de jornada, comunicaciones de turnos y vacaciones, o alertas al responsable cuando falta un registro. Por Telegram, todos esos avisos internos cuestan 0,010 € por mensaje; por SMS, 0,039 € con entrega prácticamente inmediata.
Mensajería para control horario y RRHH →Las reglas que aplica nuestra propia API de verificación, por si prefieres montar el circuito por tu cuenta.
Idempotency-Key en cada envío: un reintento de red nunca duplicará el SMS ni el cobro.message.failed para lanzar tú el reintento por WhatsApp o Telegram al momento.Dos llamadas y ni una tabla de códigos en tu base de datos: POST /api/v1/verify/start dispara el OTP por el canal que indiques y POST /api/v1/verify/check lo valida. La caducidad y el límite de intentos los lleva la plataforma.
Idempotency-Key, misma autenticación y mismos webhooks firmados que el resto de la APILo que esta API no hace todavía: no cambia de canal sola. Cada verify/start envía por el canal que le pidas; si quieres reintentar por otro, lo pides tú. El salto automático entre canales es una función prevista, sin fecha.
/verify y /messages/verify si quieres delegar el código, su caducidad y sus intentos./messages si ya tienes tu propia lógica de OTP y solo necesitas el envío, con el texto y el remitente que tú decidas.Las dos cobran lo mismo: el precio del canal y del destino, sin suplemento por usar /verify. Todos los detalles, parámetros y códigos de error están en la documentación de la API REST.
Un OTP (one-time password) es un código de verificación de un solo uso, normalmente de 4 a 8 dígitos, que se envía al móvil del usuario por SMS para confirmar su identidad en un alta, un inicio de sesión o una operación sensible. Caduca en pocos minutos y solo sirve una vez.
El 2FA por SMS añade una barrera real a la contraseña sola y destaca por su cobertura universal: funciona en cualquier móvil sin instalar nada. Para operaciones críticas puedes combinarlo con límites de intentos, caducidad corta del código y verificación por un segundo canal como WhatsApp o Telegram.
Con SMSverifica, un OTP por SMS a España cuesta 0,039 €, un código de verificación por WhatsApp (categoría authentication) 0,005 € —las tarifas de conversación de Meta van aparte— y por Telegram 0,010 €. Prepago en euros, sin cuotas y con saldo que no caduca.
Sí. WhatsApp Business API tiene una categoría de plantilla específica para códigos de verificación (authentication), con botón de autocompletar en el móvil. Con nuestra API envías el mismo OTP por SMS o por WhatsApp cambiando un solo campo del JSON.
Los webhooks de estado te avisan en segundos si el SMS falla y tu backend puede lanzar una segunda llamada a /verify/start con otro canal. Dicho sin adornos: el cambio de canal lo decides y lo disparas tú, la plataforma no salta sola. Lo que sí puedes configurar es un proveedor de respaldo dentro del mismo canal, si tienes un segundo contratado: la plataforma reintenta por él.
Sí. POST /api/v1/verify/start genera el código, lo envía por el canal que indiques y devuelve la verificación pendiente; POST /api/v1/verify/check lo comprueba (un código erróneo es un 200 con status: invalid, no un 4xx). Caducidad configurable de 60 a 900 segundos, longitud de 4 a 8 dígitos y 5 intentos por código. El salto automático entre canales sigue siendo una función prevista, sin fecha.
Crear la cuenta es gratis y sin tarjeta. Al verificar tu correo la cuenta abre sola en modo sandbox para integrar sin gastar, mientras revisamos cada alta a mano antes de abrir el envío real y los pagos. Saldo sin caducidad y precios publicados, sin IVA.