Dos endpoints, autenticación Basic Auth y respuestas JSON predecibles. Diseñado para reemplazar tu solución de OTP en pocas horas de desarrollo.
Hoy la plataforma expone un servicio: verificación por SMS (OTP). La integración típica toma pocas horas de desarrollo.
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.
verifyAttemptId./v1/verify/check y respondemos con APPROVED, INVALID, EXPIRED o MAX_ATTEMPTS.POST /v1/verify/checkPOST /v1/messages — genera y envía un SMS con un código numérico aleatorio.
# 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
}'{
"id": "msg_a8f3c1b2",
"status": "QUEUED",
"verifyAttemptId": "va_5fd2a1c7",
"to": "+5215512345678",
"otpLength": 4,
"expiresAt": "2026-05-02T18:32:11Z",
"price": {
"amount": "0.50",
"currency": "MXN"
}
}La estructura de la petición es la misma sin importar el cliente que utilices. Esto es exactamente lo que enviarías desde Postman:
{
"to": "+5215512345678",
"otpLength": 4
}POST /v1/verify/check — comprueba que el código que escribió el usuario coincide con el que enviamos.
# 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"
}'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.