Integración de workflows
Integra flujos de trabajo de KYC en apps de React Native usando el SDK de ComplyCube.
Descripción general
Esta guía le muestra cómo integrar el SDK de React Native con ComplyCube flujos de trabajo.

Flujo de integración
El SDK móvil se ejecuta en tu aplicación móvil, pero depende de tu backend para crear tokens seguros. Así es como funciona:

Guía de integración
Instale el SDK
Instala la biblioteca de React Native ejecutando:
Completa los pasos en las iOS y Android pestañas.
Integración de Sentry
Si estás integrando Sentry en tu proyecto de React Native, podrías encontrarte con el siguiente error de compilación:
Este problema ocurre debido a una incompatibilidad de versiones entre el paquete Sentry React Native y el SDK nativo de Sentry.
Para resolver este error (a partir de @sentry/react-native v5.31.0 y Sentry para iOS v8.36.0), actualiza las sentencias de importación en tu código.
En SentrySdkInfo.h y SentryInternalSerializable.h, sustituye:
Antes de usar el SDK de ComplyCube, instale el CocoaPods plugin ejecutando el siguiente comando en tu terminal:
Añade repositorios de plugins e instala el pod usando tu
Podfile:
Permisos de la aplicación
Nuestro SDK utiliza la cámara y el micrófono del dispositivo para la captura. Debe añadir las siguientes claves a su aplicación Info.plist archivo.
NSCameraUsageDescription
NSMicrophoneUsageDescription
Nuestro SDK requiere los repositorios siguientes.
Crear un cliente
Todo flujo de verificación comienza con un cliente (es decir, cliente). Usa la API para crear el cliente.
Esto debe hacerse en tu backend de la app móvil servidor, no en la propia aplicación móvil.
Ejemplo de solicitud
Ejemplo de respuesta
La respuesta contendrá un id (el ID del cliente). Es necesario para el siguiente paso.
Consulta Referencia de la API de clientes para obtener más información.
Genera un token del SDK
Tu backend debe crear un token del SDK para cada nuevo flujo. Este token permite a los clientes enviar datos personales de forma segura desde tu app móvil a ComplyCube.
Los tokens tienen una vida útil corta y no deben reutilizarse.
Ejemplo de solicitud
Ejemplo de respuesta
Consulta Referencia de la API de tokens del SDK para obtener más información.
Inicialice el SDK
Como parte de la inicialización del SDK, debe especificar un ID de plantilla de flujo de trabajo. El SDK ejecutará automáticamente la activa versión del flujo de trabajo seleccionado.
Realizar checks
Una vez que tu cliente inicie el flujo, una sesión de flujo de trabajo se crea automáticamente. Esta sesión contiene todos los datos capturados (documentos, imágenes y videos), así como el seguimiento del progreso. Puedes verlos todos a través de la página de sesiones de flujo de trabajo en el portal o a través de la API.
Cuando el flujo termina, el SDK activa la onSuccess función de devolución de llamada. La devolución de llamada proporciona un datos objeto que incluye el workflowSessionId. Tu backend móvil debe usar este ID para notificar a ComplyCube que el flujo de trabajo ha finalizado, lo que a su vez ejecuta las comprobaciones de verificación definidas en el flujo de trabajo.
Si has configurado webhooks como se describe en nuestra guía de webhooks, recibirás una notificación cuando se complete una sesión de flujo de trabajo.
Ejemplo de una solicitud completa de sesión de flujo de trabajo
Recuperar los resultados de la verificación
Su backend móvil puede recuperar los detalles de la sesión de flujo de trabajo y los resultados de comprobación asociados mediante nuestra API.
Todas nuestras comprobaciones son asíncronas. Si has configurado webhooks como se describe en nuestra guía de webhooks, se te notificará una vez que un check se complete.
Puedes recuperar los detalles de una sesión de flujo de trabajo llamando a la solicitud para recuperar la sesión de flujo de trabajo.
Para recuperar los resultados de la comprobación, puede realizar una solicitud de obtención de comprobación.
Ejemplo de una solicitud de recuperación de sesión de flujo de trabajo
Ejemplo de una solicitud de recuperación de comprobación
Captura NFC
El SDK móvil de ComplyCube admite lectura basada en NFC chip RFID la lectura de documentos de identidad equipados con chips integrados. Esto permite una extracción de datos segura y una autenticación documental de alta fiabilidad.
Póngase en contacto con su Gerente de cuenta o soporte para obtener acceso a nuestro SDK móvil con compatibilidad NFC.
Requisitos previos
Para usar esta función, tu aplicación debe tener la lectura de etiquetas de Comunicación de Campo Cercano habilitada. Para añadir esta capacidad a tu aplicación, consulta la guía de Apple aquí.
Instala el CocoaPods Artifactory plugin ejecutando el siguiente comando en tu terminal:
Para añadir la biblioteca, copia las credenciales de tu repositorio en un
.netrcarchivo en tu directorio de inicio y configura el repositorio:Recuerda obtener tus credenciales de JFrog usando el Configurar botón aquí.
Añade repositorios de plugins e instala el pod usando tu
Podfile:Debes añadir las siguientes claves a tu aplicación
Info.plistarchivo:Para leer correctamente las etiquetas NFC, debes añadir las siguientes entradas al target de tu aplicación
Info.plistarchivo:Añade lo siguiente en tu
Runner.entitlementsarchivo:Para habilitar NFC al compilar tu app de iOS, pasa la
USE_CCNFCvariable de entorno durante la compilación:Para mantener esto habilitado en todas las compilaciones de iOS, añade la siguiente línea cerca de la parte superior de tu
ios/Podfile:
Comienza añadiendo tus credenciales de acceso para el repositorio del SDK habilitado para NFC de ComplyCube en el
gradle.propertiesarchivo de tu aplicación móvil:
Reemplace <YOUR_USERNAME> y <YOUR_PASSWORD> con sus credenciales de ComplyCube Artifactory. Si no tiene acceso, póngase en contacto con el Soporte de ComplyCube para solicitar credenciales.
Luego, actualiza el nivel de tu proyecto
build.gradleobuild.gradle.ktsarchivo con la configuración Maven del repositorio del SDK de ComplyCube:
Identidad de marca
Puedes personalizar los colores, los logotipos y otros elementos de marca a través de la página de configuración de la marca, si está disponible en tu plan.
Localización
El SDK es compatible con varios idiomas, incluidos los que se enumeran a continuación.
Árabe -
ar🇦🇪Chino (simplificado) -
zh🇨🇳Chino (tradicional) -
hk🇨🇳Neerlandés -
nl🇳🇱Inglés -
en🇺🇸Francés -
fr🇫🇷Alemán -
de🇩🇪Hindi -
hi🇮🇳Indonesio -
id🇮🇩Italiano -
it🇮🇹
Japonés -
ja🇯🇵Coreano -
ko🇰🇷Noruego -
no🇳🇴Polaco -
po🇵🇱Portugués -
pt🇵🇹Español -
es🇪🇸Sueco -
sv🇸🇪Tailandés -
th🇹🇭Vietnamita -
vi🇻🇳y más...
Gestión de resultados
Para ejecutar una sesión de verificación, debe implementar el éxito, cancelado, y error callbacks.
Al completarse correctamente (onSuccess), puede activar una solicitudes de finalización de la sesión de flujo de trabajo desde su backend usando el ID de sesión de flujo de trabajo devuelto en el objeto de resultado.
Si el usuario abandona el flujo antes de completarlo, el onCancelled callback se invoca con un motivo descriptivo que indica por qué se canceló la sesión (p. ej., salida del usuario, tiempo de espera agotado, permiso denegado)
En algunos casos, el cliente puede cancelar el flujo después de completar una o más etapas de captura. Si esto ocurre, es posible que cualquier dato capturado antes de la cancelación, como documentos o medios biométricos, ya se haya cargado en su registro de cliente.
Si el SDK encuentra un problema, el onError callback se activa con un ComplyCubeError objeto que contiene el tipo de error y el mensaje. Consulte los códigos de error (véase a continuación) para obtener una lista completa de los posibles casos de error.
Códigos de error
BiometricStageCount
La configuración incluye duplicados foto de selfie o video de selfie etapas.
Cancelado
El cliente canceló el flujo y salió del SDK (activó la onCancelled devolución de llamada).
Conectividad
Se ha producido un error de red.
DocumentMandatory
Una etapa de documento es obligatorio según las etapas configuradas, pero no se ha incluido.
ExpiredToken
El token del SDK ha expirado. Genere un nuevo token y reinicie el flujo.
FlowError
Se produjo un error irrecuperable durante el flujo.
InvalidCountryCode
Se proporcionó un código de país no válido.
JailBroken
El SDK no puede ejecutarse en este dispositivo porque ha sido liberado de restricciones (jailbreak) o comprometido.
NoDiskAccess
El cliente denegó los permisos de acceso al disco requeridos por el SDK.
NoDocumentTypes
Una etapa de documento se inicializó sin especificar ningún tipo de documento.
NoResult
No se devolvió ningún resultado a la devolución de llamada. Si esto persiste, póngase en contacto con soporte.
NoUserConsent
El cliente no ha dado su consentimiento para continuar con el flujo del SDK.
NotAuthorized
El SDK intentó acceder a un extremo para el que no está autorizado.
Desconocido
Se produjo un error inesperado. Si esto ocurre repetidamente, contacte con soporte.
UnsupportedCountryTypeCombination
La combinación de país y tipo de documento seleccionada no es compatible.
UnsupportedDocumentType
El tipo de documento proporcionado no es compatible.
UploadError
Se produjo un error al cargar un documento o una selfie.
UploadRequireGuidance
Si useLiveCaptureOnly está configurado en false, la guía debe habilitarse configurando isGuidanceEnabled en true.
Seguimiento de eventos
El SDK registra una variedad de eventos durante todo el flujo de verificación, cubriendo todas las interacciones clave del usuario en cada etapa. Consulte a continuación la lista de eventos.
Si necesita implementar analíticas personalizadas, puede conectarse a estos eventos y activar su propia lógica de seguimiento en consecuencia.
Para incorporar tu propio seguimiento, define una función y aplícala usando el eventHandler propiedad en tus ajustes:
Eventos
INTRODUCCIÓN
El cliente llegó a la pantalla de introducción.
ETAPA_DE_CONSENTIMIENTO
El cliente llegó a la pantalla de consentimiento.
ADVERTENCIA_DE_ETAPA_DE_CONSENTIMIENTO
El cliente intentó salir sin dar su consentimiento.
PERMISO_DE_ACCESO_A_LA_CÁMARA
El cliente llegó a la pantalla de solicitud de permiso de la cámara.
ETAPA_DE_GUÍA_DE_CAPTURA_DE_DOCUMENTO
El cliente llegó a la pantalla de guía de captura de documentos.
ETAPA_DE_TIPO_DE_DOCUMENTO
El cliente llegó a la pantalla de selección del tipo de documento para una captura de documento.
ETAPA_DE_SELECCIÓN_DE_PAÍS
El cliente llegó a la pantalla de selección de país para una captura de documento.
ETAPA_DE_CÁMARA_DE_DOCUMENTO_DE_UNA_CARA
El cliente llegó a la etapa de captura con cámara para un documento de identificación de una sola cara.
ETAPA_DE_CÁMARA_MANUAL_DE_DOCUMENTO_DE_UNA_CARA
El cliente llegó a la pantalla de captura manual con cámara de un documento de identificación de una sola cara.
ETAPA_DE_REVISIÓN_DE_CALIDAD_DE_DOCUMENTO_DE_UNA_CARA
El cliente llegó a la pantalla de vista previa de calidad para un documento de identificación de una sola cara.
ETAPA_DE_CÁMARA_DELANTERA_DE_DOCUMENTO_DE_DOS_CARAS
El cliente llegó a la pantalla de captura con cámara para la cara frontal de un documento de identificación de dos caras.
ETAPA_DE_CÁMARA_MANUAL_DELANTERA_DE_DOCUMENTO_DE_DOS_CARAS
El cliente llegó a la pantalla de captura manual con cámara para la cara frontal de un documento de identificación de dos caras.
ETAPA_DE_REVISIÓN_DE_CALIDAD_DELANTERA_DE_DOCUMENTO_DE_DOS_CARAS
El cliente llegó a la pantalla de vista previa de calidad para la cara frontal de un documento de identificación de dos caras.
ETAPA_DE_CÁMARA_POSTERIOR_DE_DOCUMENTO_DE_DOS_CARAS
El cliente llegó a la pantalla de captura con cámara para la cara posterior de un documento de identificación de dos caras.
ETAPA_DE_CÁMARA_MANUAL_POSTERIOR_DE_DOCUMENTO_DE_DOS_CARAS
El cliente llegó a la pantalla de captura manual con cámara para la cara posterior de un documento de identificación de dos caras.
ETAPA_DE_REVISIÓN_DE_CALIDAD_POSTERIOR_DE_DOCUMENTO_DE_DOS_CARAS
El cliente llegó a la pantalla de vista previa de calidad para la cara posterior de un documento de identificación de dos caras.
ETAPA_DE_GUÍA_DE_CAPTURA_DE_SELFIE
El cliente llegó a la pantalla de guía de captura de selfie.
ETAPA_DE_CÁMARA_DE_SELFIE
El cliente llegó a la pantalla de cámara para capturar la foto de selfie.
ETAPA_DE_CÁMARA_MANUAL_DE_SELFIE
El cliente llegó a la pantalla de cámara para capturar manualmente la foto de selfie.
ETAPA_DE_REVISIÓN_DE_CALIDAD_DE_SELFIE
El cliente llegó a la pantalla de revisión de la foto capturada de la selfie.
ETAPA_DE_CÁMARA_DE_VIDEO_SELFIE
El cliente llegó a la pantalla de cámara para selfie en video.
ETAPA_DE_CÁMARA_MANUAL_DE_VIDEO_SELFIE
El cliente llegó a la pantalla de captura manual con cámara para una selfie en video.
ETAPA_DE_ACCIÓN_DE_VIDEO_SELFIE_UNO
El cliente llegó a la primera acción en una captura de selfie en video.
ETAPA_DE_ACCIÓN_DE_VIDEO_SELFIE_DOS
El cliente llegó a la segunda acción en una captura de selfie en video.
ETAPA_DE_REVISIÓN_DE_CALIDAD_DE_VIDEO_SELFIE
El cliente llegó a la pantalla de cámara para captura manual de selfie en video.
ETAPA_DE_GUÍA_DE_CAPTURA_DE_COMPROBANTE_DE_DOMICILIO
El cliente llegó a la pantalla de guía de captura de comprobante de domicilio.
ETAPA_DE_TIPO_DE_DOCUMENTO_DE_COMPROBANTE_DE_DOMICILIO
El cliente llegó a la pantalla de selección del tipo de documento para una captura de comprobante de domicilio.
ETAPA_DE_SELECCIÓN_DE_PAÍS_DE_COMPROBANTE_DE_DOMICILIO
El cliente llegó a la pantalla de selección de país para una captura de comprobante de domicilio.
ETAPA_DE_CÁMARA_DE_COMPROBANTE_DE_DOMICILIO_DE_UNA_CARA
El cliente llegó a la etapa de captura con cámara para un comprobante de domicilio de una sola cara.
ETAPA_DE_CÁMARA_MANUAL_DE_COMPROBANTE_DE_DOMICILIO_DE_UNA_CARA
El cliente llegó a la etapa de captura manual con cámara para un comprobante de domicilio de una sola cara.
ETAPA_DE_REVISIÓN_DE_CALIDAD_DE_COMPROBANTE_DE_DOMICILIO_DE_UNA_CARA
El cliente llegó a la pantalla de vista previa de calidad para un comprobante de domicilio de una sola cara.
ETAPA_DE_CÁMARA_DELANTERA_DE_COMPROBANTE_DE_DOMICILIO_DE_DOS_CARAS
El cliente llegó a la etapa de captura con cámara para la cara frontal de un comprobante de domicilio de dos caras.
ETAPA_DE_CÁMARA_MANUAL_DELANTERA_DE_COMPROBANTE_DE_DOMICILIO_DE_DOS_CARAS
El cliente llegó a la etapa de captura manual con cámara para la cara frontal de un comprobante de domicilio de dos caras.
ETAPA_DE_REVISIÓN_DE_CALIDAD_DELANTERA_DE_COMPROBANTE_DE_DOMICILIO_DE_DOS_CARAS
El cliente llegó a la pantalla de vista previa de calidad para la cara frontal de un comprobante de domicilio de dos caras.
ETAPA_DE_CÁMARA_POSTERIOR_DE_COMPROBANTE_DE_DOMICILIO_DE_DOS_CARAS
El cliente llegó a la etapa de captura con cámara para la cara posterior de un comprobante de domicilio de dos caras.
ETAPA_DE_CÁMARA_MANUAL_POSTERIOR_DE_COMPROBANTE_DE_DOMICILIO_DE_DOS_CARAS
El cliente llegó a la etapa de captura manual con cámara para la cara posterior de un comprobante de domicilio de dos caras.
ETAPA_DE_REVISIÓN_DE_CALIDAD_POSTERIOR_DE_COMPROBANTE_DE_DOMICILIO_DE_DOS_CARAS
El cliente llegó a la pantalla de vista previa de calidad para la cara posterior de un comprobante de domicilio de dos caras.
ETAPA_DE_FINALIZACIÓN
El cliente ha llegado a la pantalla de finalización.
Gestión de vencimiento del token
Para gestionar la expiración del token de forma fluida, puedes proporcionar una función de devolución de llamada que genere un nuevo token del SDK cuando sea necesario. Esto permite que el flujo continúe sin interrupciones, sin que el usuario tenga que reiniciar la sesión manualmente.

