Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. issued_at, issued_by is mandatory for documents
  2. Validate dates
    1. issued_at <= now() and issued_at => birth_date
      1.  in case `issued_at > now()` show error 422, "Document issued date should be in the past"
      2.  in case `issued_at < person.birth_date` show error 422, "Document issued date should greater than person.birth_date "
    2. expiration_date > now()
      1.  in case error show 422, "Document expiration_date should be in future"
      2. expiration_date is mandatory for document_type
        • NATIONAL_ID
        • COMPLEMENTARY_PROTECTION_CERTIFICATE
        • PERMANENT_RESIDENCE_PERMIT
        • REFUGEE_CERTIFICATE
        • TEMPORARY_CERTIFICATE
        • TEMPORARY_PASSPORT
      3. in case error return 422, "expiration_date is mandatory for document_type $.documents.type"
  3. Validate documents_type.number according to json schema 
    1. PASSPORT - `^((?![ЫЪЭЁ])([А-ЯҐЇІЄ])){2}[0-9]{6}$`
    2. NATIONAL_ID - `^[0-9]{9}$`
    3. BIRTH_CERTIFICATE - `` ^(?![ыъэ@%&$^#`~:,.*|}{?!])[А-ЯҐЇІЄа-яґїіє0-9 №\\\"()-]+$ ``
    4. COMPLEMENTARY_PROTECTION_CERTIFICATE - `^((?![ЫЪЭЁ])([А-ЯҐЇІЄ])){2}[0-9]{6}$`
    5. PERMANENT_RESIDENCE_PERMIT - `^((?![ЫЪЭЁ])([А-ЯҐЇІЄ])){2}[0-9]{6}$`
    6. REFUGEE_CERTIFICATE - `^((?![ЫЪЭЁ])([А-ЯҐЇІЄ])){2}[0-9]{6}$`
    7. TEMPORARY_CERTIFICATE - `^((?![ЫЪЭЁ])([А-ЯҐЇІЄ])){2}[0-9]{6}$`
    8. TEMPORARY_PASSPORT - `` ^(?![ыъэ@%&$^#`~:,.*|}{?!])[А-ЯҐЇІЄа-яґїіє0-9 №\\\"()-]+$ `
  4. if `unzr`exists and is not null and matches "^[0-9]{8}-[0-9]{5}$" check if first 8 symbols = birth_date
    1. in case error return 422, msg "unzr or birthdate are not correct"
  5. if documents.type=NATIONAL_ID

    1. check if unzr exists in request, in case error return 422, msg "unzr is mandatory for document type NATIONAL_ID"

  6. Document numbersmaxLength < 25 

Determine

...

Invoke Gandalf to obtain auth method according to internal rules:

...

languagejs
titlecURL example

...

auth

...

method

...

Set IL.declaration_request.authentication_method_current:

Code Block
languagejs
themeMidnight
titleUpdate auth method
{
  "authentication_method": GandalfResponse.$.data.final_decision,
  "authentication_number": DeclarationRequest.$.declaration_request.person.authentication_methods.[0].number
}

Determine preferable auth method for existing MPI

Set IL.declaration_request.authentication_method_current:

...

languagejs
themeMidnight
titleUpdate auth method

...

Determine Channel

  1. channel from url
    1. if url is for cabinet сhannel set declaration_request.сhannel = CABINET
      1. if not - set declaration_request.сhannel = MIS

...