---
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"
}
```
:::
---