Intégration guidée par les vérifications
Créez des parcours KYC et de vérification d’identité pilotés par les contrôles avec le SDK Web ComplyCube.
Vue d'ensemble
Ce guide vous accompagne dans l'intégration du SDK Web avec ComplyCube en utilisant l'approche pilotée par les vérifications, vous donnant un contrôle direct sur les étapes de vérification individuelles.
Pour un exemple rapide à copier-coller, utilisez notre assistant d’intégration.
Vous consultez le piloté par des vérifications guide SDK - une approche qui offre un contrôle détaillé mais qui convient mieux aux partenaires ou cas d’utilisation avancés. Nous recommandons d’utiliser l’intégration des flux de travail pour la plupart des implémentations.
Flux d'intégration
Le SDK Web s'exécute dans votre frontend, mais s'appuie sur votre backend pour créer des jetons sécurisés. Voici comment cela fonctionne :

Guide d'intégration
Créer un client
Chaque parcours de vérification commence par un client (c'est-à-dire le client). Utilisez l'API pour créer le client.
Exemple de requête
Exemple de réponse
La réponse contiendra un identifiant (l'identifiant du client). Il est requis pour l'étape suivante.
Voir Référence de l'API Clients pour en savoir plus.
Générez un jeton SDK
Votre backend doit créer un jeton SDK pour chaque nouveau parcours. Ce jeton associe la session du SDK au client. Les jetons sont de courte durée et ne doivent pas être réutilisés.
Exemple de requête
Exemple de réponse
Voir Référence de l'API du jeton SDK pour en savoir plus.
Importer le SDK
Pour importer notre SDK Web, vous devez l'inclure dans le code HTML de votre page cible :
Chargement du SDK avec intégrité (Facultatif)
Pour plus de sécurité, vous pouvez charger le SDK Web ComplyCube de manière facultative à l’aide de Intégrité des sous-ressources (SRI). Cela permet au navigateur de vérifier que les fichiers JavaScript et CSS n’ont pas été modifiés en les validant à l’aide de sommes de contrôle cryptographiques.
Récupérer les dernières valeurs d’intégrité du SDK
Pour vous assurer d’utiliser toujours la dernière version prise en charge du SDK et les derniers hachages d’intégrité, récupérez les métadonnées des ressources depuis le point de terminaison d’informations du SDK Web.
Exemple de requête
Exemple de réponse
La réponse inclut les URL et les valeurs d’intégrité correspondantes pour les ressources JavaScript et CSS.
Importer le SDK à l’aide d’attributs d’intégrité
Utilisez les valeurs renvoyées pour charger le SDK dans votre HTML avec integrity et crossorigin attributs :
Remarques
L’utilisation du SRI est facultative, mais recommandée pour les environnements avec des exigences de sécurité plus strictes.
L’attribut crossorigin="anonymous" est requis lors de l’utilisation de SRI avec des ressources servies depuis une origine différente.
Les valeurs d’intégrité peuvent changer lorsque le SDK est mis à jour. Récupérez toujours les dernières valeurs depuis le point de terminaison.
Les liens vers complycube.min.js et style.css se trouvent dans votre portail développeurs.
Monter le SDK
Avec le jeton SDK généré, le SDK Web peut être initialisé dans votre frontend à l'aide du code JavaScript suivant :
Les paramètres de montage du SDK sont décrits dans la section des paramètres du SDK ci-dessous.
Politique de referrer
Pour permettre une communication réussie entre le SDK et nos serveurs, l' Referrer Policy de votre page web doit être défini sur strict-origin-when-cross-origin. Cela garantit que les informations de referrer sont transmises de manière sécurisée lors des requêtes HTTP.
Vous pouvez soit le faire par programmation, soit l'ajouter directement à la page web comme suit :
<meta name="referrer" content="strict-origin-when-cross-origin">
Effectuer des vérifications
En utilisant les données renvoyées par le SDK, via le onComplete callback, vous pouvez maintenant demander à votre serveur backend d'exécuter les vérifications appropriées à l'aide du créer un endpoint de vérification.
Par exemple, utilisez :
documentCapture.documentIdpour lancer une vérification de document.documentCapture.documentIdetfaceCapture.livePhotoIdpour lancer une vérification d'identité.documentCapture.documentIdetfaceCapture.liveVideoIdpour lancer une vérification d'identité renforcée.poaCapture.documentIdpour lancer une vérification de justificatif de domicile.
Si vous avez configuré des webhooks comme décrit dans notre guide des webhooks, vous serez informé lorsqu'une vérification sera terminée.
Pour récupérer les résultats de la vérification, vous pouvez effectuer une requête GET requête de vérification.
Exemple de requête
Référence du SDK
Cette section décrit tous les paramètres configurables, les callbacks, les méthodes de cycle de vie et les options de branding disponibles dans le SDK Web ComplyCube.
Paramètres
token
Le jeton SDK généré par votre backend. Il est obligatoire.
Type: string
containerId
L'ID de l'élément conteneur où le SDK est monté. Il doit s'agir d'un élément vide.
Type : string
Valeur par défaut: complycube-mount
useModal
Définit si les écrans de l'interface se chargent dans une fenêtre modale plutôt qu'en ligne.
Type : boolean
Valeur par défaut: true
useFullScreen
Définit si le SDK se charge en mode plein écran.
Type : boolean
Valeur par défaut: false
disableClientAnalytics
Définit si nous suivons ou non les analyses client.
Type : boolean
Valeur par défaut: false
stages
Il s'agit de la liste des étapes que vos clients suivront. Les étapes peuvent être fournies sous forme de chaînes ou d'objets. Voir Étapes ci-dessous pour en savoir plus.
Type : array[object] ou array[string]
Valeurs par défaut: ['intro', 'faceCapture, 'documentCapture', 'completion']
language
La langue de l'interface. Les valeurs valides incluent :
en , ar, br, de, es, fr, hi, hk, identifiant, it, ja, ko, nl, no, pl, pt, sv, th, vi, zh
Type : string
Valeur par défaut: en
Callback
Les callbacks vous permettent de réagir aux événements du cycle de vie du SDK.
onComplete
Déclenché après que le client a terminé le parcours de vérification. Généralement utilisé pour déclencher une vérification sur votre backend.
Selon les étapes fournies, données peut inclure les attributs suivants :
documentCapturedocumentId: identifiant du document capturé.documentType:Type de document téléchargé.
faceCaptureliveVideoId: identifiant de la vidéo capturée. OU;livePhotoId: identifiant de la photo capturée.
poaCapturedocumentId: identifiant du document de justificatif de domicile téléversé.documentType: type du document de justificatif de domicile téléversé.
onError
Déclenché lorsqu'une erreur se produit. L'objet d'erreur comporte deux attributs :
type: Cela peut être :exceptiontoken_expired: indique que le jeton a expiré. Dans ce cas, un nouveau jeton SDK doit être fourni.
message: Description de l'erreur.
onExit
Ce callback est déclenché lorsque votre client quitte avant de terminer le parcours. Il renverra la raison de la sortie, par exemple, USER_CONSENT_NOT_GRANTED.
onModalClose
Déclenché lorsque le client tente de fermer la modale. Vous pouvez autoriser ou empêcher la fermeture en mettant à jour l' isModalOpen attribut à l'aide de updateSettings.
Mise à jour des paramètres
Un certain nombre de paramètres peuvent être mis à jour à l’exécution comme suit :
Démontage du SDK
Si vous utilisez le SDK dans une application monopage (SPA), vous pouvez appeler la fonction unmount pour supprimer le SDK et réinitialiser son état.
Étapes
Le stages tableau définit le parcours de vérification. Chaque étape peut être passée sous forme de string ou comme un objet avec des options.
Noms d'étapes pris en charge
intro: Écran d'accueil.userConsentCapture: Capture du consentement du client.documentCapture: Capture des documents d'identité.faceCapture: Capture de selfies ou de vidéos de vérification de présence.poaCapture: Capture du document de justificatif de domicile.completion: Fin du parcours.
Lorsque userConsentCapture est activé, gérez toujours le onExit callback si le client refuse son consentement.
Veuillez vous assurer de transmettre le paramètre clientConsent lorsque le consentement est accordé par votre client.
Lorsqu'une étape est passée sous forme de objet, elle aura deux attributs, nom et options.
Nom
Voici le nom de l’étape
Options
Cela vous permet de personnaliser chaque étape comme suit :
intro
heading: Modifiez le titre de l’écran d’introduction.message: Une liste de messages à afficher sur l’écran d’introduction. Taille maximale 3.startButtonText: Modifiez le texte du bouton de démarrage sur l’écran d’introduction.
documentCapture
crossDeviceOnly: Un booléen qui indique s’il faut obliger les utilisateurs à capturer leur document à l’aide de leur téléphone. Cela supprime l’option de téléversement du document.documentTypes: La liste des types de documents d’identité visibles pour l’utilisateur. Les types de documents valides incluent :passportdriving_licensenational_identity_cardresidence_permit
Chaque valeur peut être soit un boolean ou un objet pays. Un booléen active ou désactive l’affichage du type de document, tandis qu’un objet pays spécifie le pays émetteur pour les documents autres que le passeport, en contournant l’écran de sélection du pays. La valeur du pays est le code ISO de pays à deux lettres.
faceCapture
mode: Le mode de capture faciale. Les valeurs possibles sont :photoouvideo.
poaCapture
documentTypes: La liste des types de documents justificatifs de domicile (POA) visibles pour le client. Les types de documents POA valides incluent :bank_statementutility_bill
La valeur de chaque type de document est un booléen qui active ou désactive l’affichage du type de document.
completion
heading: Modifiez le titre de l’écran de fin.message: Un message à afficher sur l’écran de fin. Taille maximale 1.
Exemple d’objet d’options
Branding
Vous pouvez personnaliser l’apparence et le style du SDK avec l’ objet de branding . Il comprend les attributs décrits ci-dessous.
Apparence
Le apparence l'objet vous permet de personnaliser le jeu de couleurs du SDK avec des valeurs CSS (par ex. RGBA, Hex). Les attributs personnalisables comprennent :
infoPopupColor
Couleur d'arrière-plan de la fenêtre contextuelle d'avertissement.
infoPopupTextColor
Couleur d'arrière-plan de la fenêtre contextuelle d'avertissement.
infoPopupLinkHoverColor
Couleur d'arrière-plan de secours du lien de la fenêtre contextuelle d'avertissement au survol.
infoPopupLinkActiveColor
Couleur d'arrière-plan active de secours du lien de la fenêtre contextuelle d'avertissement.
errorPopupColor
Couleur d'arrière-plan de la fenêtre contextuelle d'erreur.
errorPopupTextColor
Couleur du texte de la fenêtre contextuelle d'erreur.
errorPopupLinkHoverColor
Couleur d'arrière-plan de secours du lien de la fenêtre contextuelle d'erreur au survol.
errorPopupLinkActiveColor
Couleur d'arrière-plan active de secours du lien de la fenêtre contextuelle d'erreur.
cameraButtonHoverColor
Couleur d'arrière-plan du bouton de caméra au survol.
cameraButtonActiveColor
Couleur d'arrière-plan active du bouton de caméra.
iconButtonActiveColor
Couleur d'arrière-plan active du bouton d'icône.
iconButtonHoverColor
Couleur d'arrière-plan du bouton d'icône au survol.
primaryButtonColor
Couleur d'arrière-plan du bouton principal.
primaryButtonTextColor
Couleur du texte du bouton principal.
primaryButtonActiveColor
Couleur d'arrière-plan active du bouton principal.
primaryButtonHoverColor
Couleur d'arrière-plan du bouton principal au survol.
primaryButtonBorderColor
Couleur de bordure du bouton principal.
secondaryButtonColor
Couleur d'arrière-plan du bouton secondaire.
secondaryButtonTextColor
Couleur du texte du bouton secondaire.
secondaryButtonActiveColor
Couleur d'arrière-plan active du bouton secondaire.
secondaryButtonHoverColor
Couleur d'arrière-plan du bouton secondaire au survol.
secondaryButtonBorderColor
Couleur de bordure du bouton secondaire.
documentSelectorColor
Couleur d'arrière-plan du sélecteur de document.
documentSelectorTextColor
Couleur du texte du sélecteur de document.
documentSelectorActiveBorderColor
Couleur d'arrière-plan active du sélecteur de document.
documentSelectorHoverBorderColor
Couleur d'arrière-plan du sélecteur de document au survol.
linkHoverColor
Couleur d'arrière-plan du lien au survol.
linkActiveColor
Couleur d'arrière-plan active du lien.
linkUnderlineColor
Couleur du soulignement du lien.
linkHoverTextColor
Couleur du texte du lien au survol.
bodyTextColor
Couleur du texte du contenu du SDK.
headingTextColor
Couleur du texte des titres du SDK.
subheadingTextColor
Couleur du texte des sous-titres du SDK.
Logo
Le logo l'objet possède les attributs suivants :
lightLogoUrl: URL pour la version claire de votre logo.darkLogoUrl: URL pour la version sombre de votre logo.
Exemple de branding du logo
Texte de branding
Le textBrand l’attribut représente le format textuel de votre marque.
Exemple de branding textuel
Si logo et textBrand sont spécifiés en même temps, logo a priorité.

