Создание клиента (физ. лицо), инициализация заявки, добавление кредитного продукта в заявку и создание заявки
Цель: Прочитав эту статью, сторонний разработчик, должен без каких-либо проблем написать код, способный создать клиента (физ. лицо), инициализировать заявку на займ, добавить в инициализированную заявку кредитный продукт и создать заявку на займ.
Этот бизнес сценарий нужно использовать тогда, когда:
нужен наглядный пример, описывающий создание клиента (физ. лицо), создание заявки на займ с кредитным продуктом "Тариф Базовый".
Выбирается кредитный продукт "Тариф Базовый" для того, чтобы избежать возникновения ошибок при создании заявки и отправления её через лид на проверку.
Ожидаемый результат: Объект клиента (физ. лицо), заявки в системе "Brainysoft" и лида, созданного системой автоматом при создании заявки. Успешные проверки по лиду через систему принятия решений.
В этом бизнес сценарии для создания клиента (физ. лицо), будут использованы только системно обязательные поля:
Описание бизнес сценария в BPMN:
Для достижения цели потребуется вызвать 4 метода апи.
- Сигнатура метода
Общее описание по работе с методом веб-сервиса ядра описано с статье "Нюансы при работе с API" в разделе "Метод".
POST /main/clients
Тело запроса
Элемент | Обязательность | Тип данных | Описание |
firstName | M | string[50] | Имя |
lastName | M | string[50] | Фамилия |
birthDate | M | [date] | Дата рождения в формате YYYY-MM-DD например 2014-12-01 |
mobilePhone | M | [string][50] | Номер мобильного телефона. Указываются только цифры в международном формате 797762007777. Значение этого поля отображается в интерфейсе для этого примера как +7 (977) 620 07 77. |
sexId | M | [int][20] | Id Пола. Возможные значения смотрите [здесь](https://docs.brainysoft.ru/documentation/page/794). |
managerId | M | [int][20] | Специалист по займам. Значение для этого поля берется из справочника "[Специалисты по займам](http://docs.brainysoft.ru/documentation/page/79)". |
passport | M | [object] | Паспорт |
passport.no | M | [string][25] | Номер паспорта |
passport.issueDate | M | [date] | Дата выдачи паспорта в формате YYYY-MM-DD например 2012-01-23 |
bureauConsent | M | [bool] | Флаг согласия на передачу данных в кред.бюро. Является условно обязательным полем. По умолчанию принимает значение true. Если поле не передается или передается со значением true, то обязательно нужно передавать поле bureauConsentDate. |
bureauConsentDate | M | [date] | Дата согласия на передачу данных в кред.бюро в формате YYYY-MM-DD например 2019-04-30. Является условно обязательным (см. описание поля bureauConsent). |
personalDataConsent | M | [bool] | Флаг согласия на обработку персональных данных. Является условно обязательным полем. По умолчанию принимает значение true. Если поле не передается или передается со значением true, то обязательно нужно передавать поле personalDataConsentDate. |
personalDataConsentDate | M | [date] | Дата согласия на обработку персональных данных в формате YYYY-MM-DD например 2019-04-30. Является условно обязательным (см. описание поля personalDataConsent). |
Примечание: Это минимальный набор полей необходимых для создания физ. лица. Если возникнут ошибки, то возможно следует отключить обязательность полей в редакторе моделей (Админ --> Редактор моделей --> Физическое лицо). Также ошибки могут возникать по причине ранее созданного клиента.
Ошибки:
- NO_PASSPORT_ERROR - не указаны паспортные данные
- NO_ADDRESS_ERROR - не указан фактический адрес
- NO_REGISTRATION_ADDRESS_ERROR - не указан адрес прописки
- NO_MANAGER_ERROR - не указан идентификатор специалиста по займам
- NO_BUREAU_CONSENT_DATE_ERROR - не указана дата согласия на передачу данных в кред.бюро
- METADATA__EMPTY_REQUIRED_FIELD - не указано обязательное поле (birthDate, firstName, lastName, mobilePhone, passport.issueDate, passport.no, sexId)
Пример запроса:
POST /main/clients
{
"firstName": "Фридрих",
"lastName": "Эберт",
"birthDate": "1982-12-20",
"mobilePhone": "797762007719",
"sexId": 101251,
"managerId": 101088,
"passport": {
"no": "07825730",
"issueDate": "2012-01-23"
},
"addressData": {},
"registrationAddressData": {},
"bureauConsent": true,
"bureauConsentDate": "2019-04-30",
"personalDataConsent": true,
"personalDataConsentDate": "2019-04-30"
}
Результат вызова метода 1:
Общее описание структуры возвращаемого объекта описано с статье "Нюансы при работе с API" в разделе "Метод".
Элемент | Описание |
data | Объект физ. лица в JSON-структуре (пример см. здесь) |
Пример ответа:
{
"status": "ok",
"timestamp": 1557243475287,
"data": {
"id": 10132556,
"firstName": "Фридрих",
"lastName": "Эберт",
"patronymic": "",
"sexId": 101251,
"birthDate": "1982-12-20",
"birthPlace": "",
"birthCountryId": null,
"educationId": null,
"highSchool": "",
"... other fields": ".....",
"localityName": "",
"streetName": "",
"oldAddressText": ""
},
"businessAddressData": {},
"addresses": {}
}
Примеры кода ( 1-й метод ):
Пример кода на PHP можно посмотреть и скопировать здесь.