API de verificación de identidad

Verifica a tus usuarios por WhatsApp, SMS y correo con una sola API.

Envía y valida códigos de un solo uso en cualquier canal desde un mismo endpoint. Una integración, entrega confiable y cambio de canal automático cuando un mensaje no llega.

Seguridad y confianza
Una sola integración
API simple y escalable
Entregado en 1.2 s
POST /otp/send
# Envía el código de verificación curl https://api.verifymx.app/otp/send \ -H "apikey: sk_live_•••" \ -d '{ "phone_number": "5512345678", "country_code": "52", "company": "Acme", "whatsapp": true }'
Por WhatsApp
VerifyMX
Mensaje de negocio
Tu código de verificación es: 483920 Válido por 5 minutos. No lo compartas con nadie. 10:24
Tú eliges el canal principal

SMS o WhatsApp al enviar, con voz de rescate si no llega

Cada envío sale por SMS por defecto, o por WhatsApp si mandas whatsapp: true. Si el código no llega, el usuario lo rescata por voz. Uno de cada cuatro OTP llega tarde: el rescate es lo que recupera esa conversión.

SMS Por defecto

Entrega prioritaria en menos de 5 segundos con enrutamiento directo a operadoras. Llega a cualquier teléfono, sin app de por medio.

WhatsApp whatsapp: true

Envía el código por WhatsApp con tu nombre de negocio y mayor tasa de apertura. Si la línea no está disponible, cae solo a SMS de forma automática.

Voz Rescate

Una llamada que dicta el código en voz. El último recurso para quien no recibe mensajes de texto o los tiene bloqueados.

Al enviar: SMS o WhatsApp · Si no llega: rescate por voz cada ~45 s.
Integración en minutos

Enviar, rescatar y validar

Pide el código con /otp/send, rescata por voz con /otp/resend si no llega, y confírmalo con /otp/verify. Nosotros manejamos el estado, la expiración y el hasheo del código.

01 · ENVIAR

SMS o WhatsApp

/otp/send · SMS por defecto, o whatsapp: true para WhatsApp.

02 · RESCATAR

Voz, si no llegó

/otp/resend con voice: true tras esperar ~45 s.

03 · VALIDAR

Confirmar el código

/otp/verify · respondemos validation_01 si es correcto.

# 1 · Enviar el código (SMS por defecto) curl https://api.verifymx.app/otp/send \ -H "apikey: sk_live_tu_llave" \ -H "Content-Type: application/json" \ -d '{ "phone_number": "5512345678", "country_code": "52", "company": "Acme", "code_length": 6 }' # Por WhatsApp: agrega "whatsapp": true (cae a SMS si la línea no está activa) # → { "success": true, "code": "verification_01", "request_id": "550e..." } # 2 · ¿No llegó? Rescate por voz tras ~45 s curl https://api.verifymx.app/otp/resend \ -H "apikey: sk_live_tu_llave" \ -d '{ "phone_number": "5512345678", "country_code": "52", "voice": true }' # 3 · Validar el código que capturó el usuario curl https://api.verifymx.app/otp/verify \ -H "apikey: sk_live_tu_llave" \ -d '{ "phone_number": "5512345678", "verification_code": "849201" }' # → { "success": true, "code": "validation_01" }
import axios from "axios"; const api = axios.create({ baseURL: "https://api.verifymx.app", headers: { apikey: "sk_live_tu_llave" } }); // 1 · Enviar — SMS por defecto; whatsapp: true para WhatsApp await api.post("/otp/send", { phone_number: "5512345678", country_code: "52", company: "Acme", code_length: 6, whatsapp: true }); // 2 · Rescate por voz si no llega (espera ~45 s) await api.post("/otp/resend", { phone_number: "5512345678", country_code: "52", voice: true }); // 3 · Validar const { data } = await api.post("/otp/verify", { phone_number: "5512345678", verification_code: "849201" }); if (data.code === "validation_01") { // usuario verificado }
import requests api = "https://api.verifymx.app" headers = { "apikey": "sk_live_tu_llave" } # 1 · Enviar — SMS por defecto; whatsapp=True para WhatsApp requests.post(f"{api}/otp/send", headers=headers, json={ "phone_number": "5512345678", "country_code": "52", "company": "Acme", "code_length": 6, }) # 2 · Rescate por voz si no llega (espera ~45 s) requests.post(f"{api}/otp/resend", headers=headers, json={ "phone_number": "5512345678", "country_code": "52", "voice": True, }) # 3 · Validar r = requests.post(f"{api}/otp/verify", headers=headers, json={ "phone_number": "5512345678", "verification_code": "849201", }) if r.json()["code"] == "validation_01": pass # usuario verificado
URL base de la API: https://api.verifymx.app ·  HTTPS obligatorio ·  autenticación con header apikey
Por qué VerifyMX

Construido para que verificar sea lo fácil

Seguridad y confianza

Códigos de un solo uso, expiración configurable y límites de reintento integrados de fábrica.

Múltiples canales, una integración

WhatsApp, SMS y correo detrás del mismo endpoint. Cambia de canal sin tocar tu código.

API simple, escalable y robusta

Dos llamadas para todo el flujo. Documentación clara y SDKs para arrancar el mismo día.

Entregas confiables

Enrutamiento directo y respaldo entre canales para que el código llegue cuando importa.

Empieza a verificar hoy

Solicita tus credenciales y envía tu primer código de prueba en minutos. Sin contratos de por medio para empezar.