📄 Comment identifier les étapes en échec dans un rapport JSON ID360
Lorsqu'une vérification ID360 retourne un statut KO ❌, il est possible d’en analyser la cause grâce à la structure du fichier JSON. Voici les chemins à suivre pour retrouver les informations utiles 🔍.
⚠️ Important : Vous devez analyser l’ensemble des étapes décrites dans ce guide 🗂️, même si certaines clés ou sections du fichier JSON ne sont pas présentes à l’instant T dans votre parcours actuel.
Chaque clé du JSON correspond à une configuration précise du parcours 🛠️.
🔄 Si la configuration de votre parcours évolue (ajout ➕, suppression ➖ ou modification ✏️ d’étapes ou de contrôles), la liste des erreurs possibles évoluera également.
Ainsi, l’absence d’une clé dans le JSON aujourd’hui ne garantit pas qu’elle sera absente demain.
✅ Pour cette raison, il est essentiel de parcourir toutes les étapes mentionnées dans ce guide afin d’anticiper et de traiter correctement les évolutions futures 🚀.
1. 📌 Erreurs majeures : ''all_status_codes''
Chemin JSON : all_status_code
Ce tableau contient des erreurs majeures détectées durant la vérification.
Chaque élément status_code contient :
code: le code d’erreur (ex. VLD_VALIDATION_KO, liste exhaustive ici)message: une description des validations échouées
Exemple :
{
"all_status_codes": [{
"status_code": {
"code": "VLD_VALIDATION_KO",
"message": "1 validations failed: . Max allowed: 0"
},
"where": "ID360"
},{
"status_code": {
"code": "MDL_INPUT_INVALID",
"message": "No MRZ could be read on the uploaded image(s)"
},
"where": "id_document"
}]
}
🎯 Utilité : Identification des erreurs majeures.
2. 📄 Détail des validations : ''validations''
Chemin JSON : finalizer_reports > validator_report > validations
Chaque validation représente une règle métier appliquée à une donnée.
Vérifier :
is_valid: false→ indique un échecref: identifiant de la règle (ex.IDENTITY.FIRST_NAME.first_name)fields: données concernées
Exemple :
{
"ref": "IDENTITY.FIRST_NAME.first_name",
"is_valid": false,
"fields": [...]
}
🎯 Utilité : Identifier quelles données utilisateur ont échoué aux contrôles.
⚠️ Subtilité : Lors de la comparaison du nom de famille, deux contrôles sont effectués : l’un sur le nom d’usage, l’autre sur le nom de naissance. Par conséquent, vous verrez apparaître deux fois le champ “ref”: “IDENTITY.NAME.name” dans le rapport. Si l’un des deux contrôles est validé, la comparaison du nom est à considérer comme réussie.
3. 🆚 Comparaisons entre sources : ''comparisons''
Chemin JSON : finalizer_reports > validator_report > comparisons
Ces blocs comparent des valeurs issues de plusieurs sources (documents vs saisie utilisateur, documents entre eux…).
Vérifier :
is_equivalent: false→ la comparaison a échouéref: la règle concernéefield1etfield2: les deux valeurs comparées
Exemple :
{
"ref": "KBIS.SIREN.siren",
"is_equivalent": false,
"field1": {...},
"field2": {...}
}
🎯 Utilité : Détecter des incohérences entre documents ou avec les données saisies.
4. ⚙️ Règles personnalisées : ''customs''
Chemin JSON : finalizer_reports > validator_report > customs
Ces contrôles sont propres au client ou à certaines typologies de documents.
Vérifier :
is_valid: false→ la règle personnalisée a échouéref: nom de la règlefields: données analysées
Exemple :
{
"ref": "IDENTITY_DOCUMENT.document_number",
"is_valid": false,
"fields": [...]
}
🎯 Utilité : Comprendre les échecs sur des règles spécifiques définies pour un client donné.
5. 🔢 Analyse par step : ''steps''
Chemin JSON : steps
Le bloc steps contient les différentes étapes du parcours.
Pour chaque step, vous devez :
- Lire le champ
status - Si la valeur est
KO, parcourir la listestatus_codesà l'intérieur de ce step pour en comprendre la ou les causes
Exemple :
{
"steps": {
"id_document": {
"status": "KO",
"status_codes": [
{
"code": "MDL_INPUT_INVALID",
"message": "No MRZ could be read on the uploaded image(s)"
}
]
}
}
🎯 Utilité : Permet d'isoler les étapes qui ont échoué et d'obtenir des détails contextuels sur les anomalies rencontrées.
✅ Résumé
| Élément | Chemin JSON | Vérification |
|---|---|---|
| All Status Code | all_status_code | status_code existe |
| Validations | finalizer_reports > validator_report > validations | is_valid: false |
| Comparaisons | finalizer_reports > validator_report > comparisons | is_equivalent: false |
| Customs | finalizer_reports > validator_report > customs | is_valid: false |
| Étapes (steps) | steps > [nom_step] > status + status_codes | Si status: KO, analyser les status_codes associés |