Skip to content

Создание клиента (физ.лицо) и заявки из лида автоматом

Цель: создать лид, запустить проверку по лиду, создать автоматом клиента и заявку.

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

  • быстро создать рабочий пример в системе?
  • ускорить ознакомление с системой?
  • создать заявку, которую можно обработать, одобрить и следующим шагом выдать кредит?

Тогда этот сценарий именно тот, который нужно взять на вооружение.

Ожидаемый результат: созданная заявка.

При успешном прохождении проверки клиент и заявка создаются автоматически.

В интерфейсе результат может выглядеть следующим образом:

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

Описание бизнес сценария в BPMN: для этого сценария смотрите цифру 1 и 2

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

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

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

http
POST /main/leads

Параметры пути:

нет

Параметры запроса:

нет

Тело запроса

В теле запроса передается объект следующей структуры:

ЭлементОбязательностьТип данныхОписание
firstNameMstring[50] Имя. Если передать ФИО, то оно будет сохранено. В этом случае в дальнейшем возможны проблемы, если будут добавляться фамилия и отчество.
mobilePhoneMstring[50] Номер мобильного телефона. Указываются только цифры в международном формате 797762007777. Значение этого поля добавляется в лид как +7 (977) 620 07 77.
lastNameMstring[50] Фамилия. В этом поле можно также передать любое строковое значение длиной в 50 символов. Но это не рекомендуется делать.
birthDateMdateДата рождения в формате YYYY-MM-DD
sexIdМint[20] Id Пола. Возможные значения смотрите [здесь](https://docs.brainysoft.ru/documentation/page/794).
passportMobjectПаспорт
passport.issueDateMdateДата выдачи паспорта в формате YYYY-MM-DD
passport.noMstring[25]Номер паспорта
addressDataMobjectАдрес проживания
registrationAddressDataMobjectАдрес прописки
amountMfloatСумма займа
managerIdMint[20] Специалист по займам. Значение для этого поля берется из справочника "[Специалисты по займам](http://docs.brainysoft.ru/documentation/page/79)". Если не передавать это поле, то за основу берется значение у специалиста по займам, у которого стоит галочка "Использовать при автоматическом создании клиента". Также следует обратить внимание на то, что передавая поле подразделение "subdivisionId", в поле managerId будет проставляться значение специалиста по займам этого подразделения. Например передаем "subdivisionId":101798, то clientId примет значение 101091, специалиста по займам этого подразделения.
subdivisionIdOint[20] [Идентификатор подразделения](http://docs.brainysoft.ru/page/223). Смотрите также описание параметра "managerId".
periodM[int][11] Период займа. Это поле является условно обязательным для успешного прохождения этого бизнес-сценария.

Примечание: для успешного отрабатывания 1 метода в теле запроса необходимо передавать только 2 свойства (firstName и mobilePhone).

Все остальные свойства, помеченные обязательными или условно обязательными, являются таковыми для успешного отрабатывания 2 метода.

Ошибки:

  • NO_CLIENT_FIRST_NAME_ERROR - не указано имя клиента
  • NO_MOBILE_PHONE_ERROR - не указан номер телефона

Пример запроса:

http
POST /main/leads
json
{
  "firstName": "Фридрих",
  "mobilePhone": "797762007719",
  "lastName": "Эберт",
  "birthDate": "1982-12-20",
  "sexId": 101251,
  "passport": {
    "issueDate": "2012-01-23",
    "no": "782573"
  },
  "addressData": {},
  "registrationAddressData": {},
  "amount": 99,
  "subdivisionId": 101798,
  "period": 30
}

Результат вызова метода 1

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

Элемент Описание
data Идентификатор созданного лида.

Пример ответа:

json
{
  "status": "ok",
  "timestamp": 1551033140167,
  "data": 1400
}

Примеры кода ( 1-й метод ):

php
$requestBody = '{
"firstName": "Фридрих",
"mobilePhone": "797762007719",
"lastName": "Эберт",
"birthDate": "1982-12-20",
"sexId": 101251,
"passport": {
"issueDate": "2012-01-23",
"no": "782573"
},
"addressData": { },
"registrationAddressData": { },
"amount": 99,
"subdivisionId": 101798,
"period":30
}';

curl_setopt_array($curl_newLead, array(
CURLOPT_PORT => "9025",
CURLOPT_URL => "https://{customer}-saas.brainysoft.ru/bs-core/main/leads/",
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $requestBody
));

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

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

http
POST /main/leads/{leadId}/check

Параметры пути:

Параметр Обязательность Тип данных Описание
leadId M int Идентификатор лида созданного вызовом верхнего метода.

Параметры запроса:

нет

Тело запроса

нет

Ошибки:

  • NO_CLIENT_NAME_ERROR - не указана фамилия клиента
  • NO_BIRTH_DATE_ERROR - не указана дата рождения
  • NO_SEX_ERROR не указан пол
  • NO_PASSPORT_ERROR - не указан номер паспорта
  • NO_PASSPORT_ISSUE_DATE_ERROR - не указана дата выдачи паспорта
  • NO_ADDRESS_ERROR - не указан адрес
  • NO_REGISTRATION_ADDRESS_ERROR - не указан адрес регистрации
  • NO_LOAN_AMOUNT_ERROR - не указана сумма займа
  • LOAN_AMOUNT_LESS_THAN_MIN_LOAN_AMOUNT_ERROR - Запрашиваемая в заявке сумма займа должна быть больше, чем минимальная сумма согласно заявленному в кредитном продукте
  • PERIOD_LESS_THAN_MIN_PERIOD_ERROR - Период, указанных в заявке должен быть больше, чем минимальный период в кредитном продукте.

Пример запроса:

http
POST /main/leads/1400/check

Результат вызова метода 2

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

Элемент Описание
data Пустая строка в валидном формате json.

Пример ответа:

json
{
  "status": "ok",
  "timestamp": 1462953747271,
  "data": ""
}

Примеры кода:

php
$leadId = //идентификатор лида, созданного методом 1
curl_setopt_array($curl, array(
CURLOPT_PORT => "9025",
CURLOPT_URL => "https://{customer}-saas.brainysoft.ru/bs-core/main/leads/$leadId/check",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "",
CURLOPT_HTTPHEADER => array (
"bsauth: $bsauth",
"cache-control: no-cache"
)
));

Пример кода на PHP можно посмотреть и скопировать здесь.