Extraer datos del documento de identidad
Inicia de forma asíncrona el proceso de extracción de datos (OCR) y análisis del documento de identidad. La respuesta es inmediata ({ success: true }); el resultado real llega por Socket.io al cliente una vez que el procesamiento finaliza.
Requiere autenticación con el token obtenido en POST /flow-runs/start.
Cuándo llamarlo
Después de subir la imagen del frente con POST /upload-id-still. Las URLs del body se construyen concatenando la base URL del servicio GPU con los paths devueltos por ese endpoint.
Origen de cada campo del body
| Campo | Origen |
|---|---|
imageSrc | https://w7hghxo7gyc3do-3005.proxy.runpod.net + used_id_path |
rawImageSrc | https://w7hghxo7gyc3do-3005.proxy.runpod.net + used_id_raw_path |
croppedFaceImageSrc | https://w7hghxo7gyc3do-3005.proxy.runpod.net + cropped_face |
croppedDocumentImageSrc | https://w7hghxo7gyc3do-3005.proxy.runpod.net + id_crop_url |
Resultado por Socket.io
El servidor emite el evento con los datos extraídos del documento (nombre, número de identificación, fecha de nacimiento, etc.) y el resultado del análisis de calidad de imagen. El cliente debe estar suscrito al canal correspondiente al invitationId antes de llamar a este endpoint.
Extraer datos del documento de identidad › Request Body
imageSrcURL completa de la imagen del frente procesada por GPU (https://w7hghxo7gyc3do-3005.proxy.runpod.net + used_id_path)
rawImageSrcURL completa de la imagen original sin procesar (https://w7hghxo7gyc3do-3005.proxy.runpod.net + used_id_raw_path)
croppedFaceImageSrcURL completa del recorte del rostro detectado (https://w7hghxo7gyc3do-3005.proxy.runpod.net + cropped_face)
croppedDocumentImageSrcURL completa del recorte del documento (https://w7hghxo7gyc3do-3005.proxy.runpod.net + id_crop_url)
selectedCountryCódigo ISO 3166-1 alpha-2 del país emisor del documento
selectedDocumentTipo de documento seleccionado por el usuario
invitationIdUUID de la invitación, usado para enrutar el resultado por Socket.io al canal correcto
Extraer datos del documento de identidad › Responses
Solicitud de extracción encolada correctamente. El resultado se entrega por Socket.io.
successVerificar autenticidad del documento
Inicia de forma asíncrona la verificación de autenticidad del documento de identidad a partir de la imagen del dorso. Solo aplica para documentos con reverso (cédulas, licencias, permisos). Los pasaportes no requieren este paso.
Requiere autenticación con el token obtenido en POST /flow-runs/start.
Cuándo llamarlo
Después de subir el dorso con POST /upload-id-back-still. La URL de la imagen se construye concatenando la base URL del servicio GPU con el path devuelto por ese endpoint:
Code
Resultado
El proceso es asíncrono. Una vez finalizado, el servicio guarda internamente el resultado de autenticidad (score) asociado al invitationId. Este score queda disponible para el orquestador cuando procesa el paso de identidad.
Verificar autenticidad del documento › Request Body
imageSrcURL completa de la imagen del dorso procesada por GPU (https://w7hghxo7gyc3do-3005.proxy.runpod.net + used_id_back_path)
selectedCountryCódigo ISO 3166-1 alpha-2 del país emisor del documento
selectedDocumentTipo de documento. No aplica para passport.
invitationIdUUID de la invitación, usado para asociar el resultado de autenticidad
Verificar autenticidad del documento › Responses
Solicitud de verificación de autenticidad encolada correctamente
successAnalizar sesión de prueba de vida
Inicia el análisis completo de la sesión de prueba de vida de forma asíncrona. La respuesta es inmediata ({ success: true }); el procesamiento continúa en background.
Requiere autenticación con el token obtenido en POST /flow-runs/start.
Cuándo llamarlo
Después de subir el video con POST /upload-live-clip. El req_id debe ser el mismo usado durante toda la sesión GPU.
Resultado
El integrador no necesita esperar el resultado del análisis. El flujo de verificación puede avanzar al siguiente paso inmediatamente después de recibir { success: true }. El resultado queda registrado internamente.
Analizar sesión de prueba de vida › Request Body
publicIdIdentificador del flujo de verificación (devuelto por GET /flow-runs/verify/{invitationToken} como flowId)
flowRunIdUUID de la ejecución del flujo (devuelto por POST /flow-runs/start como runUuid)
authTokenToken de autorización obtenido en POST /flow-runs/start
reqIdIdentificador de la sesión GPU usado durante toda la captura
invitationIdUUID de la invitación
Analizar sesión de prueba de vida › Responses
Análisis encolado correctamente. El procesamiento continúa en background.
successRegistrar resultado de verificación de IP
Registra el resultado de la verificación de IP en el sistema. La respuesta es inmediata ({ success: true }).
Requiere autenticación con el token obtenido en POST /flow-runs/start.
Cuándo llamarlo
Inmediatamente después de recibir la respuesta de POST /verifications/ip-verification. El campo formData.ipVerificationData debe contener exactamente la respuesta completa de ese endpoint.
Registrar resultado de verificación de IP › Request Body
publicIdIdentificador del flujo (devuelto por GET /flow-runs/verify/{invitationToken} como flowId)
flowRunIdUUID de la ejecución del flujo (devuelto por POST /flow-runs/start como runUuid)
authTokenToken de autorización obtenido en POST /flow-runs/start
invitationIdUUID de la invitación
Registrar resultado de verificación de IP › Responses
Resultado registrado correctamente
successRegistrar verificación de correo con OTP
Valida el OTP ingresado por el usuario y registra el resultado en el sistema.
Requiere autenticación con el token obtenido en POST /flow-runs/start.
Errores de OTP
Si el código es incorrecto, la respuesta incluye los detalles del error (intentos restantes, expiración, etc.).
Registrar verificación de correo con OTP › Request Body
emailCorreo electrónico del usuario
codeOTP de 6 caracteres alfanuméricos recibido por correo
publicIdIdentificador del flujo (devuelto por GET /flow-runs/verify/{invitationToken} como flowId)
flowRunIdUUID de la ejecución del flujo (devuelto por POST /flow-runs/start como runUuid)
authTokenToken de autorización obtenido en POST /flow-runs/start
invitationIdUUID de la invitación
Registrar verificación de correo con OTP › Responses
Verificación registrada correctamente
successRegistrar verificación de teléfono con OTP
Valida el código ingresado por el usuario y registra el resultado en el sistema.
Requiere autenticación con el token obtenido en POST /flow-runs/start.
Variante SMS (callMade: false)
Valida el OTP enviado via SMS por POST /verifications/phone-verification.
Variante llamada (callMade: true)
Valida el código recibido por llamada telefónica, usando el SID de Twilio generado en POST /phone/send-code-to-verify-by-call.
Errores
Si el código es incorrecto, la respuesta incluye los detalles del error (intentos restantes, expiración, etc.).
Registrar verificación de teléfono con OTP › Request Body
phoneNúmero de teléfono en formato E.164
codeCódigo OTP de 6 caracteres alfanuméricos
publicIdIdentificador del flujo (devuelto por GET /flow-runs/verify/{invitationToken} como flowId)
flowRunIdUUID de la ejecución del flujo (devuelto por POST /flow-runs/start como runUuid)
authTokenToken de autorización obtenido en POST /flow-runs/start
languageIdioma. Valores posibles: es, en
invitationIdUUID de la invitación
callMadetrue si el código fue recibido por llamada telefónica, false si fue por SMS
Registrar verificación de teléfono con OTP › Responses
Verificación registrada correctamente
successSolicitar código de verificación por llamada telefónica
Realiza una llamada telefónica al número indicado y dicta un código OTP. Alternativa al envío por SMS.
Requiere autenticación con el token obtenido en POST /flow-runs/start.
Cuándo usarlo
Cuando el usuario no recibe el SMS o prefiere verificar por llamada. Tras llamar a este endpoint, usar POST /phone/verify-code con callMade: true para validar el código recibido.
Solicitar código de verificación por llamada telefónica › Request Body
phoneNúmero de teléfono en formato E.164
languageIdioma de la llamada. Valores posibles: es, en
invitationIdUUID de la invitación
Solicitar código de verificación por llamada telefónica › Responses
Llamada iniciada correctamente
successValidar comprobante de domicilio
Verifica que el comprobante subido contiene datos de dirección extraíbles mediante OCR. El proceso puede tardar hasta 10 minutos.
Requiere autenticación con el token obtenido en POST /flow-runs/start.
Cuándo llamarlo
Inmediatamente después de obtener la URL del archivo en POST /flow/progress/upload-file. Si la validación devuelve isValid: false, se debe pedir al usuario que suba un documento diferente antes de continuar.
Validar comprobante de domicilio › Request Body
fileUrlURL del archivo devuelta por POST /flow/progress/upload-file
invitationIdUUID de la invitación
publicIdIdentificador del flujo (devuelto por GET /flow-runs/verify/{invitationToken} como flowId)
Validar comprobante de domicilio › Responses
Resultado de la validación del documento
successisValidtrue si el documento contiene datos de dirección extraíbles, false si no
reasonMotivo del fallo si isValid es false. Valores posibles: timeout, no_data, error
Registrar verificación de domicilio
Envía los datos de dirección del usuario e inicia el procesamiento en background. La respuesta es inmediata — el análisis continúa de forma asíncrona.
Requiere autenticación con el token obtenido en POST /flow-runs/start.
Procesamiento en background
El sistema realiza los siguientes pasos de forma asíncrona:
- Geocodificación inversa: convierte las coordenadas del dispositivo en dirección legible
- Geocodificación directa: convierte la dirección declarada en coordenadas
- Cálculo de distancia: compara la ubicación del dispositivo con la dirección declarada (fórmula de Haversine)
- OCR del comprobante (solo si se incluye
ocrAddress): extrae la dirección del documento y calcula la distancia respecto a la ubicación del dispositivo
Variantes del campo addressData
- Con comprobante (
askForEvidence: true): incluir el objetoocrAddressconfileIdyfileUrl - Sin comprobante (
askForEvidence: false): omitir el objetoocrAddress
Registrar verificación de domicilio › Request Body
publicIdIdentificador del flujo (devuelto por GET /flow-runs/verify/{invitationToken} como flowId)
invitationIdUUID de la invitación
flowRunIdUUID de la ejecución del flujo (devuelto por POST /flow-runs/start como runUuid)
authTokenToken de autorización obtenido en POST /flow-runs/start
Registrar verificación de domicilio › Responses
Verificación iniciada correctamente
success
