Documentación

API de verificación OTP

Dos endpoints, autenticación Basic Auth y respuestas JSON predecibles. Diseñado para reemplazar tu solución de OTP en pocas horas de desarrollo.

Solicitar credencialesHablar con ventas
De un vistazo

Lo esencial para empezar

Hoy la plataforma expone un servicio: verificación por SMS (OTP). La integración típica toma pocas horas de desarrollo.

Base URL
https://api.foxsys.mx/v1
Autenticación
Basic Auth (AccountSid : AuthToken)
Formato
JSON · UTF-8
Rate limit
5 / seg · 60 / min · 600 / hora
Vigencia OTP
5 min · máx. 3 intentos
Costo por SMS
$0.50 MXN (México · indicativo)
Cómo funciona

Flujo de verificación OTP

Tu aplicación pide a FOXSYS que envíe un código al teléfono del usuario. FOXSYS coordina con el operador móvil, recibe la respuesta del usuario y confirma si el código es válido.

Tu sistema
Backend
POST /v1/messages
Plataforma
FOXSYS API
SMS
Destinatario
Teléfono
1
Tu backend solicita un OTPEnvía el número del usuario y la longitud del código deseada.POST /v1/messages
2
FOXSYS genera el código y lo entregaReservamos saldo, generamos el código, despachamos por SMS al operador y devolvemos un verifyAttemptId.
3
El usuario lo escribe en tu UITu frontend recoge el código y lo envía a tu backend.
4
Tu backend valida con FOXSYSLlamamos a /v1/verify/check y respondemos con APPROVED, INVALID, EXPIRED o MAX_ATTEMPTS.POST /v1/verify/check
Endpoint 1 de 2

Enviar un código OTP

POST /v1/messages — genera y envía un SMS con un código numérico aleatorio.

cURL · enviar OTP
# Enviar un OTP por SMS
curl -X POST https://api.foxsys.mx/v1/messages \
  -u "AC_demo_account_sid:demo_auth_token" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+5215512345678",
    "otpLength": 4
  }'
Respuesta
200 OK · application/json
{
  "id": "msg_a8f3c1b2",
  "status": "QUEUED",
  "verifyAttemptId": "va_5fd2a1c7",
  "to": "+5215512345678",
  "otpLength": 4,
  "expiresAt": "2026-05-02T18:32:11Z",
  "price": {
    "amount": "0.50",
    "currency": "MXN"
  }
}
Postman / Insomnia

Listo para probar en tu cliente HTTP

La estructura de la petición es la misma sin importar el cliente que utilices. Esto es exactamente lo que enviarías desde Postman:

FOXSYS · Send OTPVerify OTP
POSThttps://api.foxsys.mx/v1/messages
Headers
AuthorizationBasic QUNfZGVtbzpkZW1vX3Rva2VuContent-Typeapplication/jsonAcceptapplication/json
Body · raw / JSON
{
  "to": "+5215512345678",
  "otpLength": 4
}
200 OK· 142 ms · 312 Bsimulación · no se ejecuta una llamada real
Endpoint 2 de 2

Validar el código del usuario

POST /v1/verify/check — comprueba que el código que escribió el usuario coincide con el que enviamos.

cURL · verificar OTP
# Validar el código que recibió el usuario
curl -X POST https://api.foxsys.mx/v1/verify/check \
  -u "AC_demo_account_sid:demo_auth_token" \
  -H "Content-Type: application/json" \
  -d '{
    "verifyAttemptId": "va_5fd2a1c7",
    "code": "4829"
  }'
Estados posibles
  • APPROVED — el código es correcto.
  • INVALID — el código no coincide. El intento se cuenta hacia el límite.
  • EXPIRED — pasaron más de 5 minutos desde la generación.
  • MAX_ATTEMPTS — se agotaron los 3 intentos. Solicita un nuevo OTP.
Siguientes pasos

¿Listo para integrar?