Перейти к основному содержимому

Создание клиента (физ. лицо), инициализация заявки, добавление кредитного продукта в заявку и создание заявки

Цель: Прочитав эту статью, сторонний разработчик, должен без каких-либо проблем написать код, способный создать клиента (физ. лицо), инициализировать заявку на займ, добавить в инициализированную заявку кредитный продукт и создать заявку на займ.

Этот бизнес сценарий нужно использовать тогда, когда:

нужен наглядный пример, описывающий создание клиента (физ. лицо), создание заявки на займ с кредитным продуктом "Тариф Базовый".

Выбирается кредитный продукт "Тариф Базовый" для того, чтобы избежать возникновения ошибок при создании заявки и отправления её через лид на проверку.

Ожидаемый результат: Объект клиента (физ. лицо), заявки в системе "Brainysoft" и лида, созданного системой автоматом при создании заявки. Успешные проверки по лиду через систему принятия решений.

В этом бизнес сценарии для создания клиента (физ. лицо), будут использованы только системно обязательные поля:

Описание бизнес сценария в BPMN:

Для достижения цели потребуется вызвать 4 метода апи.

  1. Сигнатура метода

Общее описание по работе с методом веб-сервиса ядра описано с статье "Нюансы при работе с API" в разделе "Метод".

POST /main/clients

Тело запроса

ЭлементОбязательностьТип данныхОписание
firstNameMstring[50]Имя
lastNameMstring[50]Фамилия
birthDateM[date]Дата рождения в формате YYYY-MM-DD например 2014-12-01
mobilePhoneM[string][50]Номер мобильного телефона. Указываются только цифры в международном формате 797762007777. Значение этого поля отображается в интерфейсе для этого примера как +7 (977) 620 07 77.
sexIdM[int][20]Id Пола. Возможные значения смотрите [здесь](https://docs.brainysoft.ru/documentation/page/794).
managerIdM[int][20]Специалист по займам. Значение для этого поля берется из справочника "[Специалисты по займам](http://docs.brainysoft.ru/documentation/page/79)".
passportM[object]Паспорт
passport.noM[string][25]Номер паспорта
passport.issueDateM[date]Дата выдачи паспорта в формате YYYY-MM-DD например 2012-01-23
bureauConsentM[bool]Флаг согласия на передачу данных в кред.бюро. Является условно обязательным полем. По умолчанию принимает значение true. Если поле не передается или передается со значением true, то обязательно нужно передавать поле bureauConsentDate.
bureauConsentDateM[date]Дата согласия на передачу данных в кред.бюро в формате YYYY-MM-DD например 2019-04-30. Является условно обязательным (см. описание поля bureauConsent).
personalDataConsentM[bool]Флаг согласия на обработку персональных данных. Является условно обязательным полем. По умолчанию принимает значение true. Если поле не передается или передается со значением true, то обязательно нужно передавать поле personalDataConsentDate.
personalDataConsentDateM[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 можно посмотреть и скопировать здесь.