Reconocimiento biométrico para validación de DNI (ID) - Peru

Para integrar el servicio de Reconocimiento biométrico para validación de DNI (ID) - Peru en su sistema. Primero, obtenga su API key de Apitude, luego envíe una solicitud POST a Aptitude ... ¡Y eso es todo!.

Get API Access
Alternatively, the service also receives the following payload

En este caso, en lugar de URLs, también puedes enviar las imágenes en petición misma, codificadas como cadenas en base64

Esa solicitud POST debe devolver lo siguiente

{
    "message": "Request processed successfully",
    "url": "/api/v1.0/requests/document-id-pe/e0606c19-a32d-410f-b2eb-d57a665677bc/",
    "request_id": "e0606c19-a32d-410f-b2eb-d57a665677bc"
}
                                
Esta respuesta contendrá un ID de solicitud único que debe utilizar enviando un GET de la siguiente manera
¿Cómo se ve la respuesta?

{
   "result": {
      "data": {
         "reniec": {
            "area": "LIMA",
            "city": "LIMA",
            "name": "JHON WICK",
            "status": "VIGENTE",
            "resolution": "",
            "date_resolution": "2022-05-30"
         },
         "face_id": true,
         "back_info": {
            "birthday": "1972-03-22",
            "date_expedition": "1990-08-15",
            "document_number": "888888881"
         },
         "face_match": true,
         "front_info": {
            "gender": "male",
            "emotion": {
               "fear": 0.0,
               "anger": 0.0,
               "disgust": 0.0,
               "neutral": 0.933,
               "sadness": 0.066,
               "contempt": 0.0,
               "surprise": 0.0,
               "happiness": 0.0
            },
            "process_id": "33d77916-c6e1-46b5-90b5-b349a244906c",
            "face_rectangle": {
               "top": 334,
               "left": 656,
               "right": 825,
               "width": 169,
               "bottom": 503,
               "height": 169
            },
            "document_number": "888888881"
         },
         "selfie_info": {
            "gender": "female",
            "emotion": {
               "fear": 0.0,
               "anger": 0.0,
               "disgust": 0.0,
               "neutral": 0.861,
               "sadness": 0.022,
               "contempt": 0.002,
               "surprise": 0.0,
               "happiness": 0.114
            },
            "process_id": "399b5bcc-58f9-4700-8304-d5446dd09746",
            "face_rectangle": {
               "top": 115,
               "left": 98,
               "right": 273,
               "width": 175,
               "bottom": 290,
               "height": 175
            }
         },
         "liveness_check": true,
         "face_match_score": 0.84552,
         "national_registry": true
      },
      "error": "",
      "end_at": "2020-11-01 06:46:37.602006",
      "status": 200,
      "message": "successful",
      "queried_by": "YOUR-USER",
      "service_name": "document-id-pe"
   },
   "message": "Request completed"
}
                                
Ok, pero ¿qué significa cada campo en ese JSON?
Las partes generales:

  • message:El mensaje es un string generado por Aptitude con un texto informativo sobre la solicitud..
  • result:El resultado contiene la parte principal de la solicitud..
  • result.error:El error es un string generado por Aptitude para la solicitud. Si todo funcionó, estará en blanco.
  • result.message:El mensaje es un string con dos opciones successful o unsuccessful dependiendo de cómo terminó su solicitud.
  • result.queried_by:El campo queried_by es un string que indica que usuario creo la solicitud.
  • result.end_at:El campo end_at es un string formatted date que indica en qué momento la solicitud terminó en Apitude.
  • result.service_name:El campo service_name es un string que retorna el servicio llamado. Para este servicio siempre será document-id-pe.
  • result.status:El campo estado, es un entero cuyo valor representa si el servicio retorno informacion para la solicitud enviada. Puede tomar alguno de los siguientes valores:
    • 200: El servicio devolvió datos con la respuesta para la información que se envió en la solicitud.
    • 404: El servicio no devolvió datos con la respuesta para la información que se envió en la solicitud.
    • 400: El servicio no se inició porque su entrada no era válida.
    • 500: Apitude intentó ejecutar tu solicitud, sin embargo, el servicio que utiliza Apitude para ejecutar su solicitud no funciona. Espera un poco y vuelve a intentarlo, Apitude no te cobrará solicitudes con este código.

    Dependiendo del servicio, quieres que devuelva diferente códigos. Por ejemplo, si está pasando al usuario por un proceso de vinculación y desea que este quede en su lista blanca, debe buscar un 404, porque un200 significaría que el usuario está de hecho en la lista. Otros casossin embargo, como crear objetos con el nombre de un usuario, desea que el código sea200, ya que implicará que la creación fue un éxito.

Los datos en la respuesta:

  • data.selfie_info: Este campo es un diccionario con la información biométrica de la imagen de selfie enviada.
  • data.back_info: Este campo es un diccionario con la información OCR de la cara posterior (código de barras) de la imagen de identificación nacional colombiana enviada.
  • data.front_info: Este campo es un diccionario con la información OCR de la cara frontal de la imagen de identificación nacional colombiana enviada.
  • data.face_match:Este campo es un booleano con la coincidencia entre la imagen de la cara de la selfie y la cara en la imagen frontal de la identificación nacional de Colombia. Un valor de verdadero significaría que ambos son la misma persona, un valor de falso significaría lo contrario.
  • data.registraduria Este campo es un diccionario con la información de la cedula colombiana dentro de la base de datos del Registro Nacional del Estado Civil de Colombia (Registraduría).
  • data.liveness_check Este campo es un booleano con la coincidencia entre la imagen de la cara de la selfie y la emoción enviada. Un valor de verdadero significaría que la cara en la selfie está ejecutando la emoción enviada como parámetro, un valor de falso significaría lo contrario.
  • data.face_match_score Este campo es un número decimal con un valor entre 0.0 y 1.0. Un valor de 1.0 significa que la cara en la selfie y la cara en la cara en la imagen frontal de la identificación nacional colombiana son idénticas.
  • data.national_registry Este campo es un booleano con un valor de verdadero si la cédula nacional colombiana fue validada por el Registro Nacional del Estado Civil de Colombia.
  • data.face_id Este campo es un booleano con un valor de verdadero si los campos data.face_match, data.national_registry y data.liveness_check son todos verdaderos, un valor de falso significaría lo contrario.

Sobre este servicio

El servicio permite validad una persona por medio de API. Recibe como entrada una emoción, una foto selfie del usuario realizando la emoción seleccionada (Los valores posibles son sorpresa, tristeza, neutralidad, enfado y felicidad), una foto de la parte frontal del DNI Peruano (lado de la imagen y nombre) y una foto posterior del DNI Peruano (lado del codigo de barras) y obtener las siguientes validaciones:

  1. La imagen con la selfie contiene la cara de solamente una persona.
  2. La cara de la persona en la selfie corresponde con el sentimiento enviado.
  3. La cara de la persona en la selfie y la cara en la cedula son de la misma persona.
  4. La cedula se encuentra activa en el Registro Nacional de Identificación y Estado Civil de Peru (RENIEC)

El servicio retorna en su respuesta:

  • Si la imagen de la selfie es valida o no
  • Si la imagen de la selfie y la cara frontal de la cedula son de la misma persona
  • Si la persona en la selfie esta realizando la emoción enviada
  • Si la cedula se encuentra activa y valida en el Registro Nacional de Identificación y Estado Civil de Peru (RENIEC) o no
  • La información del lado frontal de la cedula
  • La información del lado posterior de la cedula
  • La informacion de la cedula en la registraduría

¿A quién puede consultar utilizando este servicio?:

Este servicio (document-id-pe) está disponible para consultar unicamente individuos.

Get API Access
Servicios
Chile
Colombia
EU
Mexico
Peru
USA