Saltar al contenido principal
Version: 3.0.1

Cédulas

POST

  https://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

Ruta: api/ocr/

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

Python

# 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):

Formato de respuesta: JSON
{
"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):

Formato de respuesta: JSON
{
"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:

Formato de respuesta: JSON
{
"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:

CodigoMensaje
805Error al procesar QR.
806No se pudo extraer la metadata del documento.
807No se pudo extraer los nombres del documento.
808No se pudo extraer el número de cédula del documento.
809No se envió el "frontside" en la request.
810No se envió el "backside" en la request.