Passer au contenu principal
Chaque vérification produit cinq contrôles (six avec une puce NFC, sept avec le test de vivacité des SDK), un score entre 0 et 1, et un verdict déduit du score.

Les trois verdicts en détail

Valeur : "verified", score de 0,90 ou plus.Aucun contrôle n’a échoué et l’ensemble est solide. Vous pouvez poursuivre le parcours (ouverture de compte, prêt, retrait) sans intervention humaine.Définitif : oui.
Valeur : "review", score de 0,60 à 0,89.Un doute sérieux mais pas de fraude évidente : un contrôle en échec (qui plafonne le score sous 0,90), un visage moyennement ressemblant, une carte sans MRZ, des champs illisibles. La vérification apparaît dans la File de revue de la console.Ce que vous faites : mettez le dossier en attente. Un relecteur tranche, et un second webhook vous apporte final_verdict.
Valeur : "rejected", score sous 0,60.Un échec grave : MRZ falsifiée, nom ou date de naissance qui divergent, document expiré, visage différent. Refusez, ou proposez à la personne de recommencer avec un autre document.Définitif : oui. Si la photo était simplement ratée, faites recommencer la vérification.

Traiter le verdict

Décidez toujours sur final_verdict quand il existe, sinon sur verdict :
Les valeurs sont en minuscules, sans espace. Le champ status (VERIFIED, REVIEW, REJECTED) répète verdict en majuscules pour compatibilité : préférez verdict.

Comment le score est calculé

Chaque contrôle donne un score entre 0 et 1, pondéré ainsi : Un contrôle ignoré (skipped), par exemple la comparaison faciale quand vous n’envoyez pas de selfie, ne coûte rien : les poids des autres contrôles sont redistribués. La comparaison faciale donne tous ses points dès une similarité de 0,50, une partie entre 0,30 et 0,50, et rejette sous 0,30. Un reflet ou un flou léger sur la photo ne coûte rien quand la MRZ et les champs imprimés ont été lus et concordent : il reste signalé dans le contrôle tamper pour le relecteur. Deux règles passent avant la moyenne :
  • Un contrôle en échec plafonne le score sous 0,90. Un document dont un seul contrôle échoue ne peut jamais être verified : au mieux, il part en revue.
  • Un échec grave plafonne le score à 0,50 au plus. Chiffre de contrôle MRZ faux, nom ou date de naissance différents entre la zone imprimée et la MRZ, date d’expiration illisible, portrait introuvable : score plafonné à 0,50. Document expiré ou visage nettement différent (similarité sous 0,30) : score ramené à 0. Dans tous ces cas, le verdict est rejected, quel que soit le reste.
Un document sans MRZ est plafonné à 0,85, donc envoyé en revue. Seule exception : la carte d’identité papier du Niger, qui peut être verified quand le visage concorde nettement, qu’elle n’est pas expirée, sans signe d’altération et bien lue. Voir Documents.
Les seuils et les poids seront ajustés sur notre jeu d’évaluation de documents réels. Le principe, lui, ne changera pas : un échec grave ne peut jamais être compensé par les autres contrôles.

La réponse

Verdict publié et flux

Sur l’offre Grands comptes, un flux peut rendre le verdict plus sévère selon vos règles métier : un montant élevé envoyé en revue, une personne mineure rejetée. Le champ verdict est alors le verdict publié, celui du flux, partout : réponse de l’API, GET /v1/verifications/{id}, webhooks. Le score, lui, reste celui des contrôles. Un flux ne rend jamais un verdict moins sévère : un document rejeté par les contrôles reste rejeté.

Revue humaine

Une vérification en review apparaît dans la console. Un membre avec le rôle relecteur, admin ou propriétaire l’examine, voit les photos et les contrôles, et tranche. La décision est enregistrée dans final_verdict, qui apparaît :
  • dans GET /v1/verifications/{id} ;
  • dans un second webhook verification.completed, avec final_verdict renseigné.
Le verdict d’origine n’est jamais modifié : vous gardez la trace de ce que le système avait décidé et de ce que l’humain a tranché.