KYC para Android

Flujo de KYC

Requisitos

Este flujo de KYC requiere la integración de servicios para poder hacer un flujo completo. Por lo que es necesario contar con un proyecto Android montado y que ejecuten servicios Rest . En los siguientes bloques se describe los servicios que se deben de integrar y ejemplos de los mismos. Los servicios son implementados con Retrofit pero es abierto a cualquier integración que se decida, siempre que sean servicios REST.

Pasos para la implementación


0. Seguir recomendaciones de versiones y librerías

  • Antes de iniciar a crear la configuración es necesario saber las versiones de librerías compatibles. Dejamos un listado según la versión de SDK y las librerías compatibles y mínimas necesarias.

Compatibilidad de SDK 24 al 35


Nivel de APIAGPKotlinCore KTXKSPKAPT (Migrado a KSP)HiltCoroutines CoreCoroutines AndroidCoroutines Play ServicesLifecycle Runtime KTXOkHttpRetrofitAppCompatMaterial ComponentsConstraintLayoutActivity KTXCore SplashScreenML Kit Face DetectionCameraXPlay Services LocationLight Compressor
243.2.11.3.501.0.2N/A1.3.502.281.3.01.3.01.3.02.1.04.2.22.6.01.0.21.0.01.1.31.0.0N/A16.0.01.0.017.0.00.6.0
253.5.01.4.01.1.0N/A1.4.02.301.3.21.3.21.3.22.2.04.4.12.7.01.1.01.1.01.1.31.0.0N/A16.1.01.0.117.1.00.7.0
264.0.01.5.01.3.0N/A1.5.02.311.4.01.4.01.4.02.3.04.7.22.8.01.2.01.2.02.0.01.2.0N/A16.2.01.1.018.0.00.8.0
274.1.01.5.211.5.0N/A1.5.212.331.4.21.4.21.4.22.3.14.8.12.8.11.3.01.3.02.0.41.3.0N/A16.3.01.1.118.1.00.8.1
284.2.21.6.101.6.0N/A1.6.102.351.5.21.5.21.5.22.4.04.9.02.9.01.4.01.4.02.1.01.4.0N/A16.4.01.2.019.0.00.9.0
297.0.01.7.01.7.01.7.0-1.0.28N/A2.381.6.01.6.01.6.02.4.14.9.22.9.01.5.01.6.02.1.11.5.01.0.016.5.01.2.019.2.00.9.1
307.1.31.7.201.8.01.7.20-1.0.29N/A2.391.6.21.6.21.6.22.5.04.9.32.9.01.5.11.6.12.1.11.5.11.0.016.6.01.2.119.3.00.9.2
317.2.01.8.01.11.01.8.0-1.0.29N/A2.401.6.41.6.41.6.42.5.14.9.32.9.01.5.21.6.22.1.21.5.21.0.016.7.01.2.119.4.00.9.3
327.2.21.8.01.12.01.8.0-1.0.29N/A2.361.6.41.6.41.6.42.5.04.9.32.9.01.5.01.7.02.1.21.5.01.0.016.4.01.3.020.2.00.9.0
338.0.21.9.01.13.01.9.0-1.0.30N/A2.401.7.01.7.01.7.02.6.05.0.02.9.01.6.01.9.02.2.01.6.01.0.017.0.01.3.020.3.01.0.0
348.5.02.0.01.14.02.0.0-1.0.31N/A2.501.7.51.7.51.7.52.7.05.0.02.9.01.6.11.10.02.2.11.7.01.0.017.0.11.4.021.0.01.1.0
358.7.32.1.101.15.02.1.10-1.0.31N/A2.51.11.8.01.8.01.8.02.8.75.0.02.9.01.7.01.12.02.2.11.10.11.0.117.1.01.4.221.3.01.2.0e

1. Crear o contar con una Aplicación en Android

  • Inicia un nuevo proyecto Android en Android Studio y configura el entorno para integrar las librerías necesarias o si ya se tiene uno construido, modificar ambiente para servicios REST. En los SDK de Android se tienen una configuración inicial. Referencia:Document Detector SDK o Referencia:Face Detector SDK

2. Tener Short Key para crear sesión y utilizar servicio session.

3. Verificar Documento con el Servicio de verify

  • Se debe de validar el documento, por lo que el servicio requiere de una imagen o dos imágenes dependiendo del caso,, despues hay que convertir esta(s) imagen(es) en base64, una vez hecho esto se envía a la API en basePath/api/v3/document/verify para verificar su autenticidad. Este paso valida si el documento es legítimo y cumple con los estándares requeridos. Referencia:Document para Android

4. Extraer Datos del Documento con extract-both

  • Después de verificar el documento, se realiza una llamada a la API basePath/api/v3/document/extract-both para extraer tanto la información visible (nombre, fecha de nacimiento, etc.) como los datos de la foto. Aquí se debe de enviar una imagen o dos dependiendo del documento (2 para INE frontal/trasero o 1 para pasaportes). Referencia:Document para Android

5. Verificar Liveness con el Servicio de liveness/verify-and-bestframe

  • El servicio requiere de un video de pocos segundos del perfil de la persona que este relacionado el documento, el video debe de durar entre 3 a 6 segundos, una vez que se tiene el video se debe de convertir a base64, una vez hecho esto, envíalo a la API de Jaak en basePath/api/v1/liveness/bestframe. Este servicio analiza el video para confirmar que la persona está viva y presente, lo cual es un paso crucial en el proceso de KYC. Referencia:Liveness para Android

6. One To One con el Servicio de v2/oto/verify

  • El servicio requiere dos imágenes, la imagen del documento y la mejor imagen del video, este se obtiene del servicio del paso 10, una vez que se tengan envíalo a la API de Jaak en basePath/api/v2/oto/verify. Este servicio analiza que el documento enviado y la persona que esta haciendo el proceso sea la misma.. Referencia:One To One para Android

7. Finaliza la sesión en v1/kyc/session/finish

8. Se termina flujo de KYC

Conclusión

Siguiendo estos pasos, podrás implementar un flujo de KYC en tu aplicación Android que verifique tanto documentos, liveness y one to one de manera efectiva y segura.