Cédulas
POSThttps://api.apptenticate.com/api/v3/ocr/
Autenticación
Usa tu JWT obtenido del proceso de autenticación para hacer peticiones a este endpoint.
La respuesta sera 401 unauthorized si el JWT se encuentra vencido. En dicho caso deberás obtener un nuevo JWT.
Este endpoint recibe todas las peticiones dirigidas al microservicio de OCR de Apptenticate que permite extraer datos de documentos de identificación. En este caso, es posible procesar pasaportes que contengan MRZ (Machine Readable Zone) y cédulas panameñas con o sin código QR. Estas peticiones deben especificar el tipo de documento a procesar, una imagen del frente del documento y una imagen del dorso (en el caso de que sean cédulas de identidad). Al final, el microservicio de ID Reader retornará un JSON con los datos extraídos si la operación fue exitosa, o el debido error si no lo fue.
NOTA
• La respuesta puede ser 401 unauthorized si el token JWT debe ser refrescado.
• Las imágenes enviadas en formato jpg no debe exceder los 2MB.
• Si se desea obtener en la respuesta el ID de la transacción, se debe indicar "return_id": "True" en el JSON de la request.
• Se debe especificar en la request si se envía foto de un pasaporte o una cédula mediante el parámetro “document_type”, que puede tomar los valores “passport” o “identification_card”.
Estructura de requests - método: POST
• Payload para request base:
Payload: {
'frontside': Imagen del frente del documento,
'backside': Imagen del dorso del documento,
'document_type': 'identification_card',
} // (donde las imágenes son archivos .jpg)
• Si se desea obtener el ID de la transacción:
Payload: {
'frontside': Imagen del frente del documento,
'backside': Imagen del dorso del documento,
'document_type': 'identification_card',
'return_id':True
} // (donde las imágenes son archivos .jpg)
• Si se desea mejorar la precisión de la prueba de vida
Payload: {
'frontside': Imagen del frente del documento,
'backside': Imagen del dorso del documento,
'document_type': 'identification_card',
'device':'IOS', // Dispositivos: IOS, ANDROID o DESKTOP
} // (donde las imágenes son archivos .jpg)
• Si se desea validar la data del frontside y del backside
Payload: {
'frontside': Imagen del frente del documento,
'backside': Imagen del dorso del documento,
'document_type': 'identification_card',
'device':'IOS', // Dispositivos: IOS, ANDROID o DESKTOP
'validate_sides': True
} // (donde las imágenes son archivos .jpg)
Ejemplos de requests
# JWT Token
header = { 'Authorization': 'Bearer {}'.format(token) }
# Payload para request base
data = {'document_type': 'identification_card'}
files = {
'frontside': imagen_1.jpg,
'backside': imagen_2.jpg,
} # Donde las imágenes son archivos .jpg
# Si se desea obtener el ID de la transacción:
data = {'document_type': 'identification_card', 'return_id': True}
files = {
'frontside': imagen_1.jpg,
'backside': imagen_2.jpg,
} # Donde las imágenes son archivos .jpg
# Envío de request
response = requests.post(
apptenticate_url,
data=data,
files=files,
headers=header
)
response = json.loads(response.content)
Estructura de respuestas
• Respuesta con ID de transacción para (cedula panameña):
{
"document_number": "E-8-123456",
"names": "Sofia Maria",
"surnames": "Lopez Contreras",
"gender": "F",
"birth_country": "VENEZUELA",
"birth_date": "10-10-1994",
"nationality": "VENEZOLANA",
"issuing_date": "12-08-2022",
"expiration_date": "12-08-2032",
"valid": true,
"id": 281234
}
• Respuesta con ID de transacción para (cedula panameña) y validate_sides (True):
{
"backside": {
"document_number": "E-8-123456",
"names": "Sofia Maria",
"surnames": "Lopez Contreras",
"gender": "F",
"birth_country": "VENEZUELA",
"birth_date": "10-10-1994",
"nationality": "VENEZOLANA",
"issuing_date": "12-08-2022",
"expiration_date": "12-08-2032",
},
"frontside": {
"names": "Sofia Maria",
"surnames": "Lopez Contreras",
"birth_date": "11-07-1986",
"document_number": "E-8-123456",
"birth_country": "VENEZUELA",
"gender": "F",
"blood_type": "",
"issuing_date": "12-08-2022",
"expiration_date": "15-12-2036",
"nationality": "VENEZOLANA"
},
"matches_percentage": 100.0,
"match": true,
"valid": true,
"id": 5323
}
• En el caso de un OCR fallido:
{
"error": "No se pudo hacer OCR del documento",
"error_code": 806,
"details": {
"metadata": "No se pudo procesar correctamente alguno de los datos del documento"
}
}
Códigos de error:
| Codigo | Mensaje |
|---|---|
805 | Error al procesar QR. |
806 | No se pudo extraer la metadata del documento. |
807 | No se pudo extraer los nombres del documento. |
808 | No se pudo extraer el número de cédula del documento. |
809 | No se envió el "frontside" en la request. |
810 | No se envió el "backside" en la request. |