--- tags: arithmetic-integration,temp,secondary_contract title: Оформление займов/предложений повторным клиентам --- # Оформление займов/предложений повторным клиентам ## 1. ЛКК ---> БПР #### Операция: запрос лимитов #### Данные: * персональные данные клиента #### :arrow_forward: Выполнение: * обычный подбор лимитов (это уже реализовано!) --- ## 2. БПР ---> ЛКК (ответ на [п.1](#1-ЛКК-—gt-БПР)) #### Данные: * список лимитов: * суммы, * сроки, * акция * настройки акции --- ## 3. ЛКК ---> РБО #### Операция: начать оформление договора #### Данные: * (телефон И др) ИЛИ (серия+номер И др) * населённый пункт (идентификатор, можно получить через операцию [Получение списка регионов](/Rssiwh6CSr6QXB4JekBuuA)) * кредитная акция * настройки кредитной акции (схема начисления и т.д.) * сумма * срок * банковская карта (13 цифр = Арифметика, 16 цифр = PAN банковских карт) :::info :::spoiler API #### Headers: * **Mq-Jrb-Exchange**: PersonalAccount * **Mq-Jrb-Routing-key**: contract-reg-process-==base_source== * **Mq-Jrb-Operation**: CreateContractRepeatCustomer * **Mq-Jrb-Object**: ==phone== #### Body: ```json { "phone": "9999999999", "passport_series": "1234", "passport_number": "123456", "birthdate": "yyyy-MM-dd", "city_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "offer_id": "offer_id", "settings": {...}, "sum": 99999, "type_period": "Year"/"Month"/"Day", "period": 99, "card_num": "1234567890123456" } ``` ::: #### :arrow_forward: Выполнение: 1. определяем магазин ЛКК по переданному коду региона 2. делаем запрос в БПР за лимитами по (телефон И др) ИЛИ (серия+номер И др), получаем: * лимиты (сверяем их с запрошенными суммами и сроками) * полные данные о текущем паспорте клиента (дата выдачи, кем выдан и т.д., а, может, есть ссылка?) * ФИО, пол, место рождения и т.д. 3. делаем запрос в БПР за старыми ответами на вопросы клиента: * адрес регистрации * доход * <прочие вопросы для скоринга в БКИ> 4. получаем код ЛК НКО 5. создаём договор на основании полученных данных 6. отправляем запрос в БПР на подбор страховых продуктов --- ## 4. РБО ---> БПР (внутренний запрос) #### Операция: проверка договора (+подбор сертификатов) #### Данные: * все данные по договору, чтобы создать его на стороне БПР #### :arrow_forward: Выполнение: 1. создание и заполнение договора в БПР 2. базовые проверки корректности данных в договоре (проверка перс. данных клиента: списки, лимиты, мораторий; проверка некоторых ответов на вопросы, которые потребуются для отправки в БКИ) 3. подбор сертификатов (страховых продуктов) --- ## 5. БПР ---> РБО (обработка ответа на [п.4](#4-РБО-—gt-БПР-внутренний-запрос)) #### Операция: после получения сертификатов #### Данные: * подобранные сертификаты #### :arrow_forward: Выполнение: 1. прикрепление сертификатов к договору 2. обновление состояния договора (смена статуса, модификация сумм, обновление графика) 3. получение пакета 1 печатных форм перед скорингом (пакет номер 1: анкета, согласия разного рода и т.д.) 4. генерация файлов документов для ознакомления --- ## 6. РБО ---> ЛКК (ответ на [п.3](#3-ЛКК-—gt-РБО)) #### Данные: * "base_source" (база, где создан договор) * номер договора * пакет документов 1 для подписания (набор файлов) * идентификатор пакета 1 документов :::info :::spoiler API #### Body: ```json { "base_source": "xxxxxxxxxxxx", "contract_num": "А99АААА999999999", "doc_pack": [ { "name": "Наименование печатной формы", "extension": "abc", "data": "<двоичные данные в base64>" }, ... ], "doc_pack_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } ``` ::: --- ## 7. ЛКК ---> РБО #### Операция: запросить код подписания пакета документов #### Данные: * номер договора * идентификатор пакета 1 документов * признак повтора :::info :::spoiler API #### Headers: * **Mq-Jrb-Exchange**: PersonalAccount * **Mq-Jrb-Routing-key**: contract-reg-process-==base_source== * **Mq-Jrb-Operation**: RequestContractPackageSigningCode * **Mq-Jrb-Object**: ==phone==, ==contract_num== #### Body: ```json { "contract_num": "А99АААА999999999", "doc_pack_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "repeat": true/false } ``` ::: #### :arrow_forward: Выполнение: 1. генерация смс для подписания пакета 1 2. отправка смс через веб-сервис в БПР --- ## 8. РБО ---> ЛКК (ответ на [п.7](#7-ЛКК-—gt-РБО)) #### Данные: * ожидаемый код смс для пакета 1 :::info :::spoiler API #### Body: ```json { "doc_pack_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "code": "999999", "time": 999 } ``` ::: --- ## 9. ЛКК ---> РБО #### Операция: продолжить оформление #### Данные: * номер договора * идентификатор пакета 1 документов * код подтверждения для пакета 1 :::info :::spoiler API #### Headers: * **Mq-Jrb-Exchange**: PersonalAccount * **Mq-Jrb-Routing-key**: contract-reg-process-==base_source== * **Mq-Jrb-Operation**: ContinueProcessContractReg * **Mq-Jrb-Object**: ==phone==, ==contract_num== #### Body: ```json { "contract_num": "А99АААА999999999", "doc_pack_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "code": "999999" } ``` ::: #### :arrow_forward: Выполнение: 1. проверка кода подтверждения пакета 1 2. подписание пакета 1 документов 3. отправка договора на скоринг в БПР --- ## 10. РБО ---> БПР (внутрений запрос) #### Операция: выполнить скоринг договора #### Данные: * договор (ссылка?) #### Выполнение: 1. внутренний скоринг 2. скоринг в БКИ 3. если для акции выставлено автосогласование, то договор получает статус "Согласован" --- ## 11. БПР ---> РБО (обработка ответа на [п.10](#10-РБО-—gt-БПР-внутрений-запрос)) #### Операция: после скоринга договора #### Данные: * договор с результатами скоринга #### :arrow_forward: Выполнение: 1. обновление состояния договора ("Согласован" или "Результат скоринга: Одобрено") 2. получение пакета 2 печатных форм перед подписанием (пакет номер 2: договор, сертификаты и т.д.) 3. генерация файлов документов для ознакомления 4. генерация смс для подписания пакета 2 --- ## 12. РБО ---> ЛКК (ответ на [п.9](#9-ЛКК-—gt-РБО)) :::warning :warning: Полностью повторяет [п.6](#6-РБО-—gt-ЛКК-ответ-на-п3), но с пакетом 2 документов ::: :::warning :warning: Если система определяет, что это последний пакет документов для подписания, то в тело ответа будет помещено поле ==`"need_card": true`==, наличие которого указывает, что у клиента нужно будет запросить номер карты для зачисления средств ::: --- ## 13. ЛКК ---> РБО #### Операция: запросить код подписания пакета документов :::warning :warning: Полностью повторяет [п.7](#7-ЛКК-—gt-РБО), но с пакетом 2 документов ::: --- ## 14. РБО ---> ЛКК (ответ на [п.13](#13-ЛКК-—gt-РБО)) :::warning :warning: Полностью повторяет [п.8](#8-ЛКК-—gt-РБО), но с пакетом 2 документов ::: --- ## 15. ЛКК ---> РБО #### Операция: продолжить оформление :::warning :warning: Входные данные и API полностью повторяют [п.9](#9-ЛКК-—gt-РБО), но с пакетом 2 документов. А вот выполнение другое, оно зависит от текущего состояния договора на стороне Рассрочки ::: #### :arrow_forward: Выполнение: 1. проверка кода подтверждения пакета 2 2. подписание пакета 2 документов 3. подписание и выдача договора (сопутствующие проверки лимитов и т.д.) 4. отправка запроса через НКО на перечисление средств 5. отправка договора в БПР на смену статуса (в параллельном потоке) --- ## 16. РБО ---> ЛКК (ответ на [п.15](#15-ЛКК-—gt-РБО)) #### Данные: * "base_source" (база, где создан договор) * номер договора :::info :::spoiler API #### Body: ```json { "base_source": "xxxxxxxxxxxx", "contract_num": "А99АААА999999999" } ``` ::: ---