Метод создания клиента, заявки, контракта, а также ДДС с процессом Выдача по переданным агрегированным данным.
POST   /bs-core/main/loans/creation
Данный метод создаёт в BI объекты клиент, заявка, контракт, график и счёт клиента, который отражает выдачу денежных средств и добавляет новые записи в справочник.
В этом методе используется канал поступления LOAN_APPLICATION. Для корректной работы этого метода нужно, чтобы схема СПР для канала поступления LOAN_APPLICATION была сквозной. Например одно выражение, которое всегда выполнится (2 > 1). Это нужно для того, чтобы при сохранении заявки и автоматическом создании лида запускалась эта СПР, выполнялась успешно и проставляла статус заявки «К выдаче». После того как заявка принимает этот статус, может создаваться контракт. Сейчас в коде метод может ожидать какое-то времени пока заявка не примет этот статус. Но если по СПР выполняются шлюзовые проверки и/или ручные верификации, то соответственно автоматическое создание контракта становится невозможным в текущем виде и соответственно будет возвращаться ошибка что статус заявки не тот который должен быть (WRONG_LOAN_APP_STATUS_FOR_CONTRACT_CREATION_ERROR). Также в «Канале поступления» не должна стоять птичка «Автоматическое создание контракта», иначе будет возвращена ошибка «CHANNEL_SCHEMA_MUST_BE_WITHOUT_AUTO_CONTRACT_CREATION_ERROR».
Настройку СПР и канала поступления смотрите вот по этой ссылке https://connect.brainysoft.ru/documentation/article/270.
Описание бизнес правил для этого метода Вы найдте по ссылке https://connect.brainysoft.ru/documentation/article/265.
Описание возможных ошибок смотрите вот по этой ссылке https://connect.brainysoft.ru/documentation/article/266.
Запрос
1. POST /bs-core/main/loans/creation
{
"borrower": {
"guid": "111112",
"lastName": "Краморов",
"firstName": "Савелий",
"mobilePhone": "79253334443",
"email": "fsdfsd@fd.com"
},
"loan": {
"name": "224zz123",
"loanAmount": 50000,
"creditProductId": 101335,
"trancheDuration": null,
"tranchesQty": null,
"interestRate": null,
"delinquencyIntRate": null,
"barcode": 545454648794354687487,
"merchantCommissionRate": 1.5,
"fees": [
{
"amountTypeId": 101293,
"chargeMomentId": 101032,
"valueTypeId": 102522,
"chargeBaseId": 102532,
"value": 0.3,
"chargePenalty": false,
"notForCharge": false,
"notForRepayment": false,
"involvedInFullCostCalc": true
}
]
},
"schedule": {
"tranches": [
{
"repaymentDate": "2018-07-19",
"principal": 50000,
"interest": 6500
}
]
},
"outlet": {
"id": null,
"name": "Магазин 'Спорттовары'",
"shopAgentNo": null,
"shopAddress": null
},
"contractor": {
"id": null,
"name": "СпортТайм",
"nip": null
},
"merchant": {
"id": null,
"name": "Продавец"
},
"consultant": {
"id": null,
"name": "Консультант Выхин"
}
}
2. POST /bs-core/main/loans/creation
{
"borrower": {
"guid": "7897117",
"lastName": "pol12",
"firstName": "pol12",
"mobilePhone": null,
"email": null
},
"loan": {
"name": "cont14",
"loanAmount": 16000,
"creditProductId": 101339,
"trancheDuration": null,
"tranchesQty": null,
"interestRate": null,
"delinquencyIntRate": null,
"barcode": 545454648794354687487,
"merchantCommissionRate": 0,
"fees": [
{
"amountTypeId": 101293,
"chargeMomentId": 101032,
"valueTypeId": 102522,
"chargeBaseId": 102532,
"value": 0.3,
"chargePenalty": false,
"notForCharge": false,
"notForRepayment": false,
"involvedInFullCostCalc": true
}
]
},
"intFreeSchedule": {
"tranches": [
{
"repaymentDate": "2019-08-26",
"principal": 16000,
"interest": 0
}
]
},
"schedule":
{
"tranches": [
{
"repaymentDate": "2019-08-26",
"principal": 4000,
"interest": 0
},
{
"repaymentDate": "2019-09-26",
"principal": 4000,
"interest": 0
},
{
"repaymentDate": "2019-10-26",
"principal": 4000,
"interest": 0
},
{
"repaymentDate": "2019-11-26",
"principal": 4000,
"interest": 0
}
]
},
"outlet": {
"id": 10,
"name": "ГлавСпорт",
"shopAgentNo": null,
"shopAddress": null
},
"contractor": {
"id": 23,
"name": "Новьёё",
"nip": null
},
"merchant": {
"id": 10,
"name": "ГлавПродавец ноль"
},
"consultant": {
"id": 19,
"name": "Консультант Выхин 666"
}
}
Описание параметров
Параметр | Обязателен | Тип данных | Описание |
borrower | R | [object] | Заёмщик |
borrower.guid | М | [string] | GUID клиента (заёмщика) |
borrower.lastName | М | [string][50] | Фамилия клиента (заёмщика) |
borrower.firstName | М | [string][50] | Имя клиента (заёмщика) |
borrower.mobilePhone | М | [string][50] | Номер мобильного телефона |
borrower.email | М | [string][100] | Адрес электронной почты |
loan | R | [object] | Займ (контракт) |
loan.name | М | [string][50] | GUID займа (контракта) |
loan.loanAmount | М | [float] | Сумма займа |
loan.creditProductId | М | [int][20] | |
loan.trancheDuration | О | [int][11] | Количество дней между погашениями. В случае если для полей объекта loan не указано поле trancheDuration (либо в нём передано значение null) - то это поле заполняется значением из кредитного продукта. |
loan.tranchesQty | О | [int][11] | Количество траншей. В случае если для полей объекта loan не указано поле tranchesQty (либо в нём передано значение null) - то это поле заполняется значением из кредитного продукта. |
loan.interestRate | О | [float] | Процентная ставка. В случае если для полей объекта loan не указано поле interestRate (либо в нём передано значение null) - то это поле заполняется значением из кредитного продукта. |
loan.delinquencyIntRate | О | [float] | Процентная ставка при просрочке. В случае если для полей объекта loan не указано поле delinquencyIntRate (либо в нём передано значение null) - то это поле заполняется значением из кредитного продукта. |
loan.barcode | М | [string][50] | Баркод (штрих код) |
loan.merchantCommissionRate | М | [float] | Комиссия продавца |
loan.fees | О | [collection] | Дополнительное обслуживание. Если в качестве этой коллекции передано null, то все сборы возьмутся из кред.продукта (если они там есть). |
loan.fees._.amountTypeId | R | [int][20] | Идентификатор вида суммы. Это поле является условно обязательным. Если передается коллекция fees, то тогда этот параметр является обязательным. |
loan.fees._.chargeMomentId | R | [int][20] | Идентификатор момента начисления сбора. Это поле является условно обязательным. Если передается коллекция fees, то тогда этот параметр является обязательным. |
loan.fees._.valueTypeId | R | [int][20] | Идентификатор вида сбора:
Это поле является условно обязательным. Если передается коллекция fees, то тогда этот параметр является обязательным. |
loan.fees._.chargeBaseId | R | [int][20] | База начисления: 102531 - Выданная сумма Это поле является условно обязательным. Если передается коллекция fees, то тогда этот параметр является обязательным. |
loan.fees._.value | R | [float] | Значение |
loan.fees._.chargePenalty | О | [bool] | Штраф за просрочку. Это поле не обязательно. Его значение по умолчанию равно false. |
loan.fees._.notForCharge | О | [bool] | Не начислять. Это поле не обязательно. Его значение по умолчанию равно false. |
loan.fees._.notForRepayment | О | [bool] | Не погашать. Это поле не обязательно. Его значение по умолчанию равно false. |
loan.fees._.involvedInFullCostCalc | О | [bool] | Участвует в расчёте ПСК. Это поле не обязательно. Его значение по умолчанию равно true. |
schedule | R | [object] | Плановый график |
schedule.tranches | М | [collection] | Траншы |
schedule.tranches._.repaymentDate | R | [string] | Дата погашения периода в формате YYYY-MM-DD |
schedule.tranches._.principal | R | [float] | Основная сумма |
schedule.tranches._.interest | R | [float] | Проценты |
outlet | R | [object] | |
outlet.id | О | [int][20] | Идентификатор магазина. В случае если не указан id - создаются новые элементы справочника с указанным в параметре "name" наименованием. |
outlet.name | М | [string][250] | |
outlet.shopAgentNo | О | [string][100] | |
outlet.shopAddress | О | [string][1024] | |
contractor | R | [object] | |
contractor.id | О | [int][20] | Идентификатор подрядчика. В случае если не указан id - создаются новые элементы справочника с указанным в параметре "name" наименованием. |
contractor.name | М | [string][250] | |
contractor.nip | О | [string][100] | |
merchant | R | [object] | |
merchant.id | О | [int][20] | Идентификатор элемента справочника "Продавцы". В случае если не указан id - создаются новые элементы справочника с указанным в параметре "name" наименованием. |
merchant.name | М | [string][250] | |
consultant | R | [object] | |
consultant.id | О | [int][20] | Идентификатор элемента справочника "Консультанты" (Consultant). В случае если не указан id - создаются новые элементы справочника с указанным в параметре "name" наименованием. |
consultant.name | М | [string][250] |
Ответ
{
"status": "ok",
"timestamp": 1531221984159,
"data": 1
}
Описание параметров
Параметр | Обязателен | Тип данных | Описание |
data | О | [int][20] | Идентификатор созданного контракта |