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 16:42] – 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 70: | Ligne 73: | ||
| # Services | # Services | ||
| - | Un service | + | Un service |
| + | |||
| + | Ci-dessous la liste des services disponibles ainsi que leur documentation extraite automatiquement | ||
| Exemple: | Exemple: | ||
| Ligne 77: | Ligne 82: | ||
| services.email.verify(input.data.email[0], | services.email.verify(input.data.email[0], | ||
| ``` | ``` | ||
| - | ## inpi | + | |
| ``` | ``` | ||
| - | by_siret(siret: str) | + | services.email.verify(email: Any, check_mx: Any = True, check_server_respond: |
| ``` | ``` | ||
| - | Get the information on a company from INPI | + | Verify |
| - | - siret: the SIRET number of the company | + | - email: the email address |
| + | - check_mx: Check if an MX entry exist for this domain. True by default | ||
| + | - check_server_respond: | ||
| + | ## inpi | ||
| ``` | ``` | ||
| - | by_siren(siren: str) | + | services.inpi.by_siret(siret: str) |
| ``` | ``` | ||
| Get the information on a company from INPI | Get the information on a company from INPI | ||
| - | - siren: the SIREN number of the company | + | - siret: the SIRET number of the company |
| - | |||
| ``` | ``` | ||
| - | verify(email: Any, check_mx: Any = True, check_server_respond: | + | services.inpi.by_siren(siren: str) |
| ``` | ``` | ||
| - | Verify | + | Get the information on a company from INPI |
| - | - email: the email address | + | - siren: the SIREN number of the company |
| - | - check_mx: Check if an MX entry exist for this domain. True by default | + | |
| - | - check_server_respond: | + | |
| ## country | ## country | ||
| ``` | ``` | ||
| - | country_exists(country: | + | services.country.country_exists(country: |
| ``` | ``` | ||
| From the name of a country, find all the real country that match the name | From the name of a country, find all the real country that match the name | ||
| Ligne 110: | Ligne 115: | ||
| - country: Name of the country to search | - country: Name of the country to search | ||
| - | # Données | + | # Données |
| - | Les données | + | Les données |
| - data: dict[field_name, | - data: dict[field_name, | ||
| Ligne 120: | 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 132: | Ligne 137: | ||
| output.valid[doc.name] = true | output.valid[doc.name] = true | ||
| ``` | ``` | ||
| - | # Functions | + | # Functions |
| - | ## custom_info | + | |
| - | ``` | + | |
| - | custom_info(infos: | + | |
| - | ``` | + | |
| - | Write a bloc to indicate the state of a custom verification | + | |
| - | - infos: List of name, value used for this verification | + | |
| - | - is_valid: The end result of the verification | + | |
| - | - ref: a description to indicate the verification done for the report | + | |
| - | - threshold: if used, indicate the threshold used for this verification | + | |
| - | - score: if used, indicate the score obtain with this verification | + | |
| - | + | ||
| - | ## save_error | + | |
| - | ``` | + | |
| - | save_error(codes: | + | |
| - | ``` | + | |
| - | + | ||
| - | - codes: save an instance of EnrollmentStatusCode or ErrorCodeException or (EnrollmentStatusCodeEnum, | + | |
| - | + | ||
| - | ## create_date_mask | + | |
| - | ``` | + | |
| - | create_date_mask(d: | + | |
| - | ``` | + | |
| - | Create a valid mask for the date given (ex: 1990 -> YYYY, 901212 -> YYMMDD) | + | |
| - | - d: the date as a string | + | |
| - | - date_format: | + | |
| - | + | ||
| - | ## to_lua | + | |
| - | ``` | + | |
| - | to_lua(x: Any) | + | |
| - | ``` | + | |
| - | convert an object from python to LUA | + | |
| - | - x: a python compatible object | + | |
| - | + | ||
| - | ## generator | + | |
| - | ``` | + | |
| - | generator(co: | + | |
| - | ``` | + | |
| - | Make a python coroutine usable. Available: #(...), .first(), .all() | + | |
| - | - co: Python coroutine to use | + | |
| - | + | ||
| - | ## list | + | |
| - | ``` | + | |
| - | list(x: list[Any]) | + | |
| - | ``` | + | |
| - | convert a list from lua to python | + | |
| - | - x: a LUA compatible list | + | |
| ## check | ## check | ||
| ``` | ``` | ||
| - | check(doc: PersonalDetails | MRZDocument | DocumentWrapper, field: str | list[str], fn: bool (list[str] | Any), ref: str, parse: bool = False, hide: bool = False, all_values: 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: bool = False | ||
| + | ) | ||
| ``` | ``` | ||
| Verify the validity of a field with the function given | Verify the validity of a field with the function given | ||
| Ligne 192: | Ligne 158: | ||
| - 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 | - all_values: If False, the first value to return true is used, else every value must return true | ||
| + | |||
| + | ## check_concat | ||
| + | ``` | ||
| + | check_concat( | ||
| + | doc: DocumentWrapper | ||
| + | field: str | list[str] | ||
| + | fn: bool (list[str] | Any) | ||
| + | ref: str | ||
| + | hide: bool = False | ||
| + | parse: bool = False | ||
| + | allow_missing_field: | ||
| + | ) | ||
| + | ``` | ||
| + | Verify the validity of the concatenation of multiple field with the function given | ||
| + | - doc: a DocumentWrapper to get the value from | ||
| + | - 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 | ||
| + | - ref: a description to indicate the verification done for the report | ||
| + | - hide: True to hide this verification from the report | ||
| + | - parse: True to try to parse the data before giving it to the function, False to have a string | ||
| + | - allow_missing_field: | ||
| + | |||
| + | ## compare | ||
| + | ``` | ||
| + | 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 | ||
| + | ) | ||
| + | ``` | ||
| + | Compare 2 fields from 2 different document | ||
| + | - 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 to get the value from | ||
| + | - 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 203: | 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 213: | Ligne 235: | ||
| - hide: True to hide this correction from the report | - hide: True to hide this correction from the report | ||
| - | ## is_available | + | ## create_date_mask |
| ``` | ``` | ||
| - | is_available(doc: DocumentWrapper, | + | create_date_mask( |
| + | d: str | ||
| + | date_format: | ||
| + | ) | ||
| ``` | ``` | ||
| - | Determine if the field is available in a document | + | Create |
| - | - doc: a DocumentWrapper to get the value from | + | - d: the date as a string |
| - | - field: standardize field name to get from the document | + | - date_format: the format of the date to parse |
| - | ## check_concat | + | ## custom_info |
| ``` | ``` | ||
| - | check_concat(doc: DocumentWrapper, | + | custom_info( |
| + | infos: list[tuple[str | Any]] | ||
| + | is_valid: Any | ||
| + | ref: Any | ||
| + | threshold: Any = None | ||
| + | score: Any = None | ||
| + | ) | ||
| ``` | ``` | ||
| - | Verify | + | Write a bloc to indicate |
| - | - doc: a DocumentWrapper to get the value from | + | - infos: List of name, value used for this verification |
| - | - field: standardize field name or a list of standardize field name to get from the document | + | - is_valid: The end result |
| - | - fn: the function to verify the validity | + | |
| - ref: a description to indicate the verification done for the report | - ref: a description to indicate the verification done for the report | ||
| - | - hide: True to hide this verification | + | - threshold: if used, indicate the threshold used for this verification |
| - | - parse: True to try to parse the data before giving it to the function, False to have a string | + | - score: if used, indicate |
| - | - 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 | + | |
| + | ## error_type | ||
| + | ``` | ||
| + | error_type( | ||
| + | error: Exception | ||
| + | ) | ||
| + | ``` | ||
| + | Get the name of a python exception | ||
| + | - error: The exception | ||
| + | |||
| + | ## fuzzy | ||
| + | ``` | ||
| + | fuzzy( | ||
| + | x: str | ||
| + | y: str | ||
| + | ignore_special_chars: | ||
| + | ) | ||
| + | ``` | ||
| + | Do a string | ||
| + | - 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 to use | ||
| ## 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 243: | 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: | + | |
| - | ## compare | + | ## parse_date |
| ``` | ``` | ||
| - | 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) | + | parse_date( |
| + | |||
| + | ) | ||
| ``` | ``` | ||
| - | Compare 2 fields from 2 different document | ||
| - | - 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 to get the value from | ||
| - | - 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 | ||
| - | ## error_type | + | |
| + | ## save_error | ||
| ``` | ``` | ||
| - | error_type(error: Exception) | + | save_error( |
| + | codes: list[tuple[EnrollmentStatusCodeEnum | str] | ErrorCodeException | EnrollmentStatusCode] | ||
| + | ) | ||
| ``` | ``` | ||
| - | Get the name of a python exception | + | |
| - | - error: The exception to have the name from | + | - codes: save an instance of EnrollmentStatusCode or ErrorCodeException or (EnrollmentStatusCodeEnum, |
| ## 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 | ||
| - code: One of EnrollmentStatusCodeEnum possibility | - code: One of EnrollmentStatusCodeEnum possibility | ||
| - msg: A text to join with the code | - msg: A text to join with the code | ||
| + | |||
| + | ## to_lua | ||
| + | ``` | ||
| + | to_lua( | ||
| + | x: Any | ||
| + | ) | ||
| + | ``` | ||
| + | convert an object from python to LUA | ||
| + | - x: a python compatible object | ||
| # Enums | # Enums | ||
| Ligne 334: | Ligne 410: | ||
| - CG_FR_V1 | - CG_FR_V1 | ||
| - | # Other | ||
| - | ``` | ||
| - | output: object | ||
| - | ``` | ||
| - | ``` | ||
| - | MRZ_TYPES: dict[MRZDocumentType | IdentityDocument] | ||
| - | ``` | ||
| - | ``` | ||
| - | services: object | ||
| - | ``` | ||
| # Lua modules allowed | # Lua modules allowed | ||
| - | - pcall | + | - _G |
| + | - _VERSION | ||
| + | - assert | ||
| + | - bit | ||
| + | - collectgarbage | ||
| - coroutine | - coroutine | ||
| - | - assert | + | - debug |
| - | - tostring | + | - error |
| - | - tonumber | + | - math |
| - | + | ||
| - module | - module | ||
| - | - bit | + | - next |
| + | - os | ||
| + | - date | ||
| + | - difftime | ||
| + | - time | ||
| - package | - package | ||
| - | - error | + | - pairs |
| - | - debug | + | - pcall |
| + | |||
| - rawequal | - rawequal | ||
| - | - unpack | + | - string |
| - | - pairs | + | |
| - table | - table | ||
| - | - next | + | - tonumber |
| - | - math | + | - tostring |
| - | - _G | + | |
| - | - _VERSION | + | |
| - | - string | + | |
| - type | - type | ||
| + | - unpack | ||
| - utf8 | - utf8 | ||
| - | - collectgarbage | ||
| - | - os | ||
| - | - date | ||
| - | - time | ||
| - | - difftime | ||
| - | # 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 |
| - | ## IdentityExtractedDataExtra | + | ## DocumentWrapper |
| - | - id_number: str | null | + | - document |
| - | - issuing_date: | + | - name |
| - | - expiration_date: | + | - iteration |
| - | - issuing_country: | + | - mode |
| - | - issuer: str | null | + | - engine |
| - | - address: str | null | + | - type |
| - | - dmx_id_number: | + | - content |
| - | - dmx_signature_status: | + | - input_documents |
| - | - mrz_line_1: str | null | + | - is_internal |
| - | - mrz_line_2: str | null | + | - step_step_documents |
| - | - mrz_line_3: str | null | + | - ignore_validation |
| - | - nfc_compatible: | + | - tags |
| + | - is_valid | ||
| + | - document_provider | ||
| + | - enrollment_steps | ||
| + | |||
| + | |||
| + | ## EnrollmentStatusCode | ||
| + | - id | ||
| + | - code | ||
| + | - message | ||
| + | - step | ||
| + | - external_method_step | ||
| + | - enrollment | ||
| + | - validation | ||
| + | - document | ||
| + | - pk: _empty | ||
| ## ErrorCodeException | ## ErrorCodeException | ||
| Ligne 458: | Ligne 818: | ||
| - status_code: | - status_code: | ||
| - | ## PersonalDetails | ||
| ## IdentityDocument | ## IdentityDocument | ||
| - | - definition: list[dict[str | IdentityDocumentPart]] | + | - definition |
| - | - type: MRZDocumentType | + | - type |
| - | - name: str | + | - name |
| - | - line_size: int | + | - line_size |
| - | - nb_line: int | + | - nb_line |
| - | ## EnrollmentStatusCode | + | ## IdentityExtractedDataExtra |
| - | ## DocumentWrapper | + | - id_number |
| - | - document: Document | + | - issuing_date |
| - | - name: str | + | - expiration_date |
| - | - iteration: int | None | + | - issuing_country |
| - | - mode: DocumentWrapperModeEnum | + | - issuer |
| - | - engine: EngineTypes | + | - address |
| - | - type: list[DocumentTypeEnum] | + | - dmx_id_number |
| - | - content: dict | null | + | - dmx_signature_status |
| - | - input_documents: | + | - mrz_line_1 |
| - | - is_internal: | + | - mrz_line_2 |
| - | - step_step_documents: | + | - mrz_line_3 |
| - | - ignore_validation: | + | - nfc_compatible |
| - | - tags: list[object] | + | |
| - | - is_valid: bool | null | + | |
| - | - document_provider: | + | ## PersonalDetails |
| - | - enrollment_steps: | + | - id |
| + | - name | ||
| + | - birth_name | ||
| + | - first_name | ||
| + | - first_names | ||
| + | |||
| + | - address | ||
| + | - zip_code | ||
| + | - city | ||
| + | - country | ||
| + | - phone_number | ||
| + | - birth_date | ||
| + | - gender | ||
| + | - birth_place | ||
| + | - birth_country | ||
| + | - nationality | ||
| + | - identity_valid | ||
| + | - enrollment | ||
| + | - pk: _empty | ||
| # Exemple | # Exemple | ||
| Ligne 577: | Ligne 954: | ||
| ``` | ``` | ||
| + | </ | ||