Skip to content

Report.json file (V6)

Samples of report.json can be downloaded :

Most values are described in the following chapters. Those that are not are subject to change or deletion.

All dates in this document are in [ISO8601] format (https://fr.wikipedia.org/wiki/ISO_8601).

The "date" field contains the date the report was generated.

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

Customer file information

The field "clientFile" contains the information of the client file. The following fields are defined:

  • participants: table containing the information of the participants. Each of these entries contains :
    • type: the type of participant as defined in the course configuration interface civility: the civility (MR, MRS, MISS or UNKNOWN) lastName: the last name firstName : the first name birthName: birth name (optional) birthPlace: place of birth (optional) birthDate: date of birth (optional) email: the email address, mobilePhone: the mobile phone number phone: the landline telephone number (optional) postalAddress: the postal address (optional) iban: the participant's IBAN uuid: the participant's ID
    • profiles: list of profiles associated with the participant oneClickContract: the original file of the One Click Contract (optional)
    • identityChecks : participant identity check uuid: the technical identifier of the file (for a machine) id: the unique identifier of the file (human readable)
  • externalInfo: the list of business information startDate: the date the file was created finishDate: the date the file was closed. This field is only present when the file is accepted or rejected validationDate: the date on which the file was validated. This field is only present if a manual validation has been performed
  • state : the state of the file
  • rejectionCause: the cause of rejection. This field is only present if the file is in the REJECTED state
  • rejectionMessage: a message explaining the rejection of the file. This field is only present if the file is in the REJECTED state
  • acceptanceMessage: a message explaining the acceptance of the file. This field is only present if the file is in the ACCEPTED state
  • legalEntity: information about the legal entity. This field is only present for files that support this mode of operation
    • name: the name of the company companyId: the company identifier (SIRET or SIREN) data: the information of the legal entity from the third party service postalAddress: the postal address (if this was defined when the file was created) iban: the IBAN of the legal entity
  • recordId: the identifier of the legal archive. Note: each client must keep this value as it is only kept for 3 months ( default) after the file is closed.
  • archivingState: the archiving state of the file. The following values are possible:
    • NO_ARCHIVING: archiving is not activated for this file
    • ARCHIVED: the file has been archived
    • NOT_YET_ARCHIVED: the file is not yet archived
    • ARCHIVING_IS_SCHEDULED: the file is not yet archived, archiving is scheduled
    • NOT_ARCHIVED: the file has not been archived because it has been rejected or the archiving deadline has passed
  • externalId: the external identifier that can be defined when the file is created productUuid: technical identifier of the product productName: product name workflowUuid : technical identifier of the workflow workflowName : name of the workflow workflowLabel: workflow label
  • group : the group of the file uuid : group identifier
    • label : group label defaultGroup : true if this is the default group for the company
  • appendices: the list of appended documents
    • id: the document identifier (provided at submission)
    • file: the file information in the archive
      • name: the name of the file
      • mimeType : the mime type of the file (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": "Cancelled",
        "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": "President"
                                .
                            }
                        ],
                        "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"
                    }
                }
            },
            ...
        }

The verification of a participant's identity

The clientFile.participants[].identityChecks[] field contains the list of identity checks for a participant. This field is only present if participant verification is enabled in the path.

Use of an identity document

the field clientFile.participants[].identityChecks[].idDocument will be present. The structure is described here: List of supporting documents

WARNING : The documents used during the identity check will not be displayed in the same way as a classic document in the report.json and in the integration api return

Display differences in the json

The documents are usually present in the table documents. In the case of identity check, the documents (e.g. front and back of an ID card) will be present in the field clientFile.participants[].identityChecks[]

Example with a French NIC :

{
    "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"
            }
        }
    ]
}

Use of an identity document and facial recognition (face match)

The clientFile.participants[].identityChecks[].faceMatch field contains information about the "selfie" files contained in the archive. Each element has a similar structure, some keys are described in the 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: a failed automatic check ("validation": "VALIDATION_FAILURE") can be contradicted later by manual review by an operator (cf. event FACE_MATCH_REVIEWED in the event list).

Use of an video identity verification

The clientFile.participants[].identityChecks[].videoIdentification field contains information about the video identity :

  • date : Video identity date
  • taskId : represents the technical identifier of the task linked to this document
  • participantUuid : identifier of the participant who is to submit the document (submission may have been delegated)
  • owner : the type of participant as defined in the course configuration interface
  • type : indicates the type of the document
  • files : contains the name of the file in the archive (with the subkey "name") and its mime type (with the subkey "mimeType")
  • errors : Error codes
  • warnings : Warning codes
  • documentControls : Identity document controls
  • biometryControls : Face biometry controls
{
    ...
    "videoIdentification": {
        "date": "2022-10-19T14:31:44Z",
        "taskId": "1_1",
        "participantUuid": "db9d7061-bc64-4786-abd9-79619ea66eab",
        "owner": "SIGNER",
        "type": "ID_CARD",
        "files": [
            {
                "name": "1_firstname_lastname_FRONT_SIDE_1.png",
                "mimeType": "image/png"
            }
        ],
        "documentControls": {
            ...
        },
        "biometryControls": {
            ...
        }
    }
}

Use of the Digital Identity (La Poste)

The clientFile.participants[].identityChecks[].lin field contains the identity information provided by La Poste:

  • taskId: represents the technical identifier of the task linked to this document
  • activationUuid : Id of the Digital Identity
  • errors : Error codes
  • date: Date and time of the identification
  • verifiedAt: Date and time of verification of the Digital Identity service
  • expired : true if the identification has expired and a WBS has been requested providerVerdict: [OK, KO] Result of the Digital Identity service participant identification providerData: Identity retrieved from Digital Identity
  • subjectIdentifier : OIDC sub field: Identifier of the authenticated subject email : E-mail of the authenticated subject
    • givenName : First name of the authenticated subject. Multiple first names separated by spaces familyName: Authenticated subject's birth last name preferredUsername: Authenticated subject's username birthDate : Date of birth of the authenticated subject birthPlace : Place of birth of the authenticated subject. This is the INSEE code of the place of birth in France. In case of foreign country, the field is empty
    • birthCountry: Country of birth of the authenticated subject. INSEE code: 99100 for France
    • gender : Civility of the authenticated subject
  • comparisonVerdict : [OK, KO] Result of the comparison between the Digital Identity and the file information
  • controls: Controls between the Digital Identity and the file information
    • 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"
        }
    }
}

Signed documents

The 'signedDocuments' field contains the list of documents that have been signed during the life cycle of the client file. If the signature has been disabled in the path, this field will not be present. The id field field corresponds to the document identifier as defined in Workflow. A file with the name signed_{id}.pdf will also be found in the the archive.

Each document has a "consentClauses" field which contains the consent clauses consent clauses defined in the signature tasks. Each clause has the same structure:

Name Description
id the unique identifier of the clause (which was defined when the workflow was created)
text text of the clause that was displayed to the user
required boolean indicating whether this clause was required in order to sign the contract
checked boolean indicating whether the user accepted the clause (required clauses are always set to true)
signerUuid Identifier of the participant to whom the clause is associated
{
    ...
    "signedDocuments": [
        {
            "id": "contract",
            "consentClauses": [
                {
                    "checked": true,
                    "id": "clause-01",
                    "text": "I accept the terms and conditions",
                    "required": true,
                    "signerUuid": "8f4321e6-d176-11e5-be31-448a5bd00f42"
                },
                {
                    ...
                }
            ]
        }
    ],
    ...
}

List of supporting documents

The "documents" field is an array with each entry containing the information of the documents contained in the archive. Each element has the same structure:

  • files: contains the name of the file in the archive (with the subkey "name") and its mime type (with the subkey "mimeType")
  • source: contains a string identifying the application that sent the document to the server. It consists of three parts separated by a #:
    • the first indicates the type of the application
    • the second indicates the name of the application
    • the third part indicates the operating system
  • attachmentId : indicates the unique identifier of the document. It is defined when the path is created. This value is optional
  • id: document identifier. It is defined when the path is created. This value is optional
  • category : document category
  • type : indicates the type of the document
  • taskId: represents the technical identifier of the task related to this document. Used for the re-opening of the file.
  • date: represents the date and time of submission of the document participantUuid: identifier of the participant who is to submit the document (submission may have been delegated)
  • validation : VALIDATED: if the document has been validated (automatically or by video coding) VALIDATION_FAILURE: if problems are detected on the document (automatic validation or videocoding)
    • NOT_VALIDATED: if the validation has not been performed
  • areControlsObsolete: true if the file has been updated after the document submission, null otherwise
  • anonymized: true if the document has been anonymised. In this case, the controls are still present in the report.json, but the document will not be present in the archive
  • label: indicates the document label. It is defined when the workflow is created. This value is optional
  • channel : indicates the channel through which the document was submitted
{
    ...
    "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"
        }
    ],
    ...
}

Data may have been extracted if a decision support system was chosen when the workflow was created. This will add the following fields to the list previously described:

  • controls": contains a list of control booleans. They are generated by the Trust and Sign server with data received from the Prevent server. This field is only present if decision support has been used. If the event represents an "error", this field indicates the cause If the event represents an "error", this field indicates the cause more precisely, otherwise it indicates "warnings". The controls common to all documents are as follows:

    • documentTypeMatch: Boolean indicating whether the document type detected is the expected one (this field is not present if the type could not be determined).
    • ContainsAnnotations*: Boolean indicating whether the document contains annotations (only for PDF documents)
    • ContainsTamperingSign*: Boolean indicating whether the document has been modified by a third party application (only for PDF documents)
    • keywordsParticipantAlert: list of keywords in "error" returned to the participant
    • keywordsOperatorAlert : list of keywords in "warning" displayed only to the operator keywordsWhitelist : list of authorised keywords found in the document keywordsBlacklist : list of unauthorised keywords found in the document
  • data": contains the information extracted from the document. It is information returned by the Prevent or MiTrust server.

  • extraData": contains additional information to the document. For a tax notice, the data from a third party service is present. service is present.

Identity documents

The following values are defined:

  • documentAppearanceValid: to indicate whether the document appearance is compliant
  • mrzValid: to indicate whether the MRZ lines are valid ocrMrzDocumentNumberMatch: to indicate whether the document number from the MRZ matches the VIZ (Visual Inspection Zone)number
  • ocrMrzBirthNameMatch : to indicate if the birth name from the MRZ matches the VIZ
  • ocrMrzLastNameMatch : to indicate if the last name from the MRZ matches the VIZ
  • ocrMrzFirstNamesMatch : to indicate if the first name from the MRZ matches that of the VIZ
  • ocrMrzIssuanceDateMatch : to indicate if the issuance date from the MRZ matches that of the VIZ
  • ocrMrzExpirationDateMatch : to indicate if the expiration date from the MRZ matches that of the VIZ ocrMrzBirthDateMatch: to indicate whether the date of birth from the MRZ matches that of the VIZ faithfulFont: to indicate whether the font looks valid (only for ID cards)
  • securityElements: to indicate whether the following security elements are correct
    • Initials in the upper right-hand corner of the photo of the French ID card
    • Number of perforations on the French passport
    • Basic consistency between passport number and expiry date
  • documentCountryValid: to indicate that the country found in the document is authorised
  • documentExpired: to indicate if the document is expired
  • participants: the information for each participant: firstNameMatch: to indicate whether the first name retrieved from the document is the one defined in the file lastNameMatch: to indicate whether the last name extracted from the document is the one defined in the file
    • birthNameMatch: to indicate if the birth name extracted from the document is the one defined in the file (differentiate it from the family name) birthDateMatch: the date of birth extracted from the document corresponds to that of the file (this field is not present if no date is defined in the file) birthPlaceMatch: the place of birth extracted from the document matches that of the file (this field is not present if no place is defined in the file) civilityMatch: the civility extracted from the document matches that of the file (this field is not present if no civility is defined in the file or in the MRZ) firstLastNamesInverted: the first and last names extracted from the document are inverted with respect to the values in the client file
    • namesInverted : birth name and family name are inverted (this field is only present if the user has defined a birth name)
    • owner: identifier of the owner of the document (see participant information)
  • documentTypeMatch : the type of document detected is the one expected (this field is not present if the type of document could not be determined)
  • doc2DFound : the 2DDoc was found in the document
  • doc2DValid : The signature or certificate of the 2D-Doc is not valid or cannot be validated
  • doc2DAndDocumentMatch : The 2D-Doc cannot be read or does not match the document and MRZ data notSpecimen : The document is not a specimen

When the document has been verified with LiveCheck, the following checks are defined:

  • liveCheckWorkableElements: the quality of the provided elements does not allow for identity verification to proceed.
  • liveCheckStatusAccepted: an operator has validated the identification.
  • liveCheckRefuseReason: when liveCheckWorkableElements or liveCheckStatusAccepted is false, indicates a reason for refusal:
    • reason: enumerated, with possible values:
      • FRAUD: fraud has been detected,
      • DOCUMENT_INSUFFICIENT_QUALITY: the quality of the document is insufficient,
      • DOCUMENT_INCORRECTLY_FRAMED: the document is truncated,
      • DOCUMENT_SIDE_MISSING: either the front or back side is missing,
      • DOCUMENT_EXPIRED: the document has expired,
      • DOCUMENT_UNSUPPORTED: the document is not supported,
      • DOCUMENT_COUNTRY_UNAUTHORIZED: the issuing country of the document is not authorized,
      • DOCUMENT_UNSUPPORTED_RECEIPT_ACK: only the receipt is present,
      • BIOMETRY_INSUFFICIENT_QUALITY: the quality of the identification sequence is insufficient,
      • LIVE_CHECK_EXPIRED: the LiveCheck analysis result was not received within the allotted time,
      • INVALID_REQUEST: the LiveCheck analysis request could not be performed,
      • INTERNAL_ERROR: a technical error has occurred,
      • OTHER: other.
    • subReason: if defined, adds specificity to the reason.
{
    ...
    "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
                    }
                ]
            },
            ...
        }

Issuer Referential

Trust & Sign allows you to query the referential of the issuer of an ID document by using PreventGo API. For French documents, the issuer referential is DocVerif (ANTS). Other countries are currently not supported.

the following controls are defined:

Control True False
issuerReferentialConnectorSuccess The connection between Trust & Sign and the Issuer Referential service has been established. The connection could not be established between Trust & Sign and Issuer Referential service (in such a case, the 3 next checks will not appear).
issuerReferentialKnownDocument The document sent has been found in the Issuer Referential. The document sent was not found in the Issuer Referential.
issuerReferentialValid The document has been validated by the Issuer Referential. The document is stolen, lost, expired or cancelled.
issuerReferentialHolderValid The birthName and firstName extracted from the document are consistent with the issuer referential. There is a mismatch.

Extracted data

The following values can be retrieved:

  • The lines of MRZ
  • The information of the person mentioned (key "holder") in the document (name, first names, date of birth and gender)
  • The information of the document ("document" key)
    • date of issue
    • expiry date
    • etc ...
{
    ...
    "documents": [
        {
            "data": {
                "mrz": {
                    "line2": "012345679",
                    "line1": "0123456789"
                },
                "information": {
                    "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"
                    }
                }
            }
            ],
            ...
        }

Payroll slips

The following values define the controls of a document:

  • dateFound: the date of the document was found in the document
  • maxAgeExceeded: the document is too old (configured in the workflow interface) companyConnectorFailed: the call to the company verification connector has failed companyConnectorRequested : the call to the company verification connector has been requested companyIdValid : the company from the payslip is valid companyOfficeIdValid : the company establishment from the payslip is valid companyOfficeAlive: the company's establishment from the payslip is open nirFound: indicates whether the social security number has been found nirValid: indicates whether the national insurance number is valid
  • participants: a table containing the information of the owners of the document: nameFound: the name of the participant was found postalAddressFound: the postal address of the participant was found postalAddressMatch: the participant's postal address was matched civilityMatch: indicates whether the civility from the social security number matches that of the participant birthDateMatch: indicates whether the date of birth from the national insurance number matches that of the participant
    • owner: identifier of the document owner (see participant information) documentTypeMatch: the type of document detected is the one expected (this field is not present if the type of document could not be determined)
{
    ...
    "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
                    }
                ]
            },
            ...
        }
    ],
    ...
}

Data extracted

The following values can be retrieved:

  • firstName` : the employee's first name
  • lastName : the employee's last name
  • birthName` : the employee's birth name
  • address : the company's postal address
  • ssn : the employee's national insurance number
  • legalEntityOfficeId` : the company's SIRET
  • periodDate` : the date of the salary period (ISO8601 format)
  • seniorityDate` : the date the employee joined the company (ISO8601 format)
  • monthlyNetTaxableIncome` : the monthly taxable amount (in euros)
  • annualNetTaxableIncome` : the annual taxable amount (in 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
    }
}

Additional data

If the call to the third party service has been made, an "extraData.companyDetails" field will return the company information displayed on the payslip:

{
    ...
    "documents": [
        {
            "extraData": {
                "companyDetails": {
                    "legalName": "MY COMPANY",
                    "legalAgents": [
                        {
                            "agentRole": "President",
                            "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"
                }
            }
        }
    ]
}

Tax notice

Warning, following the closure of the tax site, some of these controls have been depreciated. These can be replaced by information extracted from doc2D on the document.

The following values define the controls of a tax notice or tax receipt:

  • dateFound: the date of the document was found in the document
  • maxAgeExceeded: the document is too old (configured in the workflow interface)
  • documentTypeMatch: the type of document detected is the expected one (this field is not present if the type of document could not be determined)
  • fiscalNumberFound (new) : at least one fiscal number has been found on the document
  • taxNoticeReferenceFound (new) : the tax notice reference was found on the document
  • doc2DFound (new) : the doc2D exists and was found on the document, some tax notices do not have a doc2D
  • doc2DValid (new) : the doc2D on the document is valid
  • doc2DAndDocumentMatch (new) : all the controls between the document and the doc2D are OK (result of all the following checks: doc2DAndDocumentTypeMatch, doc2DAndFullName1Match, doc2DAndFullName2Match, doc2DAndReferenceIncomeMatch and doc2DAndIncomeYearMatch. Appears only if the doc2DFound control is OK.
  • doc2DAndDocumentTypeMatch (new) : the type of document detected by the system corresponds to the type of document present in the doc2D. Appears only if the doc2DFound control is OK.
  • doc2DAndFullName1Match (new) : the name of the first registrant corresponds between the document and the doc2D. Appears only if the doc2DFound control is OK.
  • doc2DAndFullName2Match (new) : the name of the second registrant corresponds between the document and the doc2D. Appears only if the doc2DFound control is OK.
  • doc2DAndIncomeYearMatch (new) : the year for which income tax is calculated found on the document matches the year detected in doc2D. Appears only if the doc2DFound control is OK.
  • doc2DAndReferenceIncomeMatch (new) : the reference tax income matches between the document and the doc2D. Appears only if the doc2DFound control is OK.
  • taxNoticeConnectorRequested (deprecated) : the connector to external referential has been attempted: key is no more present since 2023-05 (external referential has been shutdown)
  • taxNoticeConnectorFailed (deprecated) : the request to the external referential has failed (key is no more present since 2023-05)
  • taxNoticeNotCheckable (deprecated) : the connector cannot check the notice. This happens if the notice is too old
  • taxNoticeDatesConsistent (deprecated) : the dates found in the document match those returned by the external service
  • taxNoticeRefIncomeConsistent (deprecated) : the amount found on the document matches the one returned by the external service
  • taxNoticeReferencesValid (deprecated) : the reference and the tax number of the notice are valid
  • participants: list of checks for each participant to be found in the document. The comparison is made between the information in the file and the document:
    • nameFound: the name of the participant was found
    • fullNameMatch (new) : the name in doc2D matches the name of the participant on the file
    • postalAddressFound: the postal address of the participant was found
    • postalAddressMatch (deprecated) : the participant's postal address was matched
    • owner: identifier of the document owner (see participant information)
  • frTaxNotice (deprecated) : list of checks for each participant. A "strict" comparison is made between the external service and the client file:
    • owner: identifier of the owner of the document (see participant information)
    • birthDateMatch: the date of birth matches
    • birthNameMatch: the birth name matches (only done if a birth name has been defined in the file)
    • firstNameMatch: the first name matches
    • lastNameMatch: the last name matches
    • namesInverted: birth name and family name are reversed (only done if a birth name has been defined in the file)
    • firstLastNamesInverted: first and last names are reversed

New controls on the .json report based, in part, on information extracted from the doc2D present on the 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
                    }
                ]
            },
            ...
        }
    ],
    ...
}

Old controls on the report.json based, in part, on the information returned by the service on the tax site, which is no longer functional.

{
    ...
    "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
                    }
                ]
            },
            ...
        }
    ],
    ...
}

Extracted data

The following values can be retrieved:

  • fiscalNumber1 : tax number of the first filer
  • fiscalNumber2 : tax number of the second filer
  • reference : reference of the notice found on the document
  • address (new) : address of the filer found on the document
  • issuanceDate (new) : the date of issue of the document
  • refIncome (new) : the amount of income found on the document
  • incomeYear (new) : the year for which income tax is calculated
  • doc2D (new) : all the information extracted from the doc2D. This block only appears if a doc2D is present on the document.
    • signatureDate : the date on which the doc2D was signed
    • fullName1 : name of the first filer found in doc2D
    • fullName2 : name of the second filer found in doc2D
    • signedBy : the organisation that signed the doc2D
    • referenceIncome : the amount of income found in doc2D
    • partsCount : the number of parts found in doc2D
    • fiscalNumber1 : the tax number of the first tax filer found in doc2D
    • fiscalNumber2 : the tax number of the second tax filer found in doc2D
    • assessmentDate : the date of assessment found in doc2D
    • declarationDate : the date of issue of the tax notice in doc2D
    • taxNoticeReference : the reference of the tax notice found in doc2D
    • incomeYear : the year for which income tax is calculated found in doc2D
  • incomesDetails (deprecated) : details of household income. The names of the entries are DECLARANT_1, DECLARANT_2 and ENFANT. These values are taken from from the second page of the tax notice (this extraction is only activated by Namirial on the product). Each entry represents a line extracted from the second page.

New data extracted on the report.json based, in part, on information extracted from the doc2D present on the 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
        }
    }
}

Old data extracted from the report.json based, in part, on information returned by the service on the tax site, which is no longer functional.

{
    ...
    "documentDetails": {
        "fiscalNumber1": "123456789",
        "fiscalNumber2": "987654321",
        "reference": "5127543296321",
        "incomesDetails": {
            "CHILD": [],
            "DECLARANT_1": [
                {
                    "label": "DEDUCTION 10 OR ACTUAL COSTS",
                    "value": -4223
                },
                {
                    "label": "SALARIES",
                    "value": 25000
                },
                {
                    "label": "NET WAGES PENSIONS PENSIONS",
                    "value": 5000
                },
                {
                    "label": "TOTAL WAGES AND ASSIMILES 2",
                    "value": 30000
                }
            ],
            "DECLARANT_2": []
        }
    }
}

Additional data (deprecated)

The additional data is no longer available since the tax notice validation service was discontinued. extraData will no longer be available for new files. If the external tax notice validation service is called, the information from the notice will be retrieved in the " extraData.frTaxNoticeDetails" key:

{
    ...
    "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-taxable",
            "familyStatus": "Pacsé(e)s"
        }
    }
}

RIB

The following values define the controls of a GNI:

ibanChecksumValid: indicates that the checksum is valid bankCountryValid: the country specified in the IBAN is allowed

  • ibanFound: the IBAN was found in the document
  • participants: list of checks for each participant to be found in the document. The comparison is made between the information in the file and the document: nameFound: the name of the participant was found ibanMatch: the IBAN found in the document matches that of the participant
    • owner: identifier of the document owner (see participant information)
  • documentTypeMatch : the type of document detected is the one expected (this field is not present if the type of document could not be determined)
  • keywordsWhitelist : list of allowed keywords found in the document keywordsBlacklist : list of non-authorised keywords found in the document

If the course has been configured to use legal entities, the following controls are added:

legalEntityIbanMatch: the IBAN found matches the legal entity legalEntityNameFound : the name of the legal entity was found in the document legalEntityPostalAddressFound : the postal address of the legal entity was found in the document legalEntityPostalAddressMatch : the postal address of the legal entity found in the document matches the one in the file

{
    ...
    "documents": [
        {
            "controls": {
                "documentTypeMatch": true,
                "ibanChecksumValid": true,
                "bankCountryValid": false,
                "ibanFound": true,
                "participants": [
                    {
                        "owner": "72b6fa2e-9e5f-11e5-b08c-448a5bd00f42",
                        "ibanMatch": true,
                        "nameFound": true
                    }
                ]
            },
            ...
        }
    ],
    ...
}

Invoices, schedules or property tax

The following values define the controls for invoices and schedules:

  • dateFound: the date of the document was found in the document (only for invoices)
  • maxAgeExceeded: the document is too old (configured in the workflow interface) (only for invoices)
  • participants: a table containing the information of the owners of the document:
    • nameFound: the name of the participant was found postalAddressFound: the postal address of the participant was found postalAddressMatch: the participant's postal address was matched
    • owner: identifier of the document owner (see participant information)
  • documentTypeMatch: the type of document found is the expected one (this field is not present if the type of document could not be determined)
{
    ...
    "documents": [
        {
            "controls": {
                "documentTypeMatch": true,
                "dateFound": true,
                "maxAgeExceeded": false,
                "participants": [
                    {
                        "owner": "72b6fa2e-9e5f-11e5-b08c-448a5bd00f42",
                        "nameFound": true,
                        "postalAddressFound": true,
                        "postalAddressMatch": true
                    }
                ]
            },
            ...
        }
    ],
    ...
}

Retirement pension or CAF certificate

The following values define the controls for invoices and schedules:

  • participants: a table containing the information of the owners of the document: nameFound: the name of the participant was found postalAddressFound: the postal address of the participant was found
    • owner: identifier of the document owner (see participant information)
  • documentTypeMatch : the type of document detected is the one expected (this field is not present if the type of document could not be determined)
  • keywordsWhitelist : list of allowed keywords found in the document keywordsBlacklist : list of non-authorised keywords found in the document
{
    ...
    "documents": [
        {
            "controls": {
                "documentTypeMatch": true,
                "participants": [
                    {
                        "owner": "72b6fa2e-9e5f-11e5-b08c-448a5bd00f42",
                        "nameFound": true,
                        "postalAddressFound": true
                    }
                ]
            },
            ...
        }
    ],
    ...
}

Certificate of home insurance

The following values define the checks for home insurance certificates:

  • participants: a table containing the information of the owners of the document: nameFound: the name of the participant was found postalAddressFound: the postal address of the participant was found postalAddressMatch: the participant's postal address was matched
    • owner: identifier of the document owner (see participant information)
  • documentTypeMatch: the type of document detected is the expected one (this field is not present if the type of document could not be determined)
  • maxAgeExceeded: the document is too old (configured in the workflow interface)
{
    ...
    "documents": [
        {
            "controls": {
                "documentTypeMatch": true,
                "maxAgeExceeded": true,
                "participants": [
                    {
                        "owner": "72b6fa2e-9e5f-11e5-b08c-448a5bd00f42",
                        "nameFound": true,
                        "postalAddressFound": true
                    }
                ]
            },
            ...
        }
    ],
    ...
}

Extracted data

The following values can be retrieved:

  • firstName` : first name of the participant
  • lastName : the last name of the participant
  • birthName` : the participant's birth name
  • address : the postal address of the participant
  • issuanceDate : the date the document was issued
{
    ...
    "documentDetails": {
        "firstName": "JOHN",
        "lastName": "DOE",
        "birthName": "DOE",
        "address": "123 rue Victor Hugo",
        "issuanceDate": "2019-02-27"
    }
}

Other types of documents

The following values define the controls for documents of type 'other':

keywordsWhitelist : list of allowed keywords found in the document keywordsBlacklist : list of unauthorised keywords found in the document

{
    ...
    "documents": [
        {
            "controls": {
            },
            ...
        }
    ],
    ...
}

List of events

The "events" field lists all events that have occurred on the file.

If the user has submitted the same document several times, there will be as many submission events. To have more precise information on a document (video coding ...) it is preferable to use the information described in the information described in the [documents] paragraph (#liste-des-pieces-justificatives).

This is a table with the following structure for each entry:

Name Description
date - the date the event took place
state state of the event; OK for a success or KO for an error
executedBy participant identifier that conceptually caused the event. This value is only present for events resulting from an end-user action.
delegateeUuid delegated participant ID that actually caused the event. This value is only present if the action has been delegated.
source This value is only present if the action was delegated to the client application. Each participant call has a source. Server events do not have this field.
IPAddress IP address of the participant. Server events do not have this field
taskId This field is optional and is used to determine the technical identifier of the task linked to this event. This field is optional.
errors This field is optional, and is used for the list of error codes. This field is only present if the state value is KO.
warnings list of warning codes
type the type of the event (see table below)
sentTo identifier of the email recipient. This field appears only for EMAIL_SENT and OTP_SENT events.
documentType the document type. This field appears only for the events AUTHENTICATION and DOCUMENT_SUBMISSION
documentId The identifier of the document. This field only appears for the AUTHENTICATION DOCUMENT_SUBMISSION, DOCUMENT_REVIEWED and VIDEOCODING events.
DocumentCategory Document Category. This field only appears for the AUTHENTICATION DOCUMENT_SUBMISSION, DOCUMENT_REVIEWED and VIDEOCODING events.
label The label of the event
channel The channel from which the event originated
causes The list of reopened tasks (only for REOPEN events). This object contains the list of reopened tasks, any messages added by the operator, and any additional tasks.
{
    ...
    "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": "Identity Card",
            "state": "OK",
            "source": "WEB#Chrome_40.0#Win32",
            "attachmentId": "",
            "type": "AUTHENTICATION",
            "IPAddress": "127.0.0.1",
            "channel": "CENTER",
            "taskId": "1_3"
        },
        ...
        }
    }

Types of events

Type Description
CREATION when the file has been created
AUTHENTICATION when authentication has been performed
DOCUMENT_SUBMISSION when a document has been submitted (or even automatically validated)
DOCUMENT_REPROCESSING when a document has been re-submitted
FACE_MATCH when a facial recognition has been performed (or automatically validated)
SIGNATURE when signing the contract
OTP_SENT when the OTP code has been sent to the user
EMAIL_SENT when an email was sent to the user
SMS_SENT when one or more sms have been sent to the user
REMINDER_SENT when a reminder has been sent to the user
CONTRACT_VIEWED when the contract has been seen by the user
REOPEN when the file has been reopened
PARTICIPANT_COMPLETION when the participant has submitted his or her file
FINALIZATION when the file has been finalized
ARCHIVING_SCHEDULED when the file is going to be archived
ARCHIVING when the file has been archived
ARCHIVING_CANCELLATION when file archiving has been cancelled
REJECTION when the file has been rejected (final state)
ACCEPTATION when the file has been accepted (final state)
ARCHIVE_DOWNLOADED when a third party service has downloaded the file archive
CONTRACT_DOWNLOADED when the contract has been downloaded by the user
CONTRACTS_DOWNLOAD_NOTIFIED when the user certifies that he/she has downloaded all the contracts
EXPORT when the file archive is exported to the EDM. This happens when export rules are defined
UNBLOCKING when the file has been unblocked
VIDEOCODING when a document has been video coded
DOCUMENT_REVIEWED when an operator reviews a document. It contains the type of document and its status (accepted or rejected)
FACE_MATCH_REVIEWED when an operator performs facial recognition manually. It contains the acceptance status (accepted or rejected)
LEGAL_ENTITY_REVIEWED when an operator reviews a legal entity
LEGAL_AGENT_REVIEWED when an operator reviews an agent
REVIEW_CANCELED when an operator cancels the previous review
ZIP_REPORT_DOWNLOAD when an operator downloads the contents of a file
EXTERNAL_ACTION when the file has been processed by an external application
IDENTIFICATION when an identification with electronic registered letter (ERL) is used before signing
DEFRAUDED_DOCUMENT_REGISTRATION when a document is marked as fraudulent. The task identifier and the submission event are attached to this event
GROUP_TRANSFER change of group assignment of the file client

One Click Contract File

The clientFile.participants.oneClickContract field contains the reference file information for the One Click Contract of the participant:

oneccUUID: the technical identifier of the One Click Contract oneccToken : token used for the creation of the One Click Contract

  • participant : participant of the reference file email : the email address mobilePhone: the mobile phone number lastName: the last name firstName: first name birthDate: date of birth (optional) birthPlace: place of birth (optional) birthName: the birth name (optional) postalAddress: the postal address of the participant in the reference file (optional) address1: line 1 of the address (optional) address2: line 2 of the address (optional) address3: line 3 of the address (optional) city: city (optional) postalCode: postal code (optional) countryCode: country code (optional) clientFile: reference file of the One Click Contract uuid: the technical identifier of the reference file creationDate: the creation date of the file
    • finalizationDate : the date of finalization of the file productUuid: the technical identifier of the product productName : the name of the product workflowUuid: technical identifier of the workflow workflowname : name of the workflow workflowLabel: workflow label
    • state : the state of the file
    • externalInfo : the list of business information (optional)
  • documents: list of supporting documents for the participant in the reference file (optional)
    • label: indicates the label of the document. It is defined when the workflow is created. (optional)
    • type: indicates the document type (optional)
    • attachmentId : indicates the unique identifier of the document. It is defined when the path is created. (optional) * controls controls: contains a list of control booleans. They are generated by the Trust and Sign server with the data received from the server (optional)
    • files: the file information in the archive
      • name: the name of the file
      • mimeType : the mime type of the file (ex: application/pdf) (optional)
  "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": "EDF invoice",
"type": "payslip",
"attachmentId": "3",
"controls": {
...
},
"files": [
{
"name": "3_1_payslip_01.png",
"mimeType": "image/png"
}
]
}
]
}