Aller au contenu

Fichier report.json (V6)

Des exemples de fichiers report.json peuvent être téléchargés :

La plupart des valeurs sont décrites dans les chapitres suivants. Celles qui ne le sont pas sont sujettes à modifications ou suppressions.

Toutes les dates mentionnées dans ce document sont au format ISO8601.

Le champ “date” contient la date de génération du rapport.

{
    "date": "2018-03-04T16:45:00Z",
    ...
}

Informations du dossier client

Le champ “clientFile” contient les informations du dossier client. Les champs suivants sont définis :

  • participants : tableau contenant les informations des participants. Chacune de ces entrées contient :
    • type : le type du participant comme défini dans l'interface de configuration du parcours
    • civility : la civilité (MR, MRS, MISS ou UNKNOWN)
    • lastName : le nom de famille
    • firstName : le prénom
    • birthName : le nom de naissance (optionnel)
    • birthPlace : le lieu de naissance (optionnel)
    • birthDate : la date de naissance (optionnel)
    • email : l’adresse email,
    • mobilePhone : le numéro de téléphone portable
    • phone : le numéro de téléphone fixe (optionnel)
    • postalAddress : l’adresse postale (optionnel)
    • iban : l'IBAN du participant
    • uuid : l’identifiant du participant
    • profiles: liste de profils associés au participant
    • oneClickContract : dossier d'origine du One Click Contract (optionnel)
    • identityChecks : vérification d'identité du participant
  • uuid : l’identifiant technique du dossier (pour une machine)
  • id : l’identifiant unique du dossier (lisible par un humain)
  • externalInfo : la liste des informations métier
  • startDate : la date de création du dossier
  • finishDate : la date de clôture du dossier. Ce champ n’est présent que lorsque le dossier est accepté ou rejeté
  • validationDate : la date à laquelle le dossier a été validé. Ce champ n’est présent que si une validation manuelle a été effectuée
  • state : l’état du dossier
  • rejectionCause : la cause de rejet. Ce champ n’est présent que si le dossier est dans l’état REJECTED
  • rejectionMessage : un message expliquant le rejet du dossier. Ce champ n’est présent que si le dossier est dans l’état REJECTED
  • acceptationMessage : un message expliquant l’acceptation du dossier. Ce champ n’est présent que si le dossier est dans l’état ACCEPTED
  • legalEntity : informations de la personne morale. Ce champ n’est présent que pour les dossiers supportant ce mode de fonctionnement
    • name : le nom de l’entreprise
    • companyId : l’identifiant de l’entreprise (SIRET ou SIREN)
    • data : les informations de la personne morale issues du service tiers
    • postalAddress : l'adresse postale (si cette dernière a été définie lors de la création du dossier)
    • iban : l'IBAN de la personne morale
  • recordId : l’identifiant de l’archive légale. Attention: chaque client doit conserver cette valeur car elle n’est conservée que 3 mois (par défaut) après la clôture du dossier.
  • archivingState : l'état d'archivage du dossier. Les valeurs suivantes sont possibles :
    • NO_ARCHIVING : l'archivage n'est pas activé pour ce dossier
    • ARCHIVED : le dossier a été archivé
    • NOT_YET_ARCHIVED : le dossier n'est pas encore archivé
    • ARCHIVING_IS_SCHEDULED : le dossier n'est pas encore archivé, l'archivage est programmé
    • NOT_ARCHIVED : le dossier n'a pas été archivé car il a été rejeté ou le délai d'archivage a été dépassé
  • externalId : l’identtifiant externe pouvant être définit lors de la création du dossier
  • productUuid : identifiant technique du produit
  • productName : nom du produit
  • workflowUuid : identifiant technique du workflow
  • workflowName : nom du workflow
  • workflowLabel : label du workflow
  • group : le group du dossier
    • uuid : identifiant du groupe
    • label : label du groupe
    • defaultGroup : true si il s'agit du groupe par défaut de la compagnie
  • appendices : la liste des documents annexe
    • id : l'identifiant du document (fourni lors de la soumission)
    • file : les informations du fichier dans l'archive
      • name : le nom du fichier
      • mimeType : le type mime du fichier (ex: application/pdf)
{
    ...
    "clientFile": {
        "participants": [
            {
                "firstName": "John",
                "lastName": "Doe",
                "type": "SIGNER",
                "email": "j.doe@example.net",
                "uuid": "72b6fa2e-9e5f-11e5-b08c-448a5bd00f42",
                "profiles": [],
                "identityChecks": [
                    {
                        "idDocument": {
                            ...
                        },
                        "faceMatch": {
                            ...
                        }
                    }
                ]
            }
        ],
        "rejectionCause": "CANCELED",
        "finishDate": "2015-03-10T16:47:42Z",
        "id": 10002,
        "state": "REJECTED",
        "validationDate": "2015-03-10T16:47:42Z",
        "uuid": "89eb482c-0fab-4821-8c89-b4c9013262d8",
        "startDate": "2015-03-10T16:47:39Z",
        "rejectionMessage": "Annulé",
        "externalInfo": {
            "my-identifier": "123456"
        },
        "recordId": "a8882b02-e373-11e4-b1d8-bb7ec15a797e"
        "legalEntity": {
            "companyId": "123456789",
            "name": "My corp",
            "postalAddress": {
                "postalAddress1": "123 rue Victor Hugo",
                "postalCode": "75000",
                "postalCity": "Paris"
            },
            "data": {
                "controls": {
                    "agents": [
                        {
                            "agentNameMatch": false,
                            "owner": "5ab1a3f9-669b-4cce-a834-b7c414ed7063"
                        }
                    ],
                    "companyAlive": true,
                    "companyIdValid": true,
                    "companyOfficeIdValid": true,
                    "identifierFormatValid": true
                },
                "extraData": {
                    "companyDetails": {
                        "companyId": "000000000",
                        "legalAgents": [
                            {
                                "agentBirthDate": "1975-01-01",
                                "agentBirthName": "DOE",
                                "agentFirstName": "JOHN",
                                "agentFullname": "DOE JOHN",
                                "agentLastName": "DETOUR",
                                "agentRole": "Président"
                            }
                        ],
                        "legalForm": "Société par actions simplifiée (SAS)",
                        "legalName": "MY CORP",
                        "offices": [
                            {
                                "address": "10 AV JOHN DOE",
                                "apeCode": "5829C",
                                "city": "PARIS",
                                "main": true,
                                "postalCode": "75000",
                                "siret": "00000000000000"
                            }
                        ],
                        "registrationDate": "2001-01-01"
                    }
                }
            },
            ...
        }

La vérification d'identité d'un participant

Le champ clientFile.participants[].identityChecks[] contient la liste des vérifications d'identité d'un participant. Ce champ n'est présent que si la vérification du participant est activée dans le parcours.

Utilisation d'un document d'identité

le champ clientFile.participants[].identityChecks[].idDocument sera présent. La structure est décrite ici : Liste des pièces justificatives

ATTENTION : Les documents utilisés lors de la vérification d'identité ne seront pas affichés de la même façon qu'un document classique dans le report.json et dans le retour d'api d'intégration

Différences d'affichage dans le json

Les justificatifs sont habituellement présents dans le tableau documents. Dans le cas d'une vérification d'identité les documents (par exemple recto et verso d'une CNI) seront présents dans le champ clientFile.participants[].identityChecks[]

Exemple avec une CNI française :

{
    "firstName": "Corinne",
    "lastName": "Berthier",
    ...
    "identityChecks": [
        {
            "idDocument": {
                "files": [
                    {
                        "name": "1_corinne_berthier_attachment_1_1.jpg",
                        "mimeType": "image/jpeg"
                    },
                    {
                        "name": "1_corinne_berthier_attachment_1_2.jpg",
                        "mimeType": "image/jpeg"
                    }
                ],
                "taskId": "1_1",
                "warnings": [
                    2026
                ],
                "IPAddress": "178.20.70.2",
                "source": "WEB#Chrome_10102#Mac_OS_X",
                "date": "2022-06-17T07:35:21Z",
                "owner": "participant_1",
                "areControlsObsolete": false,
                "anonymized": false,
                "validation": "VALIDATION_FAILURE",
                "participantUuid": "65436df9-1490-44f7-af78-76f67b86e6d1",
                "type": "ID_CARD",
                "id": "ID_CARD",
                "category": "ID_DOCUMENT",
                "label": "Carte d'identité",
                "data": {
                    "pages": [
                        {
                            "skewAngle": 6.279926776885986,
                            "pageType": "FRONT_SIDE",
                            "regions": [],
                            "fileIndex": 0,
                            "zonedData": [],
                            "pageIndexInFile": 0
                        },
                        {
                            "skewAngle": -0.005252552218735218,
                            "pageType": "BACK_SIDE",
                            "regions": [],
                            "fileIndex": 1,
                            "zonedData": [],
                            "pageIndexInFile": 0
                        }
                    ],
                    "mrz": {
                        "line2": "8806923102858CORINNE<<<<<<<6512068F6",
                        "line1": "IDFRABERTHIER<<<<<<<<<<<<<<<<<<<<<<<"
                    },
                    "informations": {
                        "document": {
                            "number": "880692310285",
                            "issuanceDate": "1988-06-22",
                            "issuanceCountry": "FR",
                            "expirationDate": "1998-06-21"
                        },
                        "holder": {
                            "firstName": "CORINNE",
                            "birthPlace": "PARIS 1ER (75)",
                            "rawAddress": "104 RUE DES FLEURS",
                            "gender": "F",
                            "firstNames": [
                                "CORINNE"
                            ],
                            "birthDate": "1965-12-06",
                            "birthName": "BERTHIER"
                        }
                    }
                },
                "controls": {
                    "modelValid": true,
                    "ocrMrzDocumentNumberMatch": true,
                    "issuanceDateRead": true,
                    "ocrMrzBirthNameMatch": true,
                    "faithfulFont": true,
                    "ocrMrzIssuanceDateMatch": true,
                    "ocrMrzExpirationDateMatch": true,
                    "ocrMrzFirstNamesMatch": true,
                    "documentTypeMatch": true,
                    "frontSideFound": true,
                    "securityElementsValid": true,
                    "expirationDateRead": true,
                    "documentAppearanceValid": true,
                    "ocrMrzBirthDateMatch": true,
                    "mrzValid": true,
                    "backSideFound": true,
                    "issuanceAndExpirationDateMatch": true,
                    "participants": [
                        {
                            "owner": "65436df9-1490-44f7-af78-76f67b86e6d1",
                            "firstLastNamesInverted": false,
                            "namesInverted": false,
                            "lastNameMatch": true,
                            "firstNameMatch": true,
                            "civilityMatch": true
                        }
                    ]
                },
                "attachmentId": "attachment_1",
                "channel": "SIGNBOOK"
            }
        }
    ]
}

Utilisation d'un document d'identité et d'une reconnaissance faciale (face match)

Le champ clientFile.participants[].identityChecks[].faceMatch contient les informations des fichiers "selfie" contenus dans l’archive. Chaque élément a une structure similaire, certaines clés sont décrites dans le paragraphe des documents :

{
    ...
    "faceMatches": [
        {
            "date": "2018-05-03T15:35:19Z",
            "controls": {
                "idPhotoMatch": true
            },
            "files": [
                {
                    "name": "1_john_doe_2_facematch_1.jpg",
                    "mimeType": "image/jpeg"
                }
            ],
            "expectedSequence": [
                "front"
            ],
            "source": "WEB#Chrome_5757#Linux",
            "participantUuid": "40b892b9-c1bd-4ab1-9181-18fd8f4dd59e",
            "IPAddress": "127.0.0.1",
            "taskId": "1_FM_1",
            "validation": "VALIDATED"
        }

Note : un contrôle automatique échoué ("validation": "VALIDATION_FAILURE") peut être contredit ultérieurement par la revue manuelle d'un opérateur (cf. événement FACE_MATCH_REVIEWED dans la liste des événements).

Utilisation la vérification d'identité vidéo

Le champ clientFile.participants[].identityChecks[].videoIdentification contient les informations de l'identitée :

  • date : Date et l’heure de l'identification
  • taskId : représente l’identifiant technique de la tâche liée à ce document
  • participantUuid : l’identifiant du participant
  • owner : le type du participant comme défini dans l'interface de configuration du parcours
  • type : indique le type du document
  • files : contient le nom du fichier dans l’archive (avec la sous clé “name”) ainsi que son type mime (avec la sous clé “mimeType”)
  • errors : Codes d'erreurs
  • warnings : Codes warning
  • documentControls : Controles réalisés sur la pièce d'identité
  • biometryControls : Controles réalisés sur biometry du visage
{
    ...
    "videoIdentification": {
        "date": "2022-10-19T14:31:44Z",
        "taskId": "1_1",
        "participantUuid": "db9d7061-bc64-4786-abd9-79619ea66eab",
        "owner": "SIGNER",
        "type": "ID_CARD",
        "files": [
            {
                "name": "1_sfirstname_slastname_FRONT_SIDE_1.png",
                "mimeType": "image/png"
            }
        ],
        "documentControls": {
            ...
        },
        "biometryControls": {
            ...
        }
    }
}

Utilisation le L'Identité Numérique (La Poste)

Le champ clientFile.participants[].identityChecks[].lin contient les informations de l'identitée fournie par La Poste :

  • taskId : représente l’identifiant technique de la tâche liée à ce document
  • activationUuid : Id de l'Identité Numérique
  • errors : Codes d'erreurs
  • date : Date et l’heure de l'identification
  • verifiedAt : Date et heure de vérification du service Identité Numérique
  • expired : true si l'identification a expiré et qu'un OTP a été demandé
  • providerVerdict : [OK, KO] Résultat de l'identification du participant du service Identité Numérique
  • providerData : Identité récupéré auprès de l'Identité Numérique
  • subjectIdentifier : Champ OIDC sub : identifiant du sujet authentifié
    • email : E-mail du sujet authentifié
    • givenName : Prénom du sujet authentifié. Plusieurs prénoms séparés par des espaces
    • familyName : Nom de famille de naissance du sujet authentifié
    • preferredUsername : Nom d’usage du sujet authentifié
    • birthDate : Date de naissance du sujet authentifié
    • birthPlace : Lieu de naissance du sujet authentifié. Il s’agit du code INSEE du lieu de naissance en France. En cas de pays étranger, le champ est vide
    • birthCountry : Pays de naissance du sujet authentifié. Code INSEE: 99100 pour la France
    • gender : Civilité du sujet authentifié
  • comparisonVerdict : [OK, KO] Résultat de la comparaison entre l'Identité Numérique et les informations du dossier
  • controls : Contrôles entre l'Identité Numérique et les informations du dossier
    • firstName : [MATCHING, NOT_MATCHING, SKIPPED]
    • birthName : [MATCHING, NOT_MATCHING, SKIPPED]
    • lastName : [MATCHING, NOT_MATCHING, SKIPPED]
    • birthDate : [MATCHING, NOT_MATCHING, SKIPPED]
{
    ...
    "lin": {
        "taskId": "L_1",
        "activationUuid": "9bcf484c-9412-4afc-a58c-50835af63bdb",
        "date": "2021-06-14T09:53:27Z",
        "verifiedAt": "2021-05-31T10:01:30Z",
        "expired": false,
        "providerVerdict": "OK",
        "providerData": {
            "subjectIdentifier": "subjectIdentifier",
            "email": "j.doe@example.net",
            "givenName": "John",
            "familyName": "Doe",
            "birthDate": "2021-05-28"
        },
        "comparisonVerdict": "OK",
        "controls": {
            "firstName": "MATCHING",
            "birthName": "NOT_MATCHING",
            "lastName": "SKIPPED"
        }
    }
}

Les documents signés

Le champ "signedDocuments" contient la liste des documents qui ont été signés durant le cycle de vie du dossier client. Si la signature a été désactivée dans le parcours, ce champ ne sera pas présent. Le champ id correspond à l'identifiant du document comme définit dans Workflow. Un fichier portant le nom signed_{id}.pdf se trouvera également dans l’archive.

Chaque document possède le champ “consentClauses” qui contient les clauses de consentements définies dans les tâches de signature. Chaque clause a la même structure :

Nom Description
id l’identifiant unique de la clause (qui a été défini lors de la création du workflow)
text texte de la clause qui a été affichée à l’utilisateur
required booléen indiquant si cette clause était obligatoire pour pouvoir signer le contrat
checked booléen indiquant si l’utilisateur a accepté la clause (les clauses obligatoires ont toujours la valeur true)
signerUuid Identifiant du participant à qui la clause est associée
{
    ...
    "signedDocuments": [
        {
            "id": "contract",
            "consentClauses": [
                {
                    "checked": true,
                    "id": "clause-01",
                    "text": "J’accepte les conditions générales",
                    "required": true,
                    "signerUuid": "8f4321e6-d176-11e5-be31-448a5bd00f42"
                },
                {
                    ...
                }
            ]
        }
    ],
    ...
}

Liste des pièces justificatives

Le champ “documents” est un tableau dont chaque entrée contient les informations des documents contenus dans l’archive. Chaque élément a la même structure :

  • files : contient le nom du fichier dans l’archive (avec la sous clé “name”) ainsi que son type mime (avec la sous clé “mimeType”)
  • source : contient une chaîne de caractère identifiant l’application qui a envoyé le document au serveur. Elle est constituée de trois parties séparées par un # :
    • la première indique le type de l’application
    • la seconde le nom de l’application
    • la troisième le système d’exploitation
  • attachmentId : indique l’identifiant unique du document. Il est défini lors de la création du parcours. Cette valeur est optionnelle
  • id : identifiant du document. Il est défini lors de la création du parcours. Cette valeur est optionnelle
  • category : catégorie du document
  • type : indique le type du document
  • taskId : représente l’identifiant technique de la tâche liée à ce document. Utilisé pour la ré-ouverture de dossier.
  • date : représente la date et l’heure de soumission du document
  • participantUuid : identifiant du participant devant soumettre le justificatif (la soumission peut avoir été éventuellement déléguée)
  • validation :
    • VALIDATED : si le document a été validé (automatiquement ou par vidéocodage)
    • VALIDATION_FAILURE : si des problèmes sont détectés sur le document (validation automatique ou vidéocodage)
    • NOT_VALIDATED : si la validation n’a pas été effectuée
  • areControlsObsolete : true si le dossier a été mis à jour après la soumission du document, null sinon
  • anonymized : true si le document a été anonymisé. Dans ce cas, les contrôles sont toujours présents dans le report.json, mais le document ne sera pas présent dans l'archive
  • label : indique le label du document. Il est défini lors de la création du workflow. Cette valeur est optionnelle
  • channel : indique le canal par lequel le document a été soumis
{
    ...
    "documents": [
        {
            "files": [
                {
                    "name": "1_john_doe_test-01_1.jpg",
                    "mimeType": "image/jpeg"
                }
            ],
            "source": "WEB#Chrome_40.0#Win32",
            "attachmentId": "test-01",
            "type": "PAYSLIP",
            "id": "payslip",
            "label": "Fiche de paie",
            "channel": "SIGNBOOK_API_V6",
            "taskId": "4_6",
            "participantUuid": "079e1502-1518-4812-8511-9f08f91ad24e",
            "validation": "NOT_VALIDATED",
            "areControlsObsolete": true,
            "date": "2015-02-04T16:45:23Z"
        }
    ],
    ...
}

Des données peuvent avoir été extraites si un système d’aide à la décision a été choisi lors de la création du workflow. Ceci ajoutera les champs suivants à la liste précédemment décrite :

  • “controls” : contient une liste de booléens de contrôle. Ils sont générés par le serveur Trust and Sign avec les données reçues du serveur Prevent. Ce champ n’est présent que si l’aide à la décision a été utilisée. Si l’événement représente une "erreur", ce champ indique plus précisément la cause, sinon il indique des “warning”. Les contrôles communs à tous les documents sont les suivants :

    • documentTypeMatch : booléan indiquant si le type de document détecté est bien celui attendu (ce champ n’est pas présent si le type de document n’a pu être déterminé).
    • containsAnnotations : booléen indiquant si le document contient des annotations (uniquement pour les documents PDF)
    • containsTamperingSign : booléen indiquant si le document a été modifié par une application tierce (uniquement pour les documents PDF)
    • keywordsParticipantAlert : liste des mots clés en "erreur" renvoyées au participant
    • keywordsOperatorAlert : liste des mots clés en "warning" affichée uniquement à l'opérateur

    • keywordsWhitelist : liste des mots clés autorisés trouvés dans le document

    • keywordsBlacklist : liste des mots clés non autorisés trouvés dans le document
  • “data” : contient les informations extraites du document. Il s’agit des informations retournées par le serveur Prevent ou MiTrust.

  • “extraData” : contient des informations additionnelles au document. Pour un avis d’imposition, les données issues d’un service tiers y sont présentes.

Documents d’identité

Les valeurs suivantes sont définies :

  • documentAppearanceValid : pour indiquer si l'apparence du document est conforme
  • mrzValid : pour indiquer si les lignes MRZ sont valides
  • ocrMrzDocumentNumberMatch : pour indiquer si le numéro du document issu de la MRZ correspond à celui de la VIZ (Zone d'inspection visuelle)
  • ocrMrzBirthNameMatch : pour indiquer si le nom de naissance issu de la MRZ correspond à celui de la VIZ
  • ocrMrzLastNameMatch : pour indiquer si le nom d'usage issu de la MRZ correspond à celui de la VIZ
  • ocrMrzFirstNamesMatch : pour indiquer si le prénom issu de la MRZ correspond à celui de la VIZ
  • ocrMrzBirthDateMatch : pour indiquer si la date de naissance issue de la MRZ correspond à celle de la VIZ
  • ocrMrzIssuanceDateMatch : pour indiquer si la date d'émission issue de la MRZ correspond à celle de la VIZ
  • ocrMrzExpirationDateMatch : pour indiquer si la date d'expiration issue de la MRZ correspond à celle de la VIZ
  • faithfulFont : pour indiquer si la police de caractère semble valide (uniquement pour les cartes d'identité)
  • securityElements : pour indiquer si les éléments de sécurité suivants sont corrects
    • Initiales du coin supérieur droit de la photo de la CNI française
    • Nombre de perforations sur le passeport français
    • Cohérence basique entre le numéro de passeport et sa date d'expiration
  • documentCountryValid : pour indiquer que le pays trouvé dans le document est autorisé
  • documentExpired : pour indiquer si le document est expiré
  • participants : les informations pour chaque participant :
    • firstNameMatch : pour indiquer si le prénom extrait du document est celui défini dans le dossier
    • lastNameMatch : pour indiquer si le nom de famille extrait du document est celui défini dans le dossier
    • birthNameMatch : pour indiquer si le nom de naissance extrait du document est celui défini dans le dossier (bien le différencier du nom de famille)
    • birthDateMatch : la date de naissance extraite du document correspond à celle du dossier (ce champ n’est pas présent si aucune date n’est définie dans le dossier)
    • birthPlaceMatch : le lieu de naissance extraite du document correspond à celle du dossier (ce champ n’est pas présent si aucune lieu n’est défini dans le dossier)
    • civilityMatch : la civilité extraite du document correspond à celle du dossier (ce champ n’est pas présent si aucune civilité n’est définie dans le dossier ou dans la MRZ)
    • firstLastNamesInverted : le prénom et le nom extrait du document sont inversés par rapport aux valeurs du dossier client
    • namesInverted : le nom de naissance et le nom de famille sont inversés (ce champ n’est présent que si l’utilisateur a définit un nom de naissance)
    • owner : identifiant du possesseur du document (voir les informations des participants)
  • documentTypeMatch : le type de document détecté est bien celui attendu (ce champ n’est pas présent si le type de document n’a pu être déterminé)
  • doc2DFound : le 2DDoc a été trouvé dans le document
  • doc2DValid : La signature ou le certificat du 2D-Doc n'est pas valide ou ne peut être validée
  • doc2DAndDocumentMatch : Le 2D-Doc ne peut être lu ou ne correspond pas aux données du document et de la MRZ
  • notSpecimen : Le document n'est pas un specimen

Lorsque le document a été vérifié sur LiveCheck, les contrôles suivants sont définis :

  • liveCheckWorkableElements : la qualité des éléments fournis ne permet pas de procéder à la vérification d'identité.
  • liveCheckStatusAccepted : un opérateur a validé l'identification.
  • liveCheckRefuseReason : lorsque liveCheckWorkableElements ou liveCheckStatusAccepted est false, indique une raison du refus :
    • reason : énuméré, les valeurs possibles étant :
      • FRAUD : une fraude a été repérée,
      • DOCUMENT_INSUFFICIENT_QUALITY : la qualité du document est insuffisante
      • DOCUMENT_INCORRECTLY_FRAMED : le document est tronqué
      • DOCUMENT_SIDE_MISSING : le recto ou le verso est manquant
      • DOCUMENT_EXPIRED : le document est expiré
      • DOCUMENT_UNSUPPORTED : le document n'est pas supporté
      • DOCUMENT_COUNTRY_UNAUTHORIZED : le pays émetteur du document ne fait pas parti des pays autorisés
      • DOCUMENT_UNSUPPORTED_RECEIPT_ACK : seul le récépissé est présent
      • BIOMETRY_INSUFFICIENT_QUALITY : la qualité de la séquence d'identification est insuffisante
      • LIVE_CHECK_EXPIRED : le résultat de l'analyse LiveCheck n'a pas été reçu dans le temps imparti
      • INVALID_REQUEST : la demande d'analyse LiveCheck n'a pas pu être effectuée
      • INTERNAL_ERROR : une erreur technique est survenue
      • OTHER : autre
    • subReason : si défini, ajoute une précision sur la raison.
{
    ...
    "documents": [
        {
            "date": "2017-05-16T15:37:59Z",
            "controls": {
                "documentTypeMatch": true,
                "ocrMrzDocumentNumberMatch": true,
                "ocrMrzBirthNameMatch": true,
                "ocrMrzLastNameMatch": true,
                "ocrMrzFirstNamesMatch": true,
                "ocrMrzBirthDateMatch": true,
                "faithfulFont": true,
                "securityElements": true,
                "documentCountryValid": true,
                "documentAppearanceValid": true,
                "mrzValid": true,
                "documentExpired": true,
                "doc2DFound": true,
                "doc2DValid": true,
                "doc2DAndDocumentMatch": true,
                "participants": [
                    {
                        "owner": "3ffabae9-7578-4195-8b40-3e4f34499d50",
                        "firstLastNamesInverted": false,
                        "lastNameMatch": true,
                        "namesInverted": false,
                        "birthDateMatch": true,
                        "firstNameMatch": true,
                        "civilityMatch": true
                    }
                ]
            },
            ...
        }

Référentiel externe DocVerif

Trust & Sign vous permet d'interroger le référentiel externe de l'émetteur d'un document d'identité en utilisant l'API PreventGo. Pour les documents français, le référentiel de l'émetteur est DocVerif (ANTS). Les autres pays ne sont actuellement pas pris en charge.

les contrôles suivants sont définis :

Contrôle True False
issuerReferentialConnectorSuccess La connexion entre Trust & Sign et le service DocVerif a été établie. La connexion n'a pas pu être établie entre le service Trust & Sign et le service DocVerif (dans ce cas, les trois contrôles suivants n'apparaîtront pas).
issuerReferentialKnownDocument Le document envoyé a été trouvé dans le référentiel de l'émetteur. Le document envoyé n'a pas été trouvé dans le référentiel de l'émetteur.
issuerReferentialValid Le document a été validé par le référentiel de l'émetteur. Le document est volé, perdu, expiré ou annulé.
issuerReferentialHolderValid Le nom de naissance et le prénom extraits du document sont cohérents avec le référentiel de l'émetteur. Le nom de naissance et le prénom extraits du document ne sont pas cohérents avec le référentiel de l'émetteur.

Données extraites

Les valeurs suivantes peuvent être récupérées :

  • Les lignes de MRZ
  • Les informations de la personne mentionnée (clé “holder”) dans le document (nom, prénoms, date de naissance et genre)
  • Les informations du document (clé “document”)
    • date d’émission
    • date d’expiration
    • etc ...
{
    ...
    "documents": [
        {
            "data": {
                "mrz": {
                    "line2": "012345679",
                    "line1": "0123456789"
                },
                "informations": {
                    "document": {
                        "number": "0123456789",
                        "issuanceDate": "2011-01-09",
                        "issuanceCountry": "FR",
                        "expirationDate": "2016-01-09"
                    },
                    "holder": {
                        "lastName": "Doe",
                        "gender": "M",
                        "firstNames": [
                            "John"
                        ],
                        "birthDate": "1976-01-09",
                        "birthPlace": "Paris"
                    }
                }
            }
            ],
            ...
        }

Fiches de paie

Les valeurs suivantes définissent les contrôles d’un document :

  • dateFound : la date du document a été trouvée dans le document
  • maxAgeExceeded : le document est trop ancien (configuré dans l’interface de workflow)
  • companyConnectorFailed : l’appel au connecteur de vérification de l’entreprise a échoué
  • companyConnectorRequested : l’appel au connecteur de vérification de l’entreprise a été demandé
  • companyIdValid : l’entreprise issue de la fiche de paie est valide
  • companyOfficeIdValid : l'établissement de l’entreprise issu de la fiche de paie est valide
  • companyOfficeAlive : l'établissement de l’entreprise issu de la fiche de paie est ouvert
  • nirFound : indique si le numéro de sécurité sociale a été trouvé
  • nirValid : indique si le numéro de sécurité sociale est valide
  • participants : un tableau contenant les informations des possesseurs du document :
    • nameFound : le nom du participant a été trouvé
    • postalAddressFound : l’adresse postale du participant a été trouvée
    • postalAddressMatch : l’adresse postale du participant correspond
    • civilityMatch : indique si la civilité issue du numéro de sécurité sociale correspond à celle du participant
    • birthDateMatch : indique si la date de naissance issue du numéro de sécurité sociale correspond à celle du participant
    • owner : identifiant du possesseur du document (voir les informations des participants)
  • documentTypeMatch : le type de document détecté est bien celui attendu (ce champ n’est pas présent si le type de document n’a pu être déterminé)
{
    ...
    "documents": [
        {
            "controls": {
                "documentTypeMatch": true,
                "dateFound": true,
                "maxAgeExceeded": false,
                "companyConnectorFailed": false,
                "companyConnectorRequested": true,
                "companyIdValid": true,
                "companyOfficeIdValid": true,
                "companyOfficeAlive": true,
                "participants": [
                    {
                        "owner": "72b6fa2e-9e5f-11e5-b08c-448a5bd00f42",
                        "nameFound": true,
                        "postalAddressFound": true,
                        "postalAddressMatch": true
                    }
                ]
            },
            ...
        }
    ],
    ...
}

Données extraite

Les valeurs suivantes peuvent être récupérées :

  • firstName : le prénom du salarié
  • lastName : le nom de famille du salarié
  • birthName : le nom de naissance du salarié
  • address : l'adresse postale de l'entreprise
  • ssn : le numéro de sécurité sociale du salarié
  • legalEntityOfficeId : le SIRET de l'entreprise
  • periodDate : le dédut de la période du salaire (format ISO8601)
  • seniorityDate : la date d'entrée du salarié dans l'entreprise (format ISO8601)
  • monthlyNetTaxableIncome : le montant imposable mensuel (en euros)
  • annualNetTaxableIncome : le montant imposable annuel (en euros)
{
    ...
    "documentDetails": {
        "firstName": "John",
        "lastName": "DOE",
        "birthName": "DOE",
        "address": "123 rue Victor Hugo",
        "ssn": "1850234567890",
        "legalEntityOfficeId": "1234567890",
        "periodDate": "2020-07-01",
        "seniorityDate": "2018-06-10",
        "monthlyNetTaxableIncome": 1854.25,
        "annualNetTaxableIncome": 25412.25
    }
}

Données additionnelles

Si l’appel au service tiers a été effectué, un champ “extraData.companyDetails” remontera les informations de l’entreprise affichée sur la fiche de paie:

{
    ...
    "documents": [
        {
            "extraData": {
                "companyDetails": {
                    "legalName": "MY COMPANY",
                    "legalAgents": [
                        {
                            "agentRole": "Président",
                            "agentFullname": "DOE John",
                            "agentBirthDate": "1971-01-01"
                        }
                    ],
                    "companyId": "453023681",
                    "offices": [
                        {
                            "address": "23 Avenue du marché",
                            "city": "MONTPELLIER",
                            "postalCode": "34000",
                            "apeCode": "5829C",
                            "main": true,
                            "siret": "123456789"
                        }
                    ],
                    "registrationDate": "2001-01-01",
                    "legalForm": "société par actions simplifiée"
                }
            }
        }
    ]
}

Avis d’imposition

Attention, suite à l'arrêt de service du site des impôts, un certains nombre de ces contôles sont dépréciés. Ces derniers peuvent être remplacés par les informations extraites du doc2D présent sur le document.

Les valeurs suivantes définissent les contrôles d’un avis ou un justificatif d’imposition :

  • dateFound : la date du document a été trouvée dans le document
  • maxAgeExceeded : le document est trop ancien (configuré dans l’interface de workflow)
  • documentTypeMatch : le type de document détecté est bien celui attendu (ce champ n’est pas présent si le type de document n’a pu être déterminé)
  • fiscalNumberFound (nouveau) : au moins un numéro fiscal a été trouvé sur le document
  • taxNoticeReferenceFound (nouveau) : la référence de l'avis d'impôt a été trouvée sur le document
  • doc2DFound (nouveau) : le doc2D existe et a été trouvé sur le document, certains avis d'impôts n'ont pas de doc2D
  • doc2DValid (nouveau) : le doc2D sur le document est valide
  • doc2DAndDocumentMatch (nouveau) : tous les contrôles entre le document et le doc2D sont OK (résultat de l'ensemble des contrôle suivants : doc2DAndDocumentTypeMatch, doc2DAndFullName1Match, doc2DAndFullName2Match, doc2DAndReferenceIncomeMatch et doc2DAndIncomeYearMatch. N'apparaît que si le contrôle doc2DFound est OK.
  • doc2DAndDocumentTypeMatch (nouveau) : le type de document détecté par le system correspond au type de document présent dans le doc2D. N'apparaît que si le contrôle doc2DFound est OK.
  • doc2DAndFullName1Match (nouveau) : le nom du premier déclarant correspond entre le document et le doc2D. N'apparaît que si le contrôle doc2DFound est OK.
  • doc2DAndFullName2Match (nouveau) : le nom du second déclarant correspond entre le document et le doc2D. N'apparaît que si le contrôle doc2DFound est OK.
  • doc2DAndIncomeYearMatch (nouveau) : l'année pour laquelle les impôt sur les revenus sont calculés trouvé sur le document correspond avec l'année détectée dans le doc2D. N'apparaît que si le contrôle doc2DFound est OK.
  • doc2DAndReferenceIncomeMatch (nouveau) : le revenu fiscal de référence correspond entre le document et le doc2D. N'apparaît que si le contrôle doc2DFound est OK.
  • taxNoticeConnectorRequested (déprécié) : le connecteur au référentiel des impôts a été effectué (clé absente depuis 2023-05 : le référentiel n'existe plus)
  • taxNoticeConnectorFailed (déprécié) : la requête au référentiel des impôts a échoué (clé absente depuis 2023-05)
  • taxNoticeNotCheckable (déprécié) : le connecteur ne peut pas vérifier l’avis. Ceci se produit si l’avis est trop ancien
  • taxNoticeDatesConsistent (déprécié) : les dates trouvées dans le document correspondent à celles retournées par le service externe
  • taxNoticeRefIncomeConsistent (déprécié) : le montant trouvé sur le document correspond à celui retourné par le service externe
  • taxNoticeReferencesValid (déprécié) : la référence et le numéro fiscal de l’avis sont valides
  • participants : liste des contrôles pour chacun des participants devant être trouvés dans le document. La comparaison est faite entre les informations du dossier et le document :
    • nameFound : le nom du participant a été trouvé
    • fullNameMatch (nouveau) : le nom dans le doc2D correspond avec le nom du participant sur le dossier
    • postalAddressFound : l’adresse postale du participant a été trouvé
    • postalAddressMatch (déprécié) : l’adresse postale du participant correspond
    • owner : identifiant du possesseur du document (voir les informations des participants)
  • frTaxNotice (déprécié) : liste des contrôles pour chacun des participants. Une comparaison « stricte » est faite entre le service externe et le dossier client :
    • owner : identifiant du possesseur du document (voir les informations des participants)
    • birthDateMatch : la date de naissance correspond
    • birthNameMatch : le nom de naissance correspond (effectué uniquement si un nom de naissance a été défini dans le dossier)
    • firstNameMatch : le prénom correspond
    • lastNameMatch : le nom de famille correspond
    • namesInverted : le nom de naissance et le nom de famille sont inversés (effectué uniquement si un nom de naissance a été défini dans le dossier)
    • firstLastNamesInverted : le prénom et le nom de famille sont inversés

Nouveau contrôles sur le report.json basés, en partie, sur les informations extraites du doc2D présent sur le document.

{
    ...
    "documents": [
        {
            "controls": {
                "containsAnnotations": false,
                "doc2DAndDocumentMatch": true,
                "doc2DAndDocumentTypeMatch": true,
                "doc2DValid": true,
                "containsTamperingSign": false,
                "fiscalNumberFound": true,
                "doc2DAndFullName1Match": true,
                "maxAgeExceeded": false,
                "doc2DAndIncomeYearMatch": true,
                "documentTypeMatch": true,
                "doc2DAndReferenceIncomeMatch": true,
                "taxNoticeReferenceFound": true,
                "doc2DFound": true,
                "keywordsOperatorInfo": [],
                "dateFound": true,
                "participants": [
                    {
                        "owner": "72b6fa2e-9e5f-11e5-b08c-448a5bd00f42",
                        "fullNameMatch": true,
                        "nameFound": true,
                        "postalAddressFound": false
                    }
                ]
            },
            ...
        }
    ],
    ...
}

Ancien contrôles sur le report.json basés, en partie, sur les informations retournées par le service du site des impôts, qui n'est plus fonctionnel.

{
    ...
    "documents": [
        {
            "controls": {
                "documentTypeMatch": true,
                "dateFound": true,
                "maxAgeExceeded": false,
                "taxNoticeNotCheckable": true,
                "taxNoticeDatesConsistent": true,
                "taxNoticeRefIncomeConsistent": true,
                "taxNoticeReferencesValid": true,
                "participants": [
                    {
                        "owner": "72b6fa2e-9e5f-11e5-b08c-448a5bd00f42",
                        "nameFound": true,
                        "postalAddressFound": true,
                        "postalAddressMatch": true
                    }
                ],
                "frTaxNotice": [
                    {
                        "owner": "72b6fa2e-9e5f-11e5-b08c-448a5bd00f42",
                        "birthDateMatch": true,
                        "birthNameMatch": true,
                        "firstNameMatch": true,
                        "lastNameMatch": true,
                        "namesInverted": true,
                        "firstLastNamesInverted": true
                    }
                ]
            },
            ...
        }
    ],
    ...
}

Données extraites

Les valeurs suivantes peuvent être récupérées :

  • fiscalNumber1 : numéro fiscal du premier déclarant trouvé sur le document
  • fiscalNumber2 : numéro fiscal du second déclarant trouvé sur le document
  • reference : référence de l'avis trouvé sur le document
  • address (nouveau) : adresse du déclarant trouvé sur le document
  • issuanceDate (nouveau) : la date d'émission du document
  • refIncome (nouveau) : le montant des revenus trouvé sur le document
  • incomeYear (nouveau) : l'année pour laquelle les impôts sur les revenus sont calculés
  • doc2D (nouveau) : ensemble des informations extraites du doc2D. Ce bloc n'apparaît que si un doc2D est présent sur le document.
    • signatureDate : la date à laquelle la signature du doc2D a été faite
    • fullName1 : nom complet du premier déclarant trouvé dans le doc2D
    • fullName2 : nom complet du second déclarant trouvé dans le doc2D
    • signedBy : l'organisme qui a apposé sa signature dans le doc2D
    • referenceIncome : le montant des revenus trouvé dans le doc2D
    • partsCount : le nombre de parts trouvé dans le doc2D
    • fiscalNumber1 : le numéro fiscal du premier déclarant trouvé dans le doc2D
    • fiscalNumber2 : le numéro fiscal du second déclarant trouvé dans le doc2D
    • assessmentDate : la date de mise en recouvrement trouvé dans le doc2D
    • declarationDate : la date d'établissement de l'avis d'impôt dans le doc2D
    • taxNoticeReference : la référence de l'avis d'impôt trouvé dans le doc2D
    • incomeYear : l'année pour laquelle les impôts sur les revenus sont calculés trouvé dans le doc2D
  • incomesDetails (déprécié) : détail des revenus du foyer. Les noms des entrées sont DECLARANT_1, DECLARANT_2 et ENFANT. Ces valeurs sont extraites de la seconde page de l'avis d'imposition (cette extraction n'est activée que par Namirial sur le produit). Chaque entrée représente une ligne extraite de la seconde page.

Nouvelles données extraites sur le report.json basées, en partie, sur les informations extraites du doc2D présent sur le document.

{
    ...
    "documentDetails": {
        "reference": "0000000000000",
        "address": "ADDRESS1 POSTALCODE CITY",
        "issuanceDate": "2016-04-24",
        "fiscalNumber1": "0000000000000C",
        "fiscalNumber2": "1000000000000C",
        "refIncome": "15000",
        "incomeYear": 2021,
        "doc2D": {
            "signatureDate": "2016-04-24",
            "fullName1": "DOE JOHN JAMES",
            "fullName2": "DOE JOHN JAMES",
            "signedBy": "C=COUNTRYCODE, O=ORGANISM, OU=0000 00000000000000, CN=0000",
            "referenceIncome": 15000,
            "partsCount": 1,
            "fiscalNumber1": "0000000000000C",
            "fiscalNumber2": "1000000000000C",
            "assessmentDate": "2022-07-31",
            "taxNoticeReference": "0000000000000",
            "incomeYear": 2021
        }
    }
}

Anciennes données extraites sur le report.json basées, en partie, sur les informations retournées par le service du site des impôts, qui n'est plus fonctionnel.

{
    ...
    "documentDetails": {
        "fiscalNumber1": "123456789",
        "fiscalNumber2": "987654321",
        "reference": "5127543296321",
        "incomesDetails": {
            "ENFANT": [],
            "DECLARANT_1": [
                {
                    "label": "DEDUCTION 10 OU FRAIS REELS",
                    "value": -4223
                },
                {
                    "label": "SALAIRES",
                    "value": 25000
                },
                {
                    "label": "SALAIRES PENSIONS RENTES NETS",
                    "value": 5000
                },
                {
                    "label": "TOTAL DES SALAIRES ET ASSIMILES 2",
                    "value": 30000
                }
            ],
            "DECLARANT_2": []
        }
    }
}

Données additionnelles (déprécié)

Les données additionnelles ne sont plus disponibles depuis l'arrêt du service de validation des avis d'imposition. extraData ne sera plus présent pour les nouveaux dossiers. Si le service externe de validation d’avis d’imposition est appelé les informations de l’avis seront remontés dans la clé “extraData.frTaxNoticeDetails” :

{
    ...
    "extraData": {
        "frTaxNoticeDetails": {
            "taxableIncome": "20 000 u20ac",
            "refIncome": "20 000 u20ac",
            "nbParts": "3.00",
            "postalAddress": {
                "city": "MONTPELLIER",
                "address1": "39 RUE DE LA GARE",
                "postalCode": "34000"
            },
            "globalGrossIncome": "20 000 u20ac",
            "declarant1": {
                "lastName": "Doe",
                "firstNames": "JOHN",
                "birthDate": "1971-01-01",
                "birthName": "DOE"
            },
            "issueDate": "2014-07-14",
            "taxAmount": "Non imposable",
            "familyStatus": "Pacsé(e)s"
        }
    }
}

RIB

Les valeurs suivantes définissent les contrôles d’un RIB :

  • ibanChecksumValid : indique que la somme de contrôles est valide
  • bankCountryValid : le pays spécifié dans le RIB est autorisé
  • ibanFound : l’IBAN a été trouvé dans le document
  • participants : liste des contrôles pour chacun des participants devant être trouvés dans le document. La comparaison est faite entre les informations du dossier et le document :
    • nameFound : le nom du participant a été trouvé
    • ibanMatch : l'IBAN trouvé dans le document correspond à celui du participant
    • owner : identifiant du possesseur du document (voir les informations des participants)
  • documentTypeMatch : le type de document détecté est bien celui attendu (ce champ n’est pas présent si le type de document n’a pu être déterminé)
  • keywordsWhitelist : liste des mots clés autorisés trouvés dans le document
  • keywordsBlacklist : liste des mots clés non autorisés trouvés dans le document

Si le parcours a été configuré pour utiliser des personnes morales, les contrôles suivants sont ajoutés :

  • legalEntityIbanMatch : l'IBAN trouvé correspond à celui de la personne morale
  • legalEntityNameFound : le nom de la personne morale a été trouvé dans le document
  • legalEntityPostalAddressFound : l'adresse postale de la personne morale a été trouvée dans le document
  • legalEntityPostalAddressMatch : l'adresse postale de la personne morale trouvée dans le document correspond à celle du dossier
{
    ...
    "documents": [
        {
            "controls": {
                "documentTypeMatch": true,
                "ibanChecksumValid": true,
                "bankCountryValid": false,
                "ibanFound": true,
                "participants": [
                    {
                        "owner": "72b6fa2e-9e5f-11e5-b08c-448a5bd00f42",
                        "ibanMatch": true,
                        "nameFound": true
                    }
                ]
            },
            ...
        }
    ],
    ...
}

Factures, échéanciers ou taxe foncière

Les valeurs suivantes définissent les contrôles pour les factures et échéanciers :

  • dateFound : la date du document a été trouvée dans le document (seulement pour les factures)
  • maxAgeExceeded : le document est trop ancien (configuré dans l’interface de workflow) (seulement pour les factures)
  • participants : un tableau contenant les informations des possesseurs du document :
    • nameFound : le nom du participant a été trouvé
    • postalAddressFound : l’adresse postale du participant a été trouvé
    • postalAddressMatch : l’adresse postale du participant correspond
    • owner : identifiant du possesseur du document (voir les informations des participants)
  • documentTypeMatch : le type de document détecté est bien celui attendu (ce champ n’est pas présent si le type de document n’a pu être déterminé)
{
    ...
    "documents": [
        {
            "controls": {
                "documentTypeMatch": true,
                "dateFound": true,
                "maxAgeExceeded": false,
                "participants": [
                    {
                        "owner": "72b6fa2e-9e5f-11e5-b08c-448a5bd00f42",
                        "nameFound": true,
                        "postalAddressFound": true,
                        "postalAddressMatch": true
                    }
                ]
            },
            ...
        }
    ],
    ...
}

Pension de retraite ou attestation CAF

Les valeurs suivantes définissent les contrôles pour les factures et échéanciers :

  • participants : un tableau contenant les informations des possesseurs du document :
    • nameFound : le nom du participant a été trouvé
    • postalAddressFound : l’adresse postale du participant a été trouvé
    • owner : identifiant du possesseur du document (voir les informations des participants)
  • documentTypeMatch : le type de document détecté est bien celui attendu (ce champ n’est pas présent si le type de document n’a pu être déterminé)
  • keywordsWhitelist : liste des mots clés autorisés trouvés dans le document
  • keywordsBlacklist : liste des mots clés non autorisés trouvés dans le document
{
    ...
    "documents": [
        {
            "controls": {
                "documentTypeMatch": true,
                "participants": [
                    {
                        "owner": "72b6fa2e-9e5f-11e5-b08c-448a5bd00f42",
                        "nameFound": true,
                        "postalAddressFound": true
                    }
                ]
            },
            ...
        }
    ],
    ...
}

Attestation d'assurance habitation

Les valeurs suivantes définissent les contrôles pour les attestation d'assurance habitation :

  • participants : un tableau contenant les informations des possesseurs du document :
    • nameFound : le nom du participant a été trouvé
    • postalAddressFound : l’adresse postale du participant a été trouvée
    • postalAddressMatch : l’adresse postale du participant correspond
    • owner : identifiant du possesseur du document (voir les informations des participants)
  • documentTypeMatch : le type de document détecté est bien celui attendu (ce champ n’est pas présent si le type de document n’a pu être déterminé)
  • maxAgeExceeded : le document est trop ancien (configuré dans l’interface de workflow)
{
    ...
    "documents": [
        {
            "controls": {
                "documentTypeMatch": true,
                "maxAgeExceeded": true,
                "participants": [
                    {
                        "owner": "72b6fa2e-9e5f-11e5-b08c-448a5bd00f42",
                        "nameFound": true,
                        "postalAddressFound": true
                    }
                ]
            },
            ...
        }
    ],
    ...
}

Données extraites

Les valeurs suivantes peuvent être récupérées :

  • firstName : prénom du participant
  • lastName : nom de famille du participant
  • birthName : le nom de naissance
  • address : l'adresse postale du participant
  • issuanceDate : la date d'émission du document
{
    ...
    "documentDetails": {
        "firstName": "JOHN",
        "lastName": "DOE",
        "birthName": "DOE",
        "address": "123 rue Victor Hugo",
        "issuanceDate": "2019-02-27"
    }
}

Autres types de documents

Les valeurs suivantes définissent les contrôles pour les documents de type "autre" :

  • keywordsWhitelist : liste des mots clés autorisés trouvés dans le document
  • keywordsBlacklist : liste des mots clés non autorisés trouvés dans le document
{
    ...
    "documents": [
        {
            "controls": {
            },
            ...
        }
    ],
    ...
}

Liste des événements

Le champ “events” liste tous les événements survenus sur le dossier.

Si l’utilisateur a soumis plusieurs fois un même document, il y aura autant d’événements de soumission. Pour avoir des informations plus précises sur un document (vidéocodage …) il est préférable d’utiliser les informations décrites dans le paragraphe des documents.

Il s’agit d’un tableau dont chaque entrée possède la structure suivante :

Nom Description
date la date à laquelle l’événement a eu lieu
state l’état de l’événement ; OK pour un succès ou KO pour une erreur
executedBy identifiant participant qui a conceptuellement provoqué l’événement. Cette valeur n’est présente que pour les événements résultant d’une action de l’utilisateur final
delegateeUuid identifiant participant délégué qui a effectivement provoqué l’événement. Cette valeur n'est présente que si l'action a été déléguée
source description de l’application cliente. Chaque appel d’un participant possède une source. Les événements serveur ne possèdent pas ce champ
IPAddress l’adresse IP du participant. Les événements serveur ne possèdent pas ce champ
taskId l’identifiant technique de la tâche liée à cet événement. Ce champ est optionnel
errors Liste de codes d’erreurs. Ce champ n’est présent que si la valeur de state est à KO.
warnings liste de codes warning
type le type de l’événement (voir le tableau ci-dessous)
sentTo identifiant du destinataire de l’email. Ce champ n'apparaît que pour les événements EMAIL_SENT et OTP_SENT
documentType le type de document. Ce champ n'apparaît que pour les événements AUTHENTICATION et DOCUMENT_SUBMISSION
documentId L'identificant du document. Ce champ n'apparaît que pour les événements AUTHENTICATION DOCUMENT_SUBMISSION, DOCUMENT_REVIEWED et VIDEOCODING
documentCategory Catégorie du document. Ce champ n'apparaît que pour les événements AUTHENTICATION DOCUMENT_SUBMISSION, DOCUMENT_REVIEWED et VIDEOCODING
label Le label de l’évènement
channel Le canal d'où provient l'événement
causes Les causes de réouverture du dossier (uniquement pour les évenements REOPEN). Cet objet contient la liste des tâches réouvertes, un éventuel message ajouté par l'opérateur, et d'éventuelles tâches additionnelles
{
    ...
    "events": [
        {
            "date": "2015-02-04T16:45:20Z",
            "state": "OK",
            "type": "CREATION",
            "groupUuid": "4ba3c1e0-6c76-4f08-82bc-0cda98b93fb6",
            "groupName": "myGroup_jZWY8"
        },
        {
            "date": "2015-02-04T16:45:21Z",
            "executedBy": "704ff222-0620-418a-b9b3-2f352d39aebc ",
            "documentType": "ID_CARD",
            "label": "Carte d’Identité",
            "state": "OK",
            "source": "WEB#Chrome_40.0#Win32",
            "attachmentId": "",
            "type": "AUTHENTICATION",
            "IPAddress": "127.0.0.1",
            "channel": "CENTER",
            "taskId": "1_3"
        },
        ...
        }
    }

Types des événements

Type Description
CREATION  lors de la création du dossier
AUTHENTICATION  lorsqu’une authentification a été effectuée
DOCUMENT_SUBMISSION  lorsqu’un document a été soumis (voire validé automatiquement)
DOCUMENT_REPROCESSING lorsqu’un document a été re-soumis
FACE_MATCH   lorsqu’une reconnaissance faciale été effectuée (voire validée automatiquement)
SIGNATURE  lors de la signature du contrat
OTP_SENT  lorsque le code OTP a été envoyé à l’utilisateur
EMAIL_SENT  lorsqu’un email a été envoyé à l’utilisateur
SMS_SENT  lorsqu’un ou plusieurs sms ont été envoyé
REMINDER_SENT  lorsqu’une relance a été envoyée
CONTRACT_VIEWED  lorsque le contrat a été vu par l’utilisateur
REOPEN  lorsque le dossier a été réouvert
PARTICIPANT_COMPLETION  lorsque le participant a soumis son dossier
FINALIZATION  lorsque le dossier a été finalisé
ARCHIVING_SCHEDULED lorsque le dossier va être archivé
ARCHIVING  lorsque le dossier a été archivé
ARCHIVING_CANCELLATION lorsque l'archivage du dossier a été annulé
REJECTION  lorsque le dossier a été rejeté (état final)
ACCEPTATION  lorsque le dossier a été accepté (état final)
ARCHIVE_DOWNLOADED  lorsqu’un service tiers a téléchargé l’archive du dossier
CONTRACT_DOWNLOADED  lorsque le contrat a été téléchargé par l’utilisateur
CONTRACTS_DOWNLOAD_NOTIFIED  lorsque l’utilisateur certifie avoir téléchargé tous les contrats
EXPORT  lorsque l’archive du dossier est exportée vers la GED. Ceci se produit lorsque les règles d’export sont définies
UNBLOCKING  lorsque le dossier a été débloqué
VIDEOCODING lorsqu'un document a été vidéocodé
DOCUMENT_REVIEWED  lorsqu’un opérateur fait une revue d’un document. Il contient le type de document et son état (accepté ou rejeté)
FACE_MATCH_REVIEWED  lorsqu’un opérateur effectue une reconnaissance faciale manuellement . Il contient l'état d'acceptation (accepté ou rejeté)
LEGAL_ENTITY_REVIEWED lorsqu’un opérateur fait une revue d'une personne morale
LEGAL_AGENT_REVIEWED lorsqu’un opérateur fait une revue d'un mandataire
REVIEW_CANCELED lorsqu’un opérateur annule la précédente revue
ZIP_REPORT_DOWNLOAD lorsqu’un opérateur télécharge le contenu d'un dossier
EXTERNAL_ACTION lorsque le dossier a été traité par une application externe
IDENTIFICATION lorsqu'une identification avec lettre recommandée électronique (LRE) est utilisée avant la signature
DEFRAUDED_DOCUMENT_REGISTRATION lorsqu'un document est marqué comme fraudé. L'identifiant de la tâche et l'événement de soumission sont attachés à cet événement
GROUP_TRANSFER changement d'affectation de groupe du client file

Dossier One Click Contract

Le champ clientFile.participants.oneClickContract contient les informations du dossier de référence pour le One Click Contract du participant :

  • oneccUUID : l’identifiant technique du One Click Contract
  • oneccToken : token utilisé pour la création du One Click Contract
  • participant : participant du dossier de référence
    • email : l’adresse email
    • mobilePhone : le numéro de téléphone portable
    • lastName : le nom de famille
    • firstName : le prénom
    • birthDate : la date de naissance (optionnel)
    • birthPlace : le lieu de naissance (optionnel)
    • birthName : le nom de naissance (optionnel)
    • postalAddress : l’adresse postale du participant du dossier de référence (optionnel)
      • address1 : ligne 1 de l'adresse (optionnel)
      • address2 : ligne 2 de l'adresse (optionnel)
      • address3 : ligne 3 de l'adresse (optionnel)
      • city : ville (optionnel)
      • postalCode : code postal (optionnel)
      • countryCode : code pays (optionnel)
  • clientFile : dossier de référence du One Click Contract
    • uuid : l’identifiant technique du dossier de référence
    • creationDate : la date de création du dossier
    • finalizationDate : la date de finalization du dossier
    • productUuid : identifiant technique du produit
    • productName : nom du produit
    • workflowUuid : identifiant technique du workflow
    • workflowname : nom du workflow
    • workflowLabel : label du workflow
    • state : l’état du dossier
    • externalInfo : la liste des informations métier (optionnel)
  • documents : liste des pièces justificatives du participant du dossier de référence (optionnel)
    • label : indique le label du document. Il est défini lors de la création du workflow. (optionnel)
    • type : indique le type du document (optionnel)
    • attachmentId : indique l’identifiant unique du document. Il est défini lors de la création du parcours. (optionnel)
    • controls : contient une liste de booléens de contrôle. Ils sont générés par le serveur Trust and Sign avec les données reçues du serveur (optionnel)
    • files : les informations du fichier dans l'archive
      • name : le nom du fichier
      • mimeType : le type mime du fichier (ex: application/pdf) (optionnel)
  "oneClickContract": {
"oneccUUID": "528ef5f5-39a7-4a80-b8d1-9a4c45832168",
"oneccToken": "20190902_p0z6EiBRZCRmfevf4zF4M4XRioAej2a",
"participant": {
"email": "j.doe@example.net",
"mobilePhone": "0678912345",
"lastName": "Doe",
"firstName": "John",
"birthDate": "1984-08-13",
"birthPlace": "Montpelier"
},
"clientFile": {
"uuid": "e7865978-a9d9-40a7-bb65-5dd23d4e3267",
"creationDate": "2015-03-10T16:47:39Z",
"finalizationDate": "2015-03-10T16:47:42Z",
"productLabel": "Product 1",
"workflowLabel": "Workflow 11",
"state": "ACCEPTED",
"externalInfo": {
}
},
"documents": [
{
"label": "ID card",
"type": "id_card",
"attachmentId": "1",
"controls": {
...
},
"files": [
{
"name": "1_john_doe_3_1.png",
"mimeType": "image/png"
}
]
},
{
"label": "Facture EDF",
"type": "payslip",
"attachmentId": "3",
"controls": {
...
},
"files": [
{
"name": "3_1_payslip_01.png",
"mimeType": "image/png"
}
]
}
]
}