Мета
Цей WS призначений для ініціалізації процесу завантаження документів особи через інформаційну систему особи (PIS).
Ключові положення
Даний метод використовується тільки PIS.
Цей метод повертає список документів, які потрібно завантажити для особи та URL-адрес. Якщо документи не потрібно завантажувати, повертається порожній список.
Персона отримується від користувача, який виконує метод.
Специфікація
Перевірки
Авторизація
Перевірити валідність токену доступу
в разі помилки - повернути 401 (“Invalid access token”)
Перевірити, що токен дійсний
в разі помилки - повернути 401 (“Invalid access token”)
Перевірити скоупи користувача на можливість виконання даної дії (scope = 'person_documents:write')
в разі невалідних скоупів - повернути 403 (“Your scope does not allow to access this resource. Missing allowances: person_documents:write”)
Перевірити персону
Отримати
person_id
з користувачаПеревірити, що персона існує в базі даних mpi та активна (status = ‘active’ та is_active=true)
в разі помилки - повернути 404 ('Person does not exist or is not active')
Сервісна логіка
Отримати список документів особи, які необхідно завантажити в сховище медіаконтенту (для кожного типу документів, якщо спрацювало кілька правил, очікується лише один файл):
Перевірити, що метод Check confidant person relationship повертає true:
відправити
person_id
= person.id таconfidant_person_id
=applicant_person_id
(з токену) в разі якщо метод повертає “ok”:Перевірити на документи з назвою
confidant_person.{confidant_person.id}.documents_relationship.[:].{type}
Перевірити на документи з назвою
confidant_person.{confidant_person.relationship_type}.{person.confidant_person.[:].documents_person.[:].type}
Якщо документ однієї з осіб має тип = ‘BIRTH_CERTIFICATE_FOREIGN’ і відсутні однакові документи в {person.confidant_person.[:].documents_relationship.[:]}
та вік персони < no_self_auth_age значення глобального параметру, то
Перевірити на документи з ім'ям
person.BIRTH_CERTIFICATE_FOREIGN
Якщо документ однієї з осіб має тип = ‘PERMANENT_RESIDENCE_PERMIT’ та persons age >= no_self_auth_age значення глобального параметру, то
Перевірити на документи з назвою
person.PERMANENT_RESIDENCE_PERMIT
якщо автентифікаційний метод персони = ‘OFFLINE’ або ‘THIRD_PERSON’ автентифікаційний метод = ‘OFFLINE’
Перевірити на документи з назвоню
person.{documents.[:].type} or third_person.{third_person.documents.[:].type}
Якщо поле person.unzr не пусте та перші 8 цифр unzr != birth_date персони
Перевірити документи з назвою
person.unzr
якщо вік персони більше за глобальний параметр no_self_registration_age, але менше глобального параметру person_full_legal_capacity_age
та один з документів персони має тип з конфігураційного параметру PIS_PERSON_LEGAL_CAPACITY_DOCUMENT_TYPES, тоОтримати тип документа, що було знайдено
ТА перевірити на документи з назвоюperson.{type}
Перевірте наявність кожного документа в існуючих медіа сховищі для особи:
persons
person_requests
authentication_methods_requests
Згенеруйте підписані URL-адреси для кожного документа, який потрібно завантажити, але не існує в медіа-сховищі особи.
Відобразити відповідь у відповідності до специфікації.