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 API | AGP | Kotlin | Core KTX | KSP | KAPT (Migrado a KSP) | Hilt | Coroutines Core | Coroutines Android | Coroutines Play Services | Lifecycle Runtime KTX | OkHttp | Retrofit | AppCompat | Material Components | ConstraintLayout | Activity KTX | Core SplashScreen | ML Kit Face Detection | CameraX | Play Services Location | Light Compressor |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
24 | 3.2.1 | 1.3.50 | 1.0.2 | N/A | 1.3.50 | 2.28 | 1.3.0 | 1.3.0 | 1.3.0 | 2.1.0 | 4.2.2 | 2.6.0 | 1.0.2 | 1.0.0 | 1.1.3 | 1.0.0 | N/A | 16.0.0 | 1.0.0 | 17.0.0 | 0.6.0 |
25 | 3.5.0 | 1.4.0 | 1.1.0 | N/A | 1.4.0 | 2.30 | 1.3.2 | 1.3.2 | 1.3.2 | 2.2.0 | 4.4.1 | 2.7.0 | 1.1.0 | 1.1.0 | 1.1.3 | 1.0.0 | N/A | 16.1.0 | 1.0.1 | 17.1.0 | 0.7.0 |
26 | 4.0.0 | 1.5.0 | 1.3.0 | N/A | 1.5.0 | 2.31 | 1.4.0 | 1.4.0 | 1.4.0 | 2.3.0 | 4.7.2 | 2.8.0 | 1.2.0 | 1.2.0 | 2.0.0 | 1.2.0 | N/A | 16.2.0 | 1.1.0 | 18.0.0 | 0.8.0 |
27 | 4.1.0 | 1.5.21 | 1.5.0 | N/A | 1.5.21 | 2.33 | 1.4.2 | 1.4.2 | 1.4.2 | 2.3.1 | 4.8.1 | 2.8.1 | 1.3.0 | 1.3.0 | 2.0.4 | 1.3.0 | N/A | 16.3.0 | 1.1.1 | 18.1.0 | 0.8.1 |
28 | 4.2.2 | 1.6.10 | 1.6.0 | N/A | 1.6.10 | 2.35 | 1.5.2 | 1.5.2 | 1.5.2 | 2.4.0 | 4.9.0 | 2.9.0 | 1.4.0 | 1.4.0 | 2.1.0 | 1.4.0 | N/A | 16.4.0 | 1.2.0 | 19.0.0 | 0.9.0 |
29 | 7.0.0 | 1.7.0 | 1.7.0 | 1.7.0-1.0.28 | N/A | 2.38 | 1.6.0 | 1.6.0 | 1.6.0 | 2.4.1 | 4.9.2 | 2.9.0 | 1.5.0 | 1.6.0 | 2.1.1 | 1.5.0 | 1.0.0 | 16.5.0 | 1.2.0 | 19.2.0 | 0.9.1 |
30 | 7.1.3 | 1.7.20 | 1.8.0 | 1.7.20-1.0.29 | N/A | 2.39 | 1.6.2 | 1.6.2 | 1.6.2 | 2.5.0 | 4.9.3 | 2.9.0 | 1.5.1 | 1.6.1 | 2.1.1 | 1.5.1 | 1.0.0 | 16.6.0 | 1.2.1 | 19.3.0 | 0.9.2 |
31 | 7.2.0 | 1.8.0 | 1.11.0 | 1.8.0-1.0.29 | N/A | 2.40 | 1.6.4 | 1.6.4 | 1.6.4 | 2.5.1 | 4.9.3 | 2.9.0 | 1.5.2 | 1.6.2 | 2.1.2 | 1.5.2 | 1.0.0 | 16.7.0 | 1.2.1 | 19.4.0 | 0.9.3 |
32 | 7.2.2 | 1.8.0 | 1.12.0 | 1.8.0-1.0.29 | N/A | 2.36 | 1.6.4 | 1.6.4 | 1.6.4 | 2.5.0 | 4.9.3 | 2.9.0 | 1.5.0 | 1.7.0 | 2.1.2 | 1.5.0 | 1.0.0 | 16.4.0 | 1.3.0 | 20.2.0 | 0.9.0 |
33 | 8.0.2 | 1.9.0 | 1.13.0 | 1.9.0-1.0.30 | N/A | 2.40 | 1.7.0 | 1.7.0 | 1.7.0 | 2.6.0 | 5.0.0 | 2.9.0 | 1.6.0 | 1.9.0 | 2.2.0 | 1.6.0 | 1.0.0 | 17.0.0 | 1.3.0 | 20.3.0 | 1.0.0 |
34 | 8.5.0 | 2.0.0 | 1.14.0 | 2.0.0-1.0.31 | N/A | 2.50 | 1.7.5 | 1.7.5 | 1.7.5 | 2.7.0 | 5.0.0 | 2.9.0 | 1.6.1 | 1.10.0 | 2.2.1 | 1.7.0 | 1.0.0 | 17.0.1 | 1.4.0 | 21.0.0 | 1.1.0 |
35 | 8.7.3 | 2.1.10 | 1.15.0 | 2.1.10-1.0.31 | N/A | 2.51.1 | 1.8.0 | 1.8.0 | 1.8.0 | 2.8.7 | 5.0.0 | 2.9.0 | 1.7.0 | 1.12.0 | 2.2.1 | 1.10.1 | 1.0.1 | 17.1.0 | 1.4.2 | 21.3.0 | 1.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
.
session
.- Este short key es necesario para comenzar un flujo de KYC en Android, este es generado desde el portal web. Al tener la short key, se utiliza el servicio
basePath/api/v1/kyc/session
donde se manda el shortkey y este devuelve el token que será utilizado en todas las Apis del proceso de KYC. Referencia:Detalles de un flujo - Iniciar sesión para KYC (Android) y Referencia:KYC - Guía Rápida - Paso 1 y 2
3. Verificar Documento con el Servicio de verify
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
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
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
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
v1/kyc/session/finish
- El servicio solamente se ejecuta para indicar que finalizo el proceso KYC.. Referencia:Detalles de un flujo - Finalizar sesión para KYC (Android)
8. Se termina flujo de KYC
- Los resultados se podrán ver en el apartado de sesiones de KYC en el portal web. Referencia:KYC - Visualiza tus flujos
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.
Updated 11 days ago