Descripción del producto #
Analiza imágenes de documentos de identidad (e.g., cédula, pasaporte) para extraer datos automáticamente y realizar validaciones antifraude (biométrico, fotocopias, alteraciones). Soporta front/back y perfil para biometría.
Requisitos de autenticación #
- Método: HTTP Basic (concatenar client_id:client_secret, codificar en Base64).
- Header:
Authorization: Basic <base64_string>. - Nota: Las credenciales (client_id y client_secret) deben solicitarse al equipo de S.O.F.I.A. para pruebas en el entorno de sandbox. Estas serán proporcionadas una vez que el cliente esté inscrito.
Endpoints #
- Documento reader: POST
https://sandbox-sofiapp.bio.credit/document_reader(Sandbox).
Headers #
| Key | Value | Description |
|---|---|---|
| Accept | application/json | Formato de respuesta esperado. |
| Content-Type | application/json | Formato del body. |
| Authorization | Basic [Base64] | Credenciales de autenticación. |
Parámetros de entrada (body) #
Usa multipart/form-data.
Parámetros: #
| Key | Type | Required | Description |
|---|---|---|---|
| tenant_id | string | Sí | Identificador de la empresa. |
| image_front | file | Sí | Imagen frontal del documento. |
| image_back | file | Sí | Imagen reverso del documento. |
| image_profile | file | No | Foto de perfil para biometría. |
Ejemplo JSON Request (simulado):
{
"tenant_id": "rappi-001",
"image_front": "front.jpg",
"image_back": "back.jpg",
"image_profile": "profile.png"
}
Parámetros de salida (respuesta) #
Respuesta: #
| Key | Type | Description |
|---|---|---|
| FaceInfo | object | Info biométrica (age_range, gender). |
| FaceInfo.age_range | object | Rango de edad (low/high). |
| FaceInfo.gender | object | Género (value/confidence). |
| DocumentInfo | object | Datos extraídos (document_type, names, dates, etc.). |
| ModelInfo | array | Validaciones (validation_type, result, message). |
Ejemplo JSON Response:
{
"FaceInfo": {
"age_range": { "low": 30, "high": 40 },
"gender": { "value": "Female", "confidence": 90 }
},
"DocumentInfo": {
"document_type": "CE",
"first_name": "María",
"second_name": "Isabel",
"first_last_name": "Rodríguez",
"second_last_name": "Pérez",
"birth_date": "25 JUL 1985",
"document_id": "45.678.901",
"rh": "B-",
"gender": "F",
"issue_place": "CALI",
"issue_date": "10 OCT 2005",
"expiration_date": "10 OCT 2025",
"height": "1.65",
"birth_place": "BUCARAMANGA",
"official_name": "María Isabel Rodríguez Pérez",
"immigration_status": "Resident",
"nationality": "COL",
"content_raw": "ICCOL045678901234567",
"image_url_profile": "http://example.com/profile2.jpg"
},
"ModelInfo": [
{ "validation_type": "biometric-validation", "result": 88, "message": "Biometric validation completed" },
{ "validation_type": "fake-picture-validation", "result": "valid", "message": "No alterations detected" },
{ "validation_type": "photocopy-validation", "result": "invalid", "message": "Possible photocopy detected" },
{ "validation_type": "fake-text-validation", "result": "valid", "message": "Text integrity confirmed" }
]
}
Manejo de errores #
| HTTP Code | Error Code | Description |
|---|---|---|
| 400 | WHK001 | Solicitud inválida (e.g., archivos faltantes). |
| 401 | WHK002 | Autenticación fallida. |
| 500 | WHK005 | Error del servidor. |
Notas adicionales #
- Soporta documentos colombianos (e.g., CC nueva, CC antigua, Cedula de Extranjeria, Pasaporte).
- Validaciones incluyen scores biométricos (del JSON: 75-95%).