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 dans les applications React Native.
Vue d'ensemble
Ce guide vous guide à travers l’intégration du SDK React Native avec ComplyCube en utilisant l’approche basée sur les contrôles, vous donnant un contrôle direct sur les étapes de vérification individuelles.

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 mobile s’exécute dans votre application mobile, mais s’appuie sur votre backend pour créer des jetons sécurisés. Voici comment cela fonctionne :

Guide d'intégration
Installer le SDK
Installez la bibliothèque React Native en exécutant :
Suivez les étapes dans les iOS et Android onglets.
Intégration de Sentry
Si vous intégrez Sentry dans votre projet React Native, vous pouvez rencontrer l’erreur de compilation suivante :
Ce problème survient en raison d’une incompatibilité de version entre le package Sentry React Native et le SDK Sentry natif.
Pour résoudre cette erreur (à partir de @sentry/react-native v5.31.0 et iOS Sentry v8.36.0), mettez à jour les instructions d’import dans votre code.
Dans SentrySdkInfo.h et SentryInternalSerializable.h, remplacez :
Avant d’utiliser le SDK ComplyCube, installez le CocoaPods plugin en exécutant la commande suivante dans votre terminal :
Ajoutez les dépôts du plugin et installez le pod en utilisant votre
Podfile:
Autorisations de l’application
Notre SDK utilise la caméra et le microphone de l’appareil pour la capture. Vous devez ajouter les clés suivantes à votre application Info.plist fichier.
NSCameraUsageDescription
NSMicrophoneUsageDescription
Notre SDK nécessite les dépôts ci-dessous.
Créer un client
Chaque parcours de vérification commence par un client (c.-à-d. le client). Utilisez l’API pour créer le client.
Cela doit être fait sur votre backend de l’application mobile serveur, et non dans l’application mobile elle-même.
Exemple de requête
Exemple de réponse
La réponse contiendra un id (l’ID 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 flux. Ce jeton permet aux clients d’envoyer des données personnelles en toute sécurité depuis votre application mobile vers ComplyCube.
Les jetons ont une courte durée de vie 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.
Effectuer des vérifications
À l’aide des résultats renvoyés dans le onSuccess callback, vous pouvez déclencher votre backend mobile afin d’exécuter les contrôles nécessaires sur votre client.
Par exemple, utilisez le résultat d’une capture de selfie et de document comme suit :
result.documentIdpour lancer une Contrôle du document.result.documentIdetresult.livePhotoIdpour lancer une Contrôle d’identité.
Exemple de requête pour un contrôle du document
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.
Récupérer les résultats de vérification
Votre backend mobile peut récupérer tous les résultats de contrôle à l’aide de notre API.
Tous nos contrôles sont asynchrones. 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
Étapes
Chaque étape du flux peut être personnalisée pour créer le parcours idéal pour vos clients.
L’extrait ci-dessous montre comment configurer un flux personnalisé à l’aide du SDK mobile ComplyCube.
Bienvenue
L’écran de bienvenue est toujours affiché en premier dans le processus de vérification. Il affiche un message de bienvenue ainsi qu’un résumé des étapes configurées que l’utilisateur devra compléter.
Vous pouvez personnaliser le titre de l’écran pour l’aligner sur le ton et l’identité visuelle de votre application.
Consentement
Cette étape sert à recueillir le consentement explicite de l’utilisateur avant de poursuivre le flux de vérification. Elle vous aide à répondre aux exigences réglementaires et de conformité, le cas échéant.
Vous pouvez personnaliser le titre de l’écran et le message pour les adapter à vos besoins juridiques ou à votre identité de marque.
Photo et vidéo de selfie
Vous pouvez demander soit une photo selfie (c.-à-d. une Photo en direct) ou une vidéo selfie (c.-à-d. une Vidéo en direct) du client dans le cadre du processus de vérification biométrique.
Photo: Capture une image fixe et effectue une vérification passive de la vivacité avant d’autoriser l’envoi.
Vidéo: Enregistre une courte vidéo où l’utilisateur effectue un défi affiché à l’écran (par ex. un mouvement de tête ou une phrase à prononcer).
Si vous essayez d’ajouter les deux types d’étapes, le SDK lèvera une ComplyCubeErrorCode.BiometricStageCount erreur indiquant la présence de plusieurs étapes incompatibles.
Document
L’étape Document permet aux utilisateurs de sélectionner et de capturer un document d’identité à des fins de vérification (par exemple, passeport, carte d’identité, permis de séjour). Vous pouvez personnaliser ces écrans pour :
Limiter la portée des types de documents que le client peut sélectionner, par exemple, passeport uniquement.
Définir les pays émetteurs de documents autorisés pour chaque type de document.
Ajouter ou supprimer la capture automatisée à l’aide d’une assistance intelligente.
Afficher ou masquer les écrans d’instructions avant la capture.
Définir une limite de tentatives afin de permettre aux clients de poursuivre le parcours, quelle que soit la qualité de la capture.
Si vous fournissez un seul type de document, l’écran de sélection du type de document sera ignoré. L’écran de sélection du pays sera ignoré si vous fournissez un seul pays pour un type de document donné.
Vous pouvez contrôler si des écrans d’instructions sont affichés avant chaque capture par caméra en activant ou en désactivant le mode d’assistance. Ne désactivez le mode d’assistance que si vos utilisateurs sont déjà clairement informés des étapes de capture, car ces écrans contribuent à réduire les erreurs des utilisateurs et à améliorer la qualité de la capture.
Veuillez noter que le retryLimit que vous définissez ici aura priorité sur la limite de tentatives qui a été définie globalement dans vos paramètres d’automatisation.
Capture NFC
Le SDK mobile ComplyCube prend en charge la lecture basée sur la NFC puce RFID des documents d'identité équipés de puces intégrées. Cela permet une extraction sécurisée des données et une authentification documentaire hautement fiable.
Veuillez contacter votre Responsable de compte ou service d’assistance pour accéder à notre SDK mobile compatible NFC.
Prérequis
Pour utiliser cette fonctionnalité, votre application doit avoir la Lecture des balises Near Field Communication capacité activée. Pour ajouter cette capacité à votre application, reportez-vous à au guide d'Apple ici.
Installez le CocoaPods Artifactory plugin en exécutant la commande suivante dans votre terminal :
Pour ajouter la bibliothèque, copiez les identifiants de votre dépôt dans un
.netrcfichier dans votre répertoire personnel et configurez le dépôt :N'oubliez pas de récupérer vos identifiants depuis JFrog en utilisant le Set Me Up bouton ici.
Ajoutez les dépôts du plugin et installez le pod à l'aide de votre
Podfile:Vous devez ajouter les clés suivantes à votre application
Info.plistfichier :Pour lire correctement les balises NFC, vous devez ajouter les entrées suivantes à la cible de votre application
Info.plistfichier :Ajoutez ce qui suit dans votre
Runner.entitlementsfichier :Pour activer NFC lors de la compilation de votre application iOS, transmettez la
USE_CCNFCvariable d'environnement pendant la compilation :Pour conserver cette option activée pour toutes les compilations iOS, ajoutez la ligne suivante en haut de votre
ios/Podfile:
Commencez par ajouter vos identifiants d’accès au dépôt du SDK ComplyCube compatible NFC dans le
gradle.propertiesfichier de votre application mobile:
Remplacez <YOUR_USERNAME> et <YOUR_PASSWORD> par vos identifiants Artifactory ComplyCube. Si vous n’avez pas accès, contactez le support ComplyCube pour demander des identifiants.
Ensuite, mettez à jour le fichier de niveau projet
build.gradleoubuild.gradle.ktsavec les paramètres Maven du dépôt du SDK ComplyCube :
Activation de la capture NFC
Capture d’adresse
Cette étape permet aux utilisateurs de saisir manuellement leur adresse résidentielle. Vous pouvez la personnaliser pour :
Restreindre la saisie à des pays spécifiques
Activer ou désactiver la fonction de saisie semi-automatique de l’adresse pour une saisie plus rapide et plus précise
Justificatif de domicile
Cette étape permet aux clients de soumettre un document vérifiant leur adresse de résidence. Vous pouvez configurer les types de documents acceptés, comme les factures de services publics ou les relevés bancaires, et choisir si les clients peuvent téléverser un fichier ou doivent capturer le document en direct à l’aide de la caméra de leur appareil.
Par défaut, cette étape inclut le étape de capture de l’adresse avec l’autocomplétion activée pour aider les utilisateurs lors de la saisie. L’autocomplétion peut être désactivée si elle n’est pas nécessaire.
Finalisation
Vous pouvez inclure une étape de finalisation à la fin du flux afin de confirmer que le processus s’est terminé avec succès. Cet écran offre à l’utilisateur un point de fin clair et peut être personnalisé pour afficher un message de confirmation ou les étapes suivantes.
Branding
Le SDK vous permet de personnaliser l’interface utilisateur pour l’aligner sur l’identité visuelle de votre application. Vous pouvez définir les couleurs principales et d’accentuation lors de la configuration afin d’aligner le flux de vérification sur les lignes directrices de votre marque. En savoir plus sur nos propriétés d’apparence (voir ci-dessous).
Propriétés d’apparence
primaryButtonBgColor
Couleur d’arrière-plan du bouton d’action principal.
primaryButtonTextColor
Couleur du texte du bouton d’action principal.
primaryButtonBorderColor
Couleur de la bordure du bouton d’action principal.
secondaryButtonBgColor
Couleur d’arrière-plan du bouton secondaire.
secondaryButtonPressedBgColor
Couleur d’arrière-plan du bouton d’action secondaire enfoncé. Non pris en charge par Android.
secondaryButtonTextColor
Couleur du texte du bouton d’action secondaire.
secondaryButtonBorderColor
Couleur de la bordure du bouton d’action secondaire.
documentTypeSelectorBgColor
Couleur du bouton de sélection du type de document.
documentTypeSelectorBorderColor
Couleur de la bordure du bouton de sélection du type de document.
documentTypeSelectorTitleTextColor
Couleur du texte du titre de la sélection du type de document.
documentTypeSelectorDescriptionTextColor
Couleur du texte de description de la sélection du type de document.
documentTypeSelectorIconColor
Couleur de l’icône de sélection du type de document.
bodyTextColor
Couleur du texte du corps de l’écran.
linkButtonTextColor
Couleur des liens. Non pris en charge par Android.
headingTextColor
Couleur du texte du titre.
subheadingTextColor
Couleur du texte du sous-titre.
infoPanelTitleColor
Couleur du titre du panneau d’informations.
infoPanelDescriptionTextColor
Couleur du texte de description du panneau d’informations.
infoPanelBgColor
Couleur d’arrière-plan du panneau d’informations.
infoPanelIconColor
Couleur de l’icône du panneau d’informations.
errorPanelTitleColor
Couleur du titre du panneau d’erreur.
errorPanelDescriptionTextColor
Couleur du texte de description du panneau d’erreur.
errorPanelBgColor
Couleur d’arrière-plan du panneau d’erreur.
errorPanelIconColor
Couleur de l’icône du panneau d’erreur.
cameraButtonBgColor
Couleur d’arrière-plan du bouton de capture de la caméra.
uiInterfaceStyle
Définissez le SDK pour utiliser le mode sombre, le mode clair ou l’héritage du système.
Localisation
Le SDK prend en charge plusieurs langues, notamment celles énumérées ci-dessous.
Arabe -
ar🇦🇪Chinois (simplifié) -
zh🇨🇳Chinois (traditionnel) -
hk🇨🇳Néerlandais -
nl🇳🇱Anglais -
en🇺🇸Français -
fr🇫🇷Allemand -
de🇩🇪Hindi -
hi🇮🇳Indonésien -
identifiant🇮🇩Italien -
it🇮🇹
Japonais -
ja🇯🇵Coréen -
ko🇰🇷Norvégien -
no🇳🇴Polonais -
po🇵🇱Portugais -
pt🇵🇹Espagnol -
es🇪🇸Suédois -
sv🇸🇪Thaï -
th🇹🇭Vietnamien -
vi🇻🇳et plus encore...
Gestion des résultats
Pour exécuter les contrôles de vérification, vous devez implémenter les succès, annulé, et erreur callbacks.
En cas d’achèvement réussi (onSuccess), vous pouvez déclencher des requêtes de vérification depuis votre backend en utilisant les identifiants de ressource renvoyés dans l’objet résultat. Ces identifiants correspondent aux éléments téléversés (par ex. documents, selfies) et peuvent être utilisés pour lancer des contrôles de vérification via l’API ComplyCube.
Si l’utilisateur quitte le flux avant la fin, le onCancelled callback est appelée avec une raison descriptive indiquant pourquoi la session a été annulée (par ex. sortie de l’utilisateur, délai d’attente, autorisation refusée)
Dans certains cas, le client peut annuler le flux après avoir terminé une ou plusieurs étapes de capture. Si cela se produit, toutes les données capturées avant l’annulation, comme des documents ou des médias biométriques, peuvent déjà avoir été téléversées vers son dossier client.
Si le SDK rencontre un problème, le onError callback est déclenchée avec un ComplyCubeError objet contenant le type d’erreur et le message. Consultez les codes d’erreur (voir ci-dessous) pour une liste complète des cas d’erreur possibles.
Codes d’erreur
Nombre d'étapes biométriques
La configuration contient des doublons photo de selfie ou vidéo selfie étapes.
Annulé
Le client a annulé le flux et quitté le SDK (a déclenché le onCancelled callback).
Connectivité
Une erreur réseau s'est produite.
Document obligatoire
Un étape de document est requise en fonction des étapes configurées, mais n'a pas été incluse.
Jeton expiré
Le jeton du SDK a expiré. Générez un nouveau jeton et redémarrez le flux.
Erreur de flux
Une erreur irrécupérable s'est produite pendant le flux.
Code pays invalide
Un code pays invalide a été fourni.
Jailbroken
Le SDK ne peut pas s'exécuter sur cet appareil car il a été jailbreaké ou compromis.
Aucun accès au disque
Le client a refusé les autorisations d'accès au disque requises par le SDK.
Aucun type de document
Un étape de document a été initialisé sans spécifier de types de document.
Aucun résultat
Aucun résultat n'a été renvoyé au rappel. Si cela persiste, veuillez contacter l'assistance.
Aucun consentement de l'utilisateur
Le client n'a pas fourni son consentement pour poursuivre le flux du SDK.
Non autorisé
Le SDK a tenté d'accéder à un point de terminaison qu'il n'est pas autorisé à utiliser.
Inconnu
Une erreur inattendue s'est produite. Si cela se reproduit régulièrement, contactez l'assistance.
Combinaison pays/type de document non prise en charge
La combinaison sélectionnée de pays et de type de document n'est pas prise en charge.
Type de document non pris en charge
Le type de document fourni n'est pas pris en charge.
Erreur de téléversement
Une erreur est survenue lors du téléversement d'un document ou d'un selfie.
Téléversement nécessitant une assistance
Si useLiveCaptureOnly est défini sur false, l'assistance doit être activée en définissant isGuidanceEnabled à true.
Suivi des événements
Le SDK suit une gamme de événements tout au long du parcours de vérification, couvrant toutes les interactions clés des utilisateurs à chaque étape. Consultez ci-dessous la liste des événements.
Si vous devez mettre en œuvre des analyses personnalisées, vous pouvez vous raccorder à ces événements et déclencher en conséquence votre propre logique de suivi.
Pour intégrer votre propre suivi, définissez une fonction et appliquez-la à l’aide de la eventHandler propriété dans vos paramètres:
Événements
INTRODUCTION
Le client a atteint l'écran d'introduction.
ÉTAPE_DE_CONSENTEMENT
Le client a atteint l'écran de consentement.
AVERTISSEMENT_ÉTAPE_DE_CONSENTEMENT
Le client a tenté de quitter sans donner son consentement.
AUTORISATION_D'ACCÈS_À_LA_CAMÉRA
Le client a atteint l'écran de demande d'autorisation de la caméra.
ÉTAPE_GUIDE_DE_CAPTURE_DE_DOCUMENT
Le client a atteint l'écran de guide de capture de document.
ÉTAPE_TYPE_DE_DOCUMENT
Le client a atteint l'écran de sélection du type de document pour une capture de document.
ÉTAPE_SÉLECTION_DU_PAYS
Le client a atteint l'écran de sélection du pays pour une capture de document.
ÉTAPE_DOCUMENT_À_UNE_FACE_CAMÉRA
Le client a atteint l'étape de capture par caméra pour un document d'identité à une face.
ÉTAPE_DOCUMENT_À_UNE_FACE_CAMÉRA_MODE_MANUEL
Le client a atteint l'écran de capture manuelle par caméra pour un document d'identité à une face.
ÉTAPE_DOCUMENT_À_UNE_FACE_VÉRIFICATION_QUALITÉ
Le client a atteint l'écran d'aperçu de qualité pour un document d'identité à une face.
ÉTAPE_DOCUMENT_FACE_AVANT_CAMÉRA
Le client a atteint l'écran de capture par caméra pour la face avant d'un document d'identité à deux faces.
ÉTAPE_DOCUMENT_FACE_AVANT_CAMÉRA_MODE_MANUEL
Le client a atteint l'écran de capture manuelle par caméra pour la face avant d'un document d'identité à deux faces.
ÉTAPE_DOCUMENT_FACE_AVANT_VÉRIFICATION_QUALITÉ
Le client a atteint l'écran d'aperçu de qualité pour la face avant d'un document d'identité à deux faces.
ÉTAPE_DOCUMENT_FACE_ARRIÈRE_CAMÉRA
Le client a atteint l'écran de capture par caméra pour la face arrière d'un document d'identité à deux faces.
ÉTAPE_DOCUMENT_FACE_ARRIÈRE_CAMÉRA_MODE_MANUEL
Le client a atteint l'écran de capture manuelle par caméra pour la face arrière d'un document d'identité à deux faces.
ÉTAPE_DOCUMENT_FACE_ARRIÈRE_VÉRIFICATION_QUALITÉ
Le client a atteint l'écran d'aperçu de qualité pour la face arrière d'un document d'identité à deux faces.
ÉTAPE_BIOMÉTRIE_GUIDE_DE_CAPTURE_DE_SELFIE
Le client a atteint l'écran de guide de capture de selfie.
ÉTAPE_BIOMÉTRIE_CAMÉRA_SELFIE
Le client a atteint l'écran de capture photo de selfie par caméra.
ÉTAPE_BIOMÉTRIE_CAMÉRA_SELFIE_MODE_MANUEL
Le client a atteint l'écran de capture photo de selfie manuelle par caméra.
ÉTAPE_BIOMÉTRIE_VÉRIFICATION_QUALITÉ_SELFIE
Le client a atteint l'écran de prévisualisation de la photo de selfie.
ÉTAPE_BIOMÉTRIE_CAMÉRA_VIDÉO
Le client a atteint l'écran de caméra de selfie vidéo.
ÉTAPE_BIOMÉTRIE_CAMÉRA_VIDÉO_MODE_MANUEL
Le client a atteint l'écran de capture manuelle par caméra pour un selfie vidéo.
ÉTAPE_BIOMÉTRIE_PREMIÈRE_ACTION_VIDÉO
Le client a atteint la première action d'une capture de selfie vidéo.
ÉTAPE_BIOMÉTRIE_DEUXIÈME_ACTION_VIDÉO
Le client a atteint la deuxième action d'une capture de selfie vidéo.
ÉTAPE_BIOMÉTRIE_VÉRIFICATION_QUALITÉ_VIDÉO
Le client a atteint l'écran de capture manuelle par caméra pour un selfie vidéo.
ÉTAPE_GUIDE_DE_CAPTURE_DU_JUSTIFICATIF_DE_DOMICILE
Le client a atteint l'écran de guide de capture du justificatif de domicile.
ÉTAPE_JUSTIFICATIF_DE_DOMICILE_TYPE_DE_DOCUMENT
Le client a atteint l'écran de sélection du type de document pour une capture de justificatif de domicile.
ÉTAPE_JUSTIFICATIF_DE_DOMICILE_SÉLECTION_DU_PAYS
Le client a atteint l'écran de sélection du pays pour une capture de justificatif de domicile.
ÉTAPE_JUSTIFICATIF_DE_DOMICILE_À_UNE_FACE_CAMÉRA
Le client a atteint l'étape de capture par caméra pour un justificatif de domicile à une face.
ÉTAPE_JUSTIFICATIF_DE_DOMICILE_À_UNE_FACE_CAMÉRA_MODE_MANUEL
Le client a atteint l'étape de capture manuelle par caméra pour un justificatif de domicile à une face.
ÉTAPE_JUSTIFICATIF_DE_DOMICILE_À_UNE_FACE_VÉRIFICATION_QUALITÉ
Le client a atteint l'écran d'aperçu de qualité pour un justificatif de domicile à une face.
ÉTAPE_JUSTIFICATIF_DE_DOMICILE_FACE_AVANT_CAMÉRA
Le client a atteint l'étape de capture par caméra pour la face avant d'un justificatif de domicile à deux faces.
ÉTAPE_JUSTIFICATIF_DE_DOMICILE_FACE_AVANT_CAMÉRA_MODE_MANUEL
Le client a atteint l'étape de capture manuelle par caméra pour la face avant d'un justificatif de domicile à deux faces.
ÉTAPE_JUSTIFICATIF_DE_DOMICILE_FACE_AVANT_VÉRIFICATION_QUALITÉ
Le client a atteint l'écran d'aperçu de qualité pour la face avant d'un justificatif de domicile à deux faces.
ÉTAPE_JUSTIFICATIF_DE_DOMICILE_FACE_ARRIÈRE_CAMÉRA
Le client a atteint l'étape de capture par caméra pour la face arrière d'un justificatif de domicile à deux faces.
ÉTAPE_JUSTIFICATIF_DE_DOMICILE_FACE_ARRIÈRE_CAMÉRA_MODE_MANUEL
Le client a atteint l'étape de capture manuelle par caméra pour la face arrière d'un justificatif de domicile à deux faces.
ÉTAPE_JUSTIFICATIF_DE_DOMICILE_FACE_ARRIÈRE_VÉRIFICATION_QUALITÉ
Le client a atteint l'écran d'aperçu de qualité pour la face arrière d'un justificatif de domicile à deux faces.
ÉTAPE_DE_FINALISATION
Le client a atteint l'écran de fin.
Gestion de l’expiration du jeton
Pour gérer l’expiration du jeton de manière fluide, vous pouvez fournir une fonction de rappel qui génère un nouveau jeton SDK lorsque nécessaire. Cela permet au flux de se poursuivre sans interruption, sans que l’utilisateur ait à redémarrer la session manuellement.

