Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| documentation_technique_scripts [2025/05/19 15:56] – ctisserand | documentation_technique_scripts [2025/05/20 16:38] (Version actuelle) – ctisserand | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | # Demonstration | + | ====== Documentation pour écrire un script custom (LUA) ====== |
| + | |||
| + | < | ||
| + | # Squelette du script | ||
| ``` | ``` | ||
| -- script title | -- script title | ||
| Ligne 19: | Ligne 22: | ||
| return true or false | return true or false | ||
| ``` | ``` | ||
| - | # Titre | + | # Titre du script |
| ``` | ``` | ||
| --- country_alpha2 = title | --- country_alpha2 = title | ||
| Ligne 35: | Ligne 38: | ||
| Si la langue cible n'est pas disponible, EN est utilisé, sinon le premier disponible est utilisé | Si la langue cible n'est pas disponible, EN est utilisé, sinon le premier disponible est utilisé | ||
| - | # Paramètre | + | # Paramètres |
| ``` | ``` | ||
| --% module | country_alpha2 = name | country_alpha2 = name | --% module | country_alpha2 = name | country_alpha2 = name | ||
| Ligne 48: | Ligne 51: | ||
| Il ne sert pas a définir les tests (cf. Module), ils servent a définir le comportement du code | Il ne sert pas a définir les tests (cf. Module), ils servent a définir le comportement du code | ||
| - | # Module | + | # Modules (référence pour les script) |
| ``` | ``` | ||
| Ligne 59: | Ligne 62: | ||
| Il définissent les tests qui seront enregistrés dans le rapport archivé | Il définissent les tests qui seront enregistrés dans le rapport archivé | ||
| - | Une référence peut être utilisé plusieur | + | Une référence peut être utilisée plusieurs |
| - | Le nom final d'une référence est consitué de tous ces composant nécéssaire | + | Le nom final d'une référence est consitué de tous ces composants nécéssaires |
| exemple | exemple | ||
| Ligne 69: | Ligne 72: | ||
| 3. un script travaillant sur `X` et `Y` et la donnée `i` rt `j` avec une référence nommé `name` et `first_name` aura comme noms de références `X.Y.i.j.name` et `X.Y.i.j.first_name` | 3. un script travaillant sur `X` et `Y` et la donnée `i` rt `j` avec une référence nommé `name` et `first_name` aura comme noms de références `X.Y.i.j.name` et `X.Y.i.j.first_name` | ||
| - | ## Services | + | # Services |
| - | ### country | + | Un service permet l' |
| - | ``` | + | |
| - | country_exists() | + | |
| - | ``` | + | |
| + | Ci-dessous la liste des services disponibles ainsi que leur documentation extraite automatiquement | ||
| + | Exemple: | ||
| - | |||
| ``` | ``` | ||
| - | verify() | + | services.email.verify(input.data.email[0], |
| + | ``` | ||
| + | |||
| + | ``` | ||
| + | services.email.verify(email: | ||
| ``` | ``` | ||
| Verify the regex and domain of an email | Verify the regex and domain of an email | ||
| Ligne 87: | Ligne 92: | ||
| - check_server_respond: | - check_server_respond: | ||
| - | ### inpi | + | ## inpi |
| ``` | ``` | ||
| - | by_siret(siret: | + | services.inpi.by_siret(siret: |
| ``` | ``` | ||
| Get the information on a company from INPI | Get the information on a company from INPI | ||
| - siret: the SIRET number of the company | - siret: the SIRET number of the company | ||
| - | - retry: Internal value | ||
| ``` | ``` | ||
| - | by_siren(siren: | + | services.inpi.by_siren(siren: |
| ``` | ``` | ||
| Get the information on a company from INPI | Get the information on a company from INPI | ||
| - siren: the SIREN number of the company | - siren: the SIREN number of the company | ||
| - | - retry: Internal value | ||
| - | # Données | + | ## country |
| - | Les données | + | ``` |
| + | services.country.country_exists(country: | ||
| + | ``` | ||
| + | From the name of a country, find all the real country that match the name | ||
| + | |||
| + | - country: Name of the country to search | ||
| + | |||
| + | # Données | ||
| + | Les données | ||
| - data: dict[field_name, | - data: dict[field_name, | ||
| Ligne 114: | Ligne 125: | ||
| local name = input.data.name | local name = input.data.name | ||
| ``` | ``` | ||
| - | # Données pouvant | + | # Données pouvant |
| - | Les données | + | Les données |
| - identity: PersonalDetails | - identity: PersonalDetails | ||
| Ligne 126: | Ligne 137: | ||
| output.valid[doc.name] = true | output.valid[doc.name] = true | ||
| ``` | ``` | ||
| - | # Functions | + | # Functions |
| - | ## compare | + | ## check |
| ``` | ``` | ||
| - | compare(doc1: PersonalDetails | MRZDocument | dict, field1: str | list[str], doc2: DocumentWrapper | dict, field2: str | list[str], fn: float (str | str), tr: int, ref: str, parse: bool = False, hide: bool = False) | + | check( |
| + | doc: PersonalDetails | MRZDocument | DocumentWrapper | ||
| + | field: str | list[str] | ||
| + | fn: bool (list[str] | Any) | ||
| + | ref: str | ||
| + | parse: bool = False | ||
| + | hide: bool = False | ||
| + | all_values: | ||
| + | ) | ||
| ``` | ``` | ||
| - | Compare 2 fields from 2 different document | + | Verify |
| - | - doc1: a PersonalDetails or MRZDocument to get the value from | + | - doc: a DocumentWrapper, PersonalDetails or MRZDocument |
| - | - field1: standardize field name or a list of standardize | + | - field: standardize field name or a list of standardize field name to get from the document |
| - | - doc2: a DocumentWrapper to get the value from | + | |
| - | - field2: standardize field name or a list of standardize field name to get from the document | + | |
| - fn: the function to verify the validity of the data | - fn: the function to verify the validity of the data | ||
| - | - tr: the minimum value to consider this verification valid | ||
| - ref: a description to indicate the verification done for the report | - ref: a description to indicate the verification done for the report | ||
| - | - parse: True to try to parse the data of doc2 before giving it to the function, False to have a string | + | - parse: True to try to parse the data before giving it to the function, False to have a string. If a PersonalDetails is or MRZDocument is given the value is already parsed |
| - | - hide: True if the verification is valid | + | - hide: True to hide this verification |
| + | - all_values: If False, the first value to return true is used, else every value must return true | ||
| - | ## is_available | + | ## check_concat |
| ``` | ``` | ||
| - | is_available(doc: DocumentWrapper, field: str) | + | check_concat( |
| + | doc: DocumentWrapper | ||
| + | field: str | list[str] | ||
| + | fn: bool (list[str] | Any) | ||
| + | ref: str | ||
| + | hide: bool = False | ||
| + | parse: bool = False | ||
| + | allow_missing_field: | ||
| + | ) | ||
| ``` | ``` | ||
| - | Determine if the field is available in a document | + | Verify |
| - doc: a DocumentWrapper to get the value from | - doc: a DocumentWrapper to get the value from | ||
| - | - field: standardize field name to get from the document | ||
| - | |||
| - | ## error_type | ||
| - | ``` | ||
| - | error_type(error: | ||
| - | ``` | ||
| - | Get the name of a python exception | ||
| - | - error: The exception to have the name from | ||
| - | |||
| - | ## check | ||
| - | ``` | ||
| - | check(doc: PersonalDetails | MRZDocument | DocumentWrapper, | ||
| - | ``` | ||
| - | Verify the validity of a field with the function given | ||
| - | - doc: a DocumentWrapper, | ||
| - field: standardize field name or a list of standardize field name to get from the document | - field: standardize field name or a list of standardize field name to get from the document | ||
| - fn: the function to verify the validity of the data | - fn: the function to verify the validity of the data | ||
| - ref: a description to indicate the verification done for the report | - ref: a description to indicate the verification done for the report | ||
| - | - parse: True to try to parse the data before giving it to the function, False to have a string. If a PersonalDetails is or MRZDocument is given the value is already parsed | ||
| - hide: True to hide this verification from the report | - hide: True to hide this verification from the report | ||
| - | - all_values: If False, the first value to return true is used, else every value must return true | + | - parse: True to try to parse the data before giving it to the function, False to have a string |
| + | - allow_missing_field: | ||
| - | ## list | + | ## compare |
| ``` | ``` | ||
| - | list(x: list[Any]) | + | compare( |
| + | doc1: PersonalDetails | MRZDocument | dict | ||
| + | field1: str | list[str] | ||
| + | doc2: DocumentWrapper | dict | ||
| + | field2: str | list[str] | ||
| + | fn: float (str | str) | ||
| + | tr: int | ||
| + | ref: str | ||
| + | parse: bool = False | ||
| + | hide: bool = False | ||
| + | ) | ||
| ``` | ``` | ||
| - | convert | + | Compare 2 fields from 2 different document |
| - | - x: a LUA compatible | + | - doc1: a PersonalDetails or MRZDocument to get the value from |
| + | - field1: standardize field name or a list of standardize field name to get from the document doc1 | ||
| + | - doc2: a DocumentWrapper | ||
| + | - field2: standardize field name or a list of standardize field name to get from the document doc2 | ||
| + | - fn: the function to verify the validity of the data | ||
| + | - tr: the minimum value to consider this verification valid | ||
| + | - ref: a description to indicate the verification done for the report | ||
| + | - parse: True to try to parse the data of doc2 before giving it to the function, False to have a string | ||
| + | - hide: True if the verification is valid | ||
| ## contains | ## contains | ||
| ``` | ``` | ||
| - | contains(_list: | + | contains( |
| + | _list: list[Any] | ||
| + | item: Any | ||
| + | ) | ||
| ``` | ``` | ||
| Test if y is contains in x | Test if y is contains in x | ||
| Ligne 187: | Ligne 218: | ||
| ## correct | ## correct | ||
| ``` | ``` | ||
| - | correct(ref: | + | correct( |
| + | ref: str = "" | ||
| + | doc: DocumentWrapper | ||
| + | field: str | list[str] | ||
| + | fn: str (str) | ||
| + | ref: str = "" | ||
| + | hide: bool = False | ||
| + | ) | ||
| ``` | ``` | ||
| Correct a field in a document following the function given. The result of the correction replace the old value | Correct a field in a document following the function given. The result of the correction replace the old value | ||
| Ligne 196: | Ligne 234: | ||
| - ref: a description to indicate the correction done for the report | - ref: a description to indicate the correction done for the report | ||
| - hide: True to hide this correction from the report | - hide: True to hide this correction from the report | ||
| + | |||
| + | ## create_date_mask | ||
| + | ``` | ||
| + | create_date_mask( | ||
| + | d: str | ||
| + | date_format: | ||
| + | ) | ||
| + | ``` | ||
| + | Create a valid mask for the date given (ex: 1990 -> YYYY, 901212 -> YYMMDD) | ||
| + | - d: the date as a string | ||
| + | - date_format: | ||
| ## custom_info | ## custom_info | ||
| ``` | ``` | ||
| - | custom_info(infos: | + | custom_info( |
| + | infos: list[tuple[str | Any]] | ||
| + | is_valid: Any | ||
| + | ref: Any | ||
| + | threshold: Any = None | ||
| + | score: Any = None | ||
| + | ) | ||
| ``` | ``` | ||
| Write a bloc to indicate the state of a custom verification | Write a bloc to indicate the state of a custom verification | ||
| Ligne 208: | Ligne 263: | ||
| - score: if used, indicate the score obtain with this verification | - score: if used, indicate the score obtain with this verification | ||
| - | ## check_concat | + | ## error_type |
| ``` | ``` | ||
| - | check_concat(doc: DocumentWrapper, | + | error_type( |
| + | error: Exception | ||
| + | ) | ||
| ``` | ``` | ||
| - | Verify | + | Get the name of a python exception |
| - | - doc: a DocumentWrapper | + | - error: The exception |
| - | - field: standardize field name or a list of standardize field name to get from the document | + | |
| - | - fn: the function to verify the validity of the data | + | ## fuzzy |
| - | - ref: a description to indicate the verification done for the report | + | ``` |
| - | - hide: True to hide this verification from the report | + | fuzzy( |
| - | - parse: True to try to parse the data before giving it to the function, False to have a string | + | x: str |
| - | - allow_missing_field: True to allow the fields to not be found, else an error will be raised if a field is not found in the document | + | y: str |
| + | ignore_special_chars: | ||
| + | ) | ||
| + | ``` | ||
| + | Do a string compare with the algorithme fuzzy search | ||
| + | - x: The first string | ||
| + | - y: The second string | ||
| + | - ignore_special_chars: True to transform inputs into an ASCII variant | ||
| + | |||
| + | ## generator | ||
| + | ``` | ||
| + | generator( | ||
| + | co: list[Any] | ||
| + | ) | ||
| + | ``` | ||
| + | Make a python coroutine usable. Available: #(...), .first(), .all() | ||
| + | - co: Python coroutine | ||
| ## get_value | ## get_value | ||
| ``` | ``` | ||
| - | get_value(doc: | + | get_value( |
| + | doc: DocumentWrapper | ||
| + | field: str | list[str] | ||
| + | parse: bool = False | ||
| + | ) | ||
| ``` | ``` | ||
| Get the value of a field in a document | Get the value of a field in a document | ||
| Ligne 230: | Ligne 307: | ||
| - parse: True to try to parse the result, False to have a string | - parse: True to try to parse the result, False to have a string | ||
| - | ## parse_date | + | ## is_available |
| ``` | ``` | ||
| - | parse_date() | + | is_available( |
| + | doc: DocumentWrapper | ||
| + | field: str | ||
| + | ) | ||
| ``` | ``` | ||
| + | Determine if the field is available in a document | ||
| + | - doc: a DocumentWrapper to get the value from | ||
| + | - field: standardize field name to get from the document | ||
| - | + | ## list | |
| - | ## fuzzy | + | |
| ``` | ``` | ||
| - | fuzzy(x: str, y: str, ignore_special_chars: | + | list( |
| + | x: list[Any] | ||
| + | ) | ||
| ``` | ``` | ||
| - | Do a string compare with the algorithme fuzzy search | + | convert |
| - | - x: The first string | + | - x: a LUA compatible list |
| - | - y: The second string | + | |
| - | - ignore_special_chars: | + | |
| - | ## generator | + | ## parse_date |
| ``` | ``` | ||
| - | generator(co: list[Any]) | + | parse_date( |
| + | |||
| + | ) | ||
| ``` | ``` | ||
| - | Make a python coroutine usable. Available: #(...), .first(), .all() | ||
| - | - co: Python coroutine to use | ||
| - | ## to_lua | ||
| - | ``` | ||
| - | to_lua(x: Any) | ||
| - | ``` | ||
| - | convert an object from python to LUA | ||
| - | - x: a python compatible object | ||
| - | ## create_date_mask | + | ## save_error |
| ``` | ``` | ||
| - | create_date_mask(d: str) | + | save_error( |
| + | codes: list[tuple[EnrollmentStatusCodeEnum | str] | ErrorCodeException | EnrollmentStatusCode] | ||
| + | ) | ||
| ``` | ``` | ||
| - | Create a valid mask for the date given (ex: 1990 -> YYYY, 901212 -> YYMMDD) | + | |
| - | - d: the date as a string | + | - codes: save an instance |
| - | - date_format: | + | |
| ## throw | ## throw | ||
| ``` | ``` | ||
| - | throw(code: EnrollmentStatusCodeEnum, msg: str = "" | + | throw( |
| + | code: EnrollmentStatusCodeEnum | ||
| + | msg: str = "" | ||
| + | ) | ||
| ``` | ``` | ||
| Raise a python ErrorCodeException containing an EnrollmentStatusCode created with the code and message given | Raise a python ErrorCodeException containing an EnrollmentStatusCode created with the code and message given | ||
| Ligne 275: | Ligne 355: | ||
| - msg: A text to join with the code | - msg: A text to join with the code | ||
| - | ## save_error | + | ## to_lua |
| ``` | ``` | ||
| - | save_error(codes: list[tuple[EnrollmentStatusCodeEnum | str] | ErrorCodeException | EnrollmentStatusCode]) | + | to_lua( |
| + | x: Any | ||
| + | ) | ||
| ``` | ``` | ||
| - | + | convert an object from python to LUA | |
| - | - codes: save an instance of EnrollmentStatusCode or ErrorCodeException or (EnrollmentStatusCodeEnum, | + | - x: a python compatible object |
| # Enums | # Enums | ||
| - | ## MRZDocumentType | ||
| - | - TD1 | ||
| - | - TD2 | ||
| - | - TD3 | ||
| - | - MRVA | ||
| - | - MRVB | ||
| - | - CIF | ||
| - | - DL_FR_V1 | ||
| - | - CG_FR_V1 | ||
| - | |||
| ## EnrollmentStatusCodeEnum | ## EnrollmentStatusCodeEnum | ||
| - ACCOUNT_MISSING_EMAIL | - ACCOUNT_MISSING_EMAIL | ||
| Ligne 328: | Ligne 400: | ||
| - WARNING | - WARNING | ||
| - | # Other | + | ## MRZDocumentType |
| - | ``` | + | - TD1 |
| - | output: object | + | - TD2 |
| - | ``` | + | - TD3 |
| - | ``` | + | - MRVA |
| - | MRZ_TYPES: dict[MRZDocumentType | IdentityDocument] | + | - MRVB |
| - | ``` | + | - CIF |
| - | ``` | + | - DL_FR_V1 |
| - | services: object | + | - CG_FR_V1 |
| - | ``` | + | |
| # Lua modules allowed | # Lua modules allowed | ||
| - | - pcall | + | - _G |
| - | - coroutine | + | - _VERSION |
| - assert | - assert | ||
| - | - tostring | ||
| - | - tonumber | ||
| - | |||
| - | - module | ||
| - bit | - bit | ||
| - | - package | + | - collectgarbage |
| - | - error | + | - coroutine |
| - debug | - debug | ||
| - | - rawequal | + | - error |
| - | - unpack | + | |
| - | - pairs | + | |
| - | - table | + | |
| - | - next | + | |
| - math | - math | ||
| - | - _G | + | - module |
| - | - _VERSION | + | - next |
| - | - string | + | |
| - | - type | + | |
| - | - utf8 | + | |
| - | - collectgarbage | + | |
| - os | - os | ||
| - date | - date | ||
| - | - time | ||
| - difftime | - difftime | ||
| + | - time | ||
| + | - package | ||
| + | - pairs | ||
| + | - pcall | ||
| + | |||
| + | - rawequal | ||
| + | - string | ||
| + | - table | ||
| + | - tonumber | ||
| + | - tostring | ||
| + | - type | ||
| + | - unpack | ||
| + | - utf8 | ||
| - | # Extracted Data Classes | + | # Définition des classes utilisés pour les données pivots |
| - | ## PROOF_OF_AGE | + | |
| - | ``` | + | |
| - | AgeProofExtractedData(services: | + | |
| - | ``` | + | |
| ## BANK_DETAILS | ## BANK_DETAILS | ||
| ``` | ``` | ||
| - | BankDetailsExtractedData(services: dict[str | dict] | null, iban: str | null, full_name: str | null, bic: str | null, dmx_full_name: | + | BANK_DETAILS( |
| + | services: dict[str | dict] | null, | ||
| + | iban: str | null, | ||
| + | full_name: str | null, | ||
| + | bic: str | null, | ||
| + | dmx_full_name: | ||
| + | dmx_iban: str | null, | ||
| + | dmx_bic: str | null | ||
| + | ) | ||
| ``` | ``` | ||
| ## CAR_REGISTRATION | ## CAR_REGISTRATION | ||
| ``` | ``` | ||
| - | CarRegistrationExtractedData(services: dict[str | dict] | null, mrz_document_format: | + | CAR_REGISTRATION( |
| + | services: dict[str | dict] | null, | ||
| + | mrz_document_format: | ||
| + | mrz_issuing_country: | ||
| + | mrz_type: str | null, | ||
| + | mrz_valid: str | null, | ||
| + | mrz_line1: str | null, | ||
| + | mrz_line2: str | null, | ||
| + | mrz_document_number: | ||
| + | mrz_id_vehicle_number: | ||
| + | mrz_registration_date: | ||
| + | mrz_national_type: | ||
| + | mrz_vehicle_body: | ||
| + | mrz_brand: str | null, | ||
| + | mrz_denomination: | ||
| + | mrz_last_digit: | ||
| + | mrz_formula_number: | ||
| + | A: str | null, | ||
| + | B: date | null, | ||
| + | C1: str | null, | ||
| + | C3: str | null, | ||
| + | C41_n_owners: | ||
| + | C41_co_owner: | ||
| + | D1: str | null, | ||
| + | D2: str | null, | ||
| + | D21: str | null, | ||
| + | D3: str | null, | ||
| + | E: str | null, | ||
| + | F1: str | null, | ||
| + | F2: str | null, | ||
| + | F3: str | null, | ||
| + | G: str | null, | ||
| + | G1: str | null, | ||
| + | H: str | null, | ||
| + | I: date | null, | ||
| + | J: str | null, | ||
| + | J1: str | null, | ||
| + | J2: str | null, | ||
| + | J3: str | null, | ||
| + | K: str | null, | ||
| + | P1: str | null, | ||
| + | P2: str | null, | ||
| + | P3: str | null, | ||
| + | P6: str | null, | ||
| + | Q: str | null, | ||
| + | S1: str | null, | ||
| + | S2: str | null, | ||
| + | U1: str | null, | ||
| + | U2: str | null, | ||
| + | V7: str | null, | ||
| + | V9: str | null, | ||
| + | X1: date | null, | ||
| + | Y1: str | null, | ||
| + | Y2: str | null, | ||
| + | Y3: str | null, | ||
| + | Y4: str | null, | ||
| + | Y5: str | null, | ||
| + | Y6: str | null, | ||
| + | Z1: str | null, | ||
| + | Z2: str | null, | ||
| + | Z3: str | null, | ||
| + | Z4: str | null | ||
| + | ) | ||
| ``` | ``` | ||
| - | ## HEALTH_INSURANCE_CARD | + | ## DIGITAL_IDENTITY |
| ``` | ``` | ||
| - | HealthInsuranceExtractedData(services: dict[str | dict] | null, full_name: str | null, amc: str | null, csr: str | null, adherent_number: str | null, convention: str | null, starting_date: date | null, ending_date: date | null) | + | DIGITAL_IDENTITY( |
| + | services: dict[str | dict] | null, | ||
| + | type: str | null, | ||
| + | name: str | null, | ||
| + | email: str | null, | ||
| + | phone_number: str | null, | ||
| + | birth_name: str | null, | ||
| + | first_name: str | null, | ||
| + | first_names: | ||
| + | address: str | null, | ||
| + | zip_code: str | null, | ||
| + | city: str | null, | ||
| + | country: str | null, | ||
| + | birth_date: date | null, | ||
| + | birth_date_mask: | ||
| + | gender: str | null, | ||
| + | birth_place: | ||
| + | birth_country: | ||
| + | nationality: | ||
| + | dmx_first_names: | ||
| + | dmx_name: str | null, | ||
| + | dmx_nationality: | ||
| + | dmx_gender: | ||
| + | dmx_type: str | null, | ||
| + | dmx_birth_country: | ||
| + | extra: IdentityExtractedDataExtra | null, | ||
| + | nfc_compatible: | ||
| + | ) | ||
| ``` | ``` | ||
| - | ## IDENTITY_DOCUMENT | + | ### DIGITAL_IDENTITY_EXTRA |
| ``` | ``` | ||
| - | IdentityExtractedData(services: dict[str | dict] | null, type: str | null, name: str | null, email: str | null, phone_number: str | null, birth_name: str | null, first_name: str | null, first_names: | + | DIGITAL_IDENTITY_EXTRA( |
| + | id_number: str | null, | ||
| + | issuing_date: datetime | ||
| + | expiration_date: datetime | ||
| + | issuing_country: str | null, | ||
| + | issuer: str | null, | ||
| + | address: str | null, | ||
| + | dmx_id_number: str | null, | ||
| + | dmx_signature_status: str | null, | ||
| + | mrz_line_1: str | null, | ||
| + | mrz_line_2: str | null, | ||
| + | mrz_line_3: str | null, | ||
| + | nfc_compatible: | ||
| + | ) | ||
| ``` | ``` | ||
| - | ### IDENTITY_DOCUMENT_EXTRA | + | ## HEALTH_INSURANCE_CARD |
| ``` | ``` | ||
| - | IdentityExtractedData(id_number: str | null, issuing_date: | + | HEALTH_INSURANCE_CARD( |
| + | services: dict[str | dict] | null, | ||
| + | full_name: str | null, | ||
| + | amc: str | null, | ||
| + | csr: str | null, | ||
| + | adherent_number: str | null, | ||
| + | convention: str | null, | ||
| + | starting_date: date | null, | ||
| + | ending_date: date | null | ||
| + | ) | ||
| ``` | ``` | ||
| - | ## DIGITAL_IDENTITY | + | ## IDENTITY |
| ``` | ``` | ||
| - | IdentityExtractedData(services: dict[str | dict] | null, type: str | null, name: str | null, email: str | null, phone_number: | + | IDENTITY( |
| + | services: dict[str | dict] | null, | ||
| + | type: str | null, | ||
| + | name: str | null, | ||
| + | email: str | null, | ||
| + | phone_number: | ||
| + | birth_name: str | null, | ||
| + | first_name: str | null, | ||
| + | first_names: | ||
| + | address: str | null, | ||
| + | zip_code: str | null, | ||
| + | city: str | null, | ||
| + | country: str | null, | ||
| + | birth_date: date | null, | ||
| + | birth_date_mask: | ||
| + | gender: str | null, | ||
| + | birth_place: | ||
| + | birth_country: | ||
| + | nationality: | ||
| + | dmx_first_names: | ||
| + | dmx_name: str | null, | ||
| + | dmx_nationality: | ||
| + | dmx_gender: str | null, | ||
| + | dmx_type: str | null, | ||
| + | dmx_birth_country: | ||
| + | extra: IdentityExtractedDataExtra | null, | ||
| + | nfc_compatible: | ||
| + | ) | ||
| ``` | ``` | ||
| - | ### DIGITAL_IDENTITY_EXTRA | + | ### IDENTITY_EXTRA |
| ``` | ``` | ||
| - | IdentityExtractedData(id_number: str | null, issuing_date: | + | IDENTITY_EXTRA( |
| + | id_number: str | null, | ||
| + | issuing_date: | ||
| + | expiration_date: | ||
| + | issuing_country: | ||
| + | issuer: str | null, | ||
| + | address: str | null, | ||
| + | dmx_id_number: | ||
| + | dmx_signature_status: | ||
| + | mrz_line_1: str | null, | ||
| + | mrz_line_2: str | null, | ||
| + | mrz_line_3: str | null, | ||
| + | nfc_compatible: | ||
| + | ) | ||
| ``` | ``` | ||
| - | ## IDENTITY | + | ## IDENTITY_DOCUMENT |
| ``` | ``` | ||
| - | IdentityExtractedData(services: dict[str | dict] | null, type: str | null, name: str | null, email: str | null, phone_number: | + | IDENTITY_DOCUMENT( |
| + | services: dict[str | dict] | null, | ||
| + | type: str | null, | ||
| + | name: str | null, | ||
| + | email: str | null, | ||
| + | phone_number: | ||
| + | birth_name: str | null, | ||
| + | first_name: str | null, | ||
| + | first_names: | ||
| + | address: str | null, | ||
| + | zip_code: str | null, | ||
| + | city: str | null, | ||
| + | country: str | null, | ||
| + | birth_date: date | null, | ||
| + | birth_date_mask: | ||
| + | gender: str | null, | ||
| + | birth_place: | ||
| + | birth_country: | ||
| + | nationality: | ||
| + | dmx_first_names: | ||
| + | dmx_name: str | null, | ||
| + | dmx_nationality: | ||
| + | dmx_gender: str | null, | ||
| + | dmx_type: str | null, | ||
| + | dmx_birth_country: | ||
| + | extra: IdentityExtractedDataExtra | null, | ||
| + | nfc_compatible: | ||
| + | ) | ||
| ``` | ``` | ||
| - | ### IDENTITY_EXTRA | + | ### IDENTITY_DOCUMENT_EXTRA |
| ``` | ``` | ||
| - | IdentityExtractedData(id_number: str | null, issuing_date: | + | IDENTITY_DOCUMENT_EXTRA( |
| + | id_number: str | null, | ||
| + | issuing_date: | ||
| + | expiration_date: | ||
| + | issuing_country: | ||
| + | issuer: str | null, | ||
| + | address: str | null, | ||
| + | dmx_id_number: | ||
| + | dmx_signature_status: | ||
| + | mrz_line_1: str | null, | ||
| + | mrz_line_2: str | null, | ||
| + | mrz_line_3: str | null, | ||
| + | nfc_compatible: | ||
| + | ) | ||
| ``` | ``` | ||
| ## INCOME_TAX | ## INCOME_TAX | ||
| ``` | ``` | ||
| - | IncomeTaxExtractedData(services: dict[str | dict] | null, type: str | null, full_name_1: | + | INCOME_TAX( |
| + | services: dict[str | dict] | null, | ||
| + | type: str | null, | ||
| + | full_name_1: | ||
| + | full_name_2: | ||
| + | due_date: date | null, | ||
| + | reference: str | null, | ||
| + | year: str | null, | ||
| + | tax_payer_id_number_1: | ||
| + | tax_payer_id_number_2: | ||
| + | taxable_income_reference: | ||
| + | signature_status: | ||
| + | ) | ||
| ``` | ``` | ||
| ## KBIS | ## KBIS | ||
| ``` | ``` | ||
| - | KbisExtractedData(services: dict[str | dict] | null, name: str | null, address: str | null, directions: list[dict], issuing_date: | + | KBIS( |
| + | services: dict[str | dict] | null, | ||
| + | name: str | null, | ||
| + | address: str | null, | ||
| + | directions: list[dict], | ||
| + | issuing_date: | ||
| + | registration_date: | ||
| + | siren: str | null, | ||
| + | legal_form: str | null | ||
| + | ) | ||
| ``` | ``` | ||
| ## PAY_SLIP | ## PAY_SLIP | ||
| ``` | ``` | ||
| - | PaySlipExtractedData(services: dict[str | dict] | null, siret: str | null, ape: str | null, nir: str | null, hire_date: date | null, period: date | null, gross_income: | + | PAY_SLIP( |
| + | services: dict[str | dict] | null, | ||
| + | siret: str | null, | ||
| + | ape: str | null, | ||
| + | nir: str | null, | ||
| + | hire_date: date | null, | ||
| + | period: date | null, | ||
| + | gross_income: | ||
| + | net_income: float | null, | ||
| + | net_taxable_income: | ||
| + | full_name: str | null, | ||
| + | address: str | null, | ||
| + | zip_code: str | null, | ||
| + | city: str | null, | ||
| + | company_address_1: | ||
| + | company_address_2: | ||
| + | company_address_3: | ||
| + | ) | ||
| ``` | ``` | ||
| ## PROOF_OF_ADDRESS | ## PROOF_OF_ADDRESS | ||
| ``` | ``` | ||
| - | ProofOfAddressExtractedData(services: dict[str | dict] | null, full_name: str | null, address_1: str | null, address_2: str | null, address_3: str | null, zip_code: str | null, city: str | null, date: null, dmx_full_name: | + | PROOF_OF_ADDRESS( |
| + | services: dict[str | dict] | null, | ||
| + | full_name: str | null, | ||
| + | address_1: str | null, | ||
| + | address_2: str | null, | ||
| + | address_3: str | null, | ||
| + | zip_code: str | null, | ||
| + | city: str | null, | ||
| + | date: null, | ||
| + | dmx_full_name: | ||
| + | dmx_address_street: | ||
| + | dmx_address_complement: | ||
| + | dmx_zip_code: | ||
| + | dmx_city: str | null, | ||
| + | dmx_date: null | ||
| + | ) | ||
| + | ``` | ||
| + | ## PROOF_OF_AGE | ||
| + | ``` | ||
| + | PROOF_OF_AGE( | ||
| + | services: dict[str | dict] | null, | ||
| + | is_of_age: bool | null, | ||
| + | minimum_age: | ||
| + | ) | ||
| ``` | ``` | ||
| ## PROPERTY_TAX | ## PROPERTY_TAX | ||
| ``` | ``` | ||
| - | PropertyTaxExtractedData(services: dict[str | dict] | null, name: str | null, first_name: str | null, address_1: str | null, address_2: str | null, address_3: str | null, zip_code: str | null, city: str | null, year: str | null) | + | PROPERTY_TAX( |
| + | services: dict[str | dict] | null, | ||
| + | name: str | null, | ||
| + | first_name: str | null, | ||
| + | address_1: str | null, | ||
| + | address_2: str | null, | ||
| + | address_3: str | null, | ||
| + | zip_code: str | null, | ||
| + | city: str | null, | ||
| + | year: str | null | ||
| + | ) | ||
| ``` | ``` | ||
| ## SOCIAL_SECURITY | ## SOCIAL_SECURITY | ||
| ``` | ``` | ||
| - | SocialSecurityExtractedData(services: dict[str | dict] | null, full_name: str | null, social_security_number: | + | SOCIAL_SECURITY( |
| + | services: dict[str | dict] | null, | ||
| + | full_name: str | null, | ||
| + | social_security_number: | ||
| + | delivery_date: | ||
| + | expiration_date: | ||
| + | birth_date: date | null, | ||
| + | full_name_right_holder: | ||
| + | social_security_number_right_holder: | ||
| + | rgx_first_name: | ||
| + | rgx_surname: | ||
| + | rxg_birth_date: | ||
| + | rgx_social_security_number: | ||
| + | ) | ||
| ``` | ``` | ||
| - | # Classes | + | # Définition des objets utilisés dans les scripts |
| + | ## DocumentWrapper | ||
| + | - document | ||
| + | - name | ||
| + | - iteration | ||
| + | - mode | ||
| + | - engine | ||
| + | - type | ||
| + | - content | ||
| + | - input_documents | ||
| + | - is_internal | ||
| + | - step_step_documents | ||
| + | - ignore_validation | ||
| + | - tags | ||
| + | - is_valid | ||
| + | - document_provider | ||
| + | - enrollment_steps | ||
| + | |||
| ## EnrollmentStatusCode | ## EnrollmentStatusCode | ||
| + | - id | ||
| + | - code | ||
| + | - message | ||
| + | - step | ||
| + | - external_method_step | ||
| + | - enrollment | ||
| + | - validation | ||
| + | - document | ||
| + | |||
| + | - pk: _empty | ||
| + | |||
| ## ErrorCodeException | ## ErrorCodeException | ||
| - status_code: | - status_code: | ||
| - | ## IdentityExtractedDataExtra | + | ## IdentityDocument |
| - | - id_number: str | null | + | - definition |
| - | - issuing_date: | + | - type |
| - | - expiration_date: | + | - name |
| - | - issuing_country: | + | - line_size |
| - | - issuer: str | null | + | - nb_line |
| - | - address: str | null | + | |
| - | - dmx_id_number: | + | |
| - | - dmx_signature_status: | + | |
| - | - mrz_line_1: str | null | + | |
| - | - mrz_line_2: str | null | + | |
| - | - mrz_line_3: str | null | + | |
| - | - nfc_compatible: | + | |
| - | ## DocumentWrapper | + | ## IdentityExtractedDataExtra |
| - | - document: Document | + | - id_number |
| - | - name: str | + | - issuing_date |
| - | - iteration: int | None | + | - expiration_date |
| - | - mode: DocumentWrapperModeEnum | + | - issuing_country |
| - | - engine: EngineTypes | + | - issuer |
| - | - type: list[DocumentTypeEnum] | + | - address |
| - | - content: dict | null | + | - dmx_id_number |
| - | - input_documents: | + | - dmx_signature_status |
| - | - is_internal: | + | - mrz_line_1 |
| - | - step_step_documents: | + | - mrz_line_2 |
| - | - ignore_validation: | + | - mrz_line_3 |
| - | - tags: list[object] | + | - nfc_compatible |
| - | - is_valid: bool | null | + | |
| - | - document_provider: | + | |
| - | - enrollment_steps: | + | |
| - | ## IdentityDocument | + | ## PersonalDetails |
| - | - definition: list[dict[str | IdentityDocumentPart]] | + | - id |
| - | - type: MRZDocumentType | + | - name |
| - | - name: str | + | - birth_name |
| - | - line_size: int | + | - first_name |
| - | - nb_line: int | + | - first_names |
| + | |||
| + | - address | ||
| + | - zip_code | ||
| + | - city | ||
| + | - country | ||
| + | - phone_number | ||
| + | - birth_date | ||
| + | - gender | ||
| + | - birth_place | ||
| + | - birth_country | ||
| + | - nationality | ||
| + | - identity_valid | ||
| + | - enrollment | ||
| + | - pk: _empty | ||
| - | ## PersonalDetails | ||
| # Exemple | # Exemple | ||
| ```lua | ```lua | ||
| Ligne 571: | Ligne 954: | ||
| ``` | ``` | ||
| + | </ | ||