Integración basada en comprobaciones
Crea flujos de KYC y verificación de identidad basados en comprobaciones con el SDK web de ComplyCube.
Descripción general
Esta guía te guía a través de la integración del Web SDK con ComplyCube usando el enfoque basado en checks, dándote control directo sobre cada paso de verificación.
Para un ejemplo rápido de copiar y pegar, usa nuestro asistente de integración.
Estás viendo la basado en comprobaciones guía del SDK: un enfoque que ofrece un control detallado, pero es más adecuado para socios o casos de uso avanzados. Recomendamos usar integración del flujo de trabajo para la mayoría de las implementaciones.
Flujo de integración
El SDK web se ejecuta como parte de tu frontend, pero depende de tu backend para crear tokens seguros. Así es como funciona:

Guía de integración
Crear un cliente
Cada flujo de verificación comienza con un cliente (es decir, cliente). Usa la API para crear el cliente.
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 vincula la sesión del SDK con el cliente. 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.
Importar el SDK
Para importar nuestro Web SDK, debes incluirlo en el HTML de tu página de destino:
Cargando el SDK con integridad (Opcional)
Para mayor seguridad, puedes cargar opcionalmente el ComplyCube Web SDK usando Subresource Integrity (SRI). Esto permite al navegador verificar que los archivos JavaScript y CSS no hayan sido modificados validándolos frente a sumas de comprobación criptográficas.
Recupera los últimos valores de integridad del SDK
Para asegurarte de usar siempre la última versión compatible del SDK y los hashes de integridad más recientes, recupera los metadatos del recurso desde el endpoint de información del Web SDK.
Ejemplo de solicitud
Ejemplo de respuesta
La respuesta incluye las URL y los valores de integridad correspondientes tanto para los recursos de JavaScript como para los de CSS.
Importa el SDK usando atributos de integridad
Usa los valores devueltos para cargar el SDK en tu HTML con integridad y crossorigin atributos:
Notas
Usar SRI es opcional, pero se recomienda para entornos con requisitos de seguridad más estrictos.
El atributo crossorigin="anonymous" es necesario cuando se usa SRI con recursos servidos desde un origen diferente.
Los valores de integridad pueden cambiar cuando el SDK se actualiza. Recupera siempre los valores más recientes desde el endpoint.
Los enlaces a complycube.min.js y style.css se pueden encontrar en tu portal para desarrolladores.
Montar el SDK
Con el token del SDK generado, el Web SDK puede inicializarse en tu frontend usando el siguiente código JavaScript:
Los parámetros de montaje del SDK se describen en la sección de configuración del SDK a continuación.
Política de referrer
Para permitir una comunicación correcta entre el SDK y nuestros servidores, el encabezado de la política de referrer de tu página web debe configurarse como strict-origin-when-cross-origin. Esto garantiza que la información del referrer se transmita de forma segura durante las solicitudes HTTP.
Puedes hacerlo programáticamente o añadirlo directamente a la página web de la siguiente manera:
<meta name="referrer" content="strict-origin-when-cross-origin">
Realizar checks
Usando los datos devueltos por el SDK, a través de la callback onComplete ahora puedes indicar a tu servidor backend que ejecute los checks apropiados usando el endpoint para crear un check.
Por ejemplo, usa:
documentCapture.documentIdpara ejecutar un check de documento.documentCapture.documentIdyfaceCapture.livePhotoIdpara ejecutar un check de identidad.documentCapture.documentIdyfaceCapture.liveVideoIdpara ejecutar un check de identidad mejorado.poaCapture.documentIdpara ejecutar un check de prueba de domicilio.
Si has configurado webhooks como se describe en nuestra guía de webhooks, se te notificará una vez que un check se complete.
Para recuperar los resultados del check, puedes realizar una solicitud GET de check.
Ejemplo de solicitud
Referencia del SDK
Esta sección describe todos los ajustes configurables, callbacks, métodos del ciclo de vida y opciones de marca disponibles en el Web SDK de ComplyCube.
Configuración
token
El token del SDK generado por tu backend. Esto es obligatorio.
Tipo: string
containerId
El ID del elemento contenedor donde se monta el SDK. Debe ser un elemento vacío.
Tipo: string
Valor predeterminado: complycube-mount
useModal
Esto define si las pantallas de la interfaz se cargan en un modal en lugar de en línea.
Tipo: boolean
Valor predeterminado: true
useFullScreen
Esto define si el SDK se carga en modo de pantalla completa.
Tipo: boolean
Valor predeterminado: false
disableClientAnalytics
Esto define si rastreamos o no la analítica del cliente.
Tipo: boolean
Valor predeterminado: false
stages
Esta es la lista de etapas por las que pasarán tus clientes. Las etapas pueden proporcionarse como cadenas o como objetos. Consulta Etapas a continuación para obtener más información.
Tipo: array[object] o array[string]
Valores predeterminados: ['intro', 'faceCapture, 'documentCapture', 'completion']
language
El idioma de la interfaz. Los valores válidos incluyen:
en , ar, br, de, es, fr, hi, hk, id, it, ja, ko, nl, no, pl, pt, sv, th, vi, zh
Tipo: string
Valor predeterminado: en
Devolución de llamada
Los callbacks te permiten responder a los eventos del ciclo de vida del SDK.
callback onComplete
Se activa después de que el cliente completa el flujo de verificación. Normalmente se usa para desencadenar un check en tu backend.
Según las etapas proporcionadas, datos puede incluir los siguientes atributos:
documentCapturedocumentId: ID del documento capturado.documentType:Tipo del documento cargado.
faceCaptureliveVideoId: ID del video capturado. O;livePhotoId: ID de la foto capturada.
poaCapturedocumentId: ID del documento de comprobante de domicilio cargado.documentType: Tipo del documento de comprobante de domicilio cargado.
onError
Se activa cuando ocurre un error. El objeto de error tiene dos atributos:
type: Puede ser:exceptiontoken_expired: indica que el token ha expirado. Cuando esto ocurra, se debe proporcionar un nuevo token del SDK.
message: Descripción del error.
onExit
Esta devolución de llamada se activa cuando el cliente sale antes de completar el flujo. Devolverá el motivo de salida, por ejemplo, USER_CONSENT_NOT_GRANTED.
onModalClose
Se activa cuando el cliente intenta cerrar el modal. Puedes permitir o impedir el cierre actualizando el atributo isModalOpen usando updateSettings.
Actualización de la configuración
Varios ajustes pueden actualizarse en tiempo de ejecución de la siguiente manera:
Desmontando el SDK
Si está utilizando el SDK en una aplicación de una sola página (SPA), puede llamar a la función unmount para eliminar el SDK y restablecer su estado.
Etapas
La stages array define el flujo de verificación. Cada etapa puede pasarse como un string o como un objeto con opciones.
Nombres de etapas compatibles
intro: Pantalla de bienvenida.userConsentCapture: Capturar el consentimiento del cliente.documentCapture: Capturar documentos de identificación.faceCapture: Capturar selfies o videos de prueba de vida.poaCapture: Capturar documento de comprobante de domicilio.completion: Fin del flujo.
Cuando userConsentCapture está habilitado, gestiona siempre el onExit callback si el cliente rechaza el consentimiento.
Asegúrate de pasar el clientConsent parámetro cuando tu cliente otorgue el consentimiento.
Cuando una etapa se pasa como objeto, tendrá dos atributos, name y options.
Nombre
Este es el nombre de la etapa
Opciones
Esto te permite personalizar cada etapa de la siguiente manera:
intro
heading: Cambia el encabezado de la pantalla de introducción.message: Una lista de mensajes para mostrar en la pantalla de introducción. Tamaño máximo 3.startButtonText: Cambia el texto del botón de inicio en la pantalla de introducción.
documentCapture
crossDeviceOnly: Un booleano que indica si se debe obligar a los usuarios a capturar su documento usando su teléfono. Esto elimina la opción de carga de documentos.documentTypes: La lista de tipos de documentos de identificación visibles para el usuario. Los tipos de documento válidos incluyen:passportdriving_licensenational_identity_cardresidence_permit
Cada valor puede ser ya sea un boolean o un objeto de país. Un booleano alterna la visibilidad del tipo de documento, mientras que un objeto de país especifica el país emisor para documentos que no sean pasaporte, omitiendo la pantalla de selección de país. El valor del país es el código ISO de país de dos letras.
faceCapture
mode: El modo de la captura facial. Los valores posibles son:photoovideo.
poaCapture
documentTypes: La lista de tipos de documentos de Comprobante de Domicilio (POA) visibles para el cliente. Los tipos de documento POA válidos incluyen:bank_statementutility_bill
El valor de cada tipo de documento es un booleano que alterna la visibilidad del tipo de documento.
completion
heading: Cambia el encabezado de la pantalla de finalización.message: Un mensaje para mostrar en la pantalla de finalización. Tamaño máximo 1.
Objeto de opciones de ejemplo
Identidad de marca
Puedes personalizar la apariencia y el estilo del SDK con el branding objeto. Se compone de los atributos que se indican a continuación.
Apariencia
La apariencia el objeto le permite personalizar el esquema de colores del SDK con valores CSS (p. ej., RGBA, Hex). Los atributos personalizables incluyen:
infoPopupColor
Color de fondo del popup de advertencia.
infoPopupTextColor
Color de fondo del popup de advertencia.
infoPopupLinkHoverColor
Color de fondo al pasar el cursor del enlace alternativo del popup de advertencia.
infoPopupLinkActiveColor
Color de fondo activo del enlace alternativo del popup de advertencia.
errorPopupColor
Color de fondo del popup de error.
errorPopupTextColor
Color del texto del popup de error.
errorPopupLinkHoverColor
Color de fondo al pasar el cursor del enlace alternativo del popup de error.
errorPopupLinkActiveColor
Color de fondo activo del enlace alternativo del popup de error.
cameraButtonHoverColor
Color de fondo del botón de la cámara al pasar el cursor.
cameraButtonActiveColor
Color de fondo activo del botón de la cámara.
iconButtonActiveColor
Color de fondo activo del botón de icono.
iconButtonHoverColor
Color de fondo del botón de icono al pasar el cursor.
primaryButtonColor
Color de fondo del botón principal.
primaryButtonTextColor
Color del texto del botón principal.
primaryButtonActiveColor
Color de fondo activo del botón principal.
primaryButtonHoverColor
Color de fondo del botón principal al pasar el cursor.
primaryButtonBorderColor
Color del borde del botón principal.
secondaryButtonColor
Color de fondo del botón secundario.
secondaryButtonTextColor
Color del texto del botón secundario.
secondaryButtonActiveColor
Color de fondo activo del botón secundario.
secondaryButtonHoverColor
Color de fondo del botón secundario al pasar el cursor.
secondaryButtonBorderColor
Color del borde del botón secundario.
documentSelectorColor
Color de fondo del selector de documentos.
documentSelectorTextColor
Color del texto del selector de documentos.
documentSelectorActiveBorderColor
Color de fondo activo del selector de documentos.
documentSelectorHoverBorderColor
Color de fondo del selector de documentos al pasar el cursor.
linkHoverColor
Color de fondo del enlace al pasar el cursor.
linkActiveColor
Color de fondo activo del enlace.
linkUnderlineColor
Color del subrayado del enlace.
linkHoverTextColor
Color del texto del enlace al pasar el cursor.
bodyTextColor
Color del texto del contenido del SDK.
headingTextColor
Color del texto de los encabezados del SDK.
subheadingTextColor
Color del texto de los subencabezados del SDK.
Logotipo
La logo el objeto tiene los siguientes atributos:
lightLogoUrl: URL de la versión clara de tu logotipo.darkLogoUrl: URL de la versión oscura de tu logotipo.
Ejemplo de marca del logotipo
Marca de texto
La textBrand el atributo representa el formato textual de tu marca.
Ejemplo de marca textual
Si logo y textBrand los atributos se especifican al mismo tiempo, logo tiene prioridad.

