← Inicio rápido
Verify Call

Inicio rápido de Verify Call

Novauth llama al teléfono del usuario una vez. Los últimos 4–6 dígitos del número entrante son el código de verificación: sin escritura en Android, un vistazo rápido en iOS.

¿Deseas probar sin llamadas reales? Usa el Modo Sandbox: sin llamadas reales, códigos OTP predecibles y sin facturación.

Flujo
1
Tu servidorPOST /call/flash con el número de teléfono del usuario
2
NovauthEnruta una llamada a través del operador de voz al usuario
3
Teléfono del usuarioSuena una vez — el ID de llamada muestra el número de verificación
4
Tu aplicación móvilLee el ID de llamada automáticamente (Android) o el usuario lo ve (iOS)
5
Tu servidorPOST /call/flash/webhook para confirmar Success o Failed

1Iniciar una llamada flash

Envía una solicitud POST con el número de teléfono del usuario. Novauth enruta inmediatamente una llamada a través del operador de voz.

POST/api/v1/connect-hub/call/flash
bash
curl -X POST https://api.novauth.com/api/v1/connect-hub/call/flash \
  -H "x-api-key: YOUR_API_KEY" \
  -H "x-account-id: YOUR_ACCOUNT_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "callee": "+14155552671",
    "max_ring_time": 20
  }'
200 OK — Respuesta
json
{
  "uuid":   "01JQHM3P7KXNV8W2QF5DG6TYAB",   // save this — used for status reporting
  "caller": "12025550188",                      // number that will ring the user (no + prefix)
  "callee": "14155552671"                       // your user's number (no + prefix)
}

2La aplicación móvil lee el ID de llamada

Este paso se gestiona completamente en el dispositivo cliente: no se requiere ninguna llamada al servidor.

Android: Usa PhoneStateListener o el permiso READ_CALL_LOG para leer el ID de llamada entrante automáticamente: totalmente sin fricción. iOS: El usuario ve brevemente el número entrante en pantalla y toca Ignorar, lo que sigue siendo más rápido que escribir un código de 6 dígitos.

Los últimos 4–6 dígitos del campo caller del Paso 1 actúan como OTP. Compáralos con lo que lee la aplicación móvil y luego reporta el resultado en el Paso 3.

3Reportar el resultado de la verificación

Después de que tu aplicación móvil determine si los IDs de llamada coincidieron, tu backend reporta el resultado a Novauth. Esto cierra el registro de la llamada y habilita los análisis.

POST/api/v1/connect-hub/call/flash/webhook
bash
# After your mobile app reads the caller ID, report the result:
curl -X POST https://api.novauth.com/api/v1/connect-hub/call/flash/webhook \
  -H "x-api-key: YOUR_API_KEY" \
  -H "x-account-id: YOUR_ACCOUNT_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "uuid": "01JQHM...",
    "status": "Success"
  }'

# status options:
#   "Success"     — user verified (caller ID matched)
#   "Failed"      — call failed or user rejected
#   "Incomplete"  — call started but not resolved
#   "WrongNumber" — user reports wrong number received

4Recuperar el registro detallado de llamada (opcional)

Obtén el CDR completo para depuración, auditoría o análisis de fraude. Devuelve marcas de tiempo, duración y disposición.

El CDR solo está disponible después de que la llamada haya finalizado completamente. Si lo consultas inmediatamente después de iniciar la llamada, la respuesta será null: espera unos segundos o consulta después de recibir el callback de webhook.

GET/api/v1/connect-hub/call/flash/{uuid}/cdr
bash
# Get full call detail record
curl https://api.novauth.com/api/v1/connect-hub/call/flash/01JQHM.../cdr \
  -H "x-api-key: YOUR_API_KEY" \
  -H "x-account-id: YOUR_ACCOUNT_ID"

Referencia de API

POST/call/flashIniciar una llamada flash
POST/call/flash/webhookReportar resultado de verificación
GET/call/flash/{uuid}/cdrObtener registro detallado de llamada
POST/call/flash/cdrListar todos los CDR (paginado)
DELETE/call/flash/{uuid}Colgar / cancelar una llamada en curso

Cancelar una llamada en curso

bash
# Cancel a ringing call before it's answered
curl -X DELETE https://api.novauth.com/api/v1/connect-hub/call/flash/01JQHM... \
  -H "x-api-key: YOUR_API_KEY" \
  -H "x-account-id: YOUR_ACCOUNT_ID"

Valores de estado del webhook

SuccessID de llamada verificado — el usuario está autenticado
FailedLa llamada falló, se cortó o el usuario la rechazó
IncompleteLa llamada se inició pero el resultado no se determinó
WrongNumberEl usuario reporta que el número entrante era inesperado