23-01-2019 17:58

Получение контракта по ID

GET   /bs-core/main/contracts/{id}

Метод позволяет получить существующий контракт по его идентификатору.  

Определение текущего статуса контракта: 

  • issueDate is null - контракт не выдан
  • issueDate is not null and closeDate is null - контракт открыт
  • closeDate is not null - контракт закрыт

Запрос

GET /bs-core/main/contracts/10134296 HTTP/1.1
Описание параметров
Нет описанных параметров

Ответ


                        {
    "status": "ok",
    "timestamp": 1548255414171,
    "data": {
        "id": 101342168,
        "name": "002086",
        "creationDate": "2019-01-23",
        "donorId": 101091,
        "branchId": 101306,
        "subdivisionId": 101791,
        "clientId": 101322927,
        "currencyId": 101011,
        "loanAmount": 10088,
        "loanCategoryId": 101144,
        "loanApplicationId": 101133126,
        "loanStage": 1,
        "issuePlanDate": "2019-01-23",
        "firstRepaymentDate": "2019-02-22",
        "repaymentPlanDate": "2019-05-23",
        "comment": "",
        "creditOfficerId": 1010824,
        "documentsReceived": false,
        "forIssue": true,
        "underCourt": false,
        "underCourtDate": null,
        "institutionDate": null,
        "determinationDate": null,
        "underCourtAmount": 0,
        "captive": false,
        "contractAgentId": null,
        "ofertaCode": "",
        "insurancePolicy": "",
        "loadingDate": null,
        "prevProlongationsQty": null,
        "definedIntForepaymentAmount": 0,
        "msfoReserveRate": 0,
        "barcode": null,
        "merchantCommissionRate": 0,
        "creditProductId": 10133178,
        "creditProductName": "21% капитал",
        "creditFieldReq": {
            "id": 101195118,
            "dateCalcMethodId": 101232,
            "allowHolidaysPayment": true,
            "shortTermControl": false,
            "shiftFirstRepaymentDate": false,
            "interestChargeMethodId": 101863,
            "interestCalcMethodId": 101223,
            "repaymentNorm": 0,
            "calcIntOnIssueDate": false,
            "calcInterestOnDelinqBalance": true,
            "calcArrearInterest": false,
            "arrearInterestFirstDay": 0,
            "arrearInterestLastDay": 0,
            "principalDistribMethodId": 101351,
            "forepaymentConsiderationMethodId": 101591,
            "creditLineId": null,
            "trancheDuration": 30,
            "interestForTranche": 1.93,
            "delinquencyIntRate": 0,
            "delinqIntRateDelay": 0,
            "useDelinqIntRateTillNextTranche": true,
            "keepUsingDelinqIntRate": false,
            "interestRateTypeId": 101123,
            "chargeExtraInterest": true,
            "interestLgotPeriod": 0,
            "interestLgotRate": 0,
            "interestGracePeriod": 0,
            "trancheCount": 4,
            "repaymentSequenceId": 101204,
            "mandatoryChargePeriod": 30,
            "allowPrepayment": true,
            "prolongationPeriod": 20,
            "earlyProlongationFromCurrentDate": true,
            "prolongationOnNewSchedule": false,
            "prolongedIntToLastTranche": true,
            "penaltyTypeId": 101272,
            "calendarDaysPenalty": true,
            "firstWeekendWithoutPenalty": false,
            "stopPenaltyOnClose": false,
            "qtyDaysStopPenaltyOnClose": 0,
            "fixedDelayPenalty": 1000,
            "delayPenaltyDay": 10,
            "inviteAmountPct": 0,
            "inviteDiscountPerFriend": 0,
            "inviteMinIntRate": 0,
            "scheduleRecalcEnabled": false,
            "fullScheduleDatesRecalc": false,
            "useDelinqIntRateForPsk": false,
            "discountingEnabled": true,
            "useEirForDiscounting": false,
            "fees": [],
            "principalParts": [
                {
                    "id": 101617612,
                    "trancheNo": 1,
                    "part": 25
                },
                {
                    "id": 101617613,
                    "trancheNo": 2,
                    "part": 25
                },
                {
                    "id": 101617614,
                    "trancheNo": 3,
                    "part": 25
                },
                {
                    "id": 101617615,
                    "trancheNo": 4,
                    "part": 25
                }
            ],
            "penaltyRates": [
                {
                    "id": 101622766,
                    "periodBegin": 1,
                    "periodEnd": 50,
                    "principalRate": 4,
                    "interestRate": 0,
                    "feeRate": 0,
                    "keyRateCB": null,
                    "keyRateCBTypeId": null
                }
            ],
            "qtyTranchesFirstPeriod": 0,
            "intRateFirstPeriod": 0,
            "qtyTranchesSecondPeriod": 0,
            "intRateSecondPeriod": 0,
            "qtyTranchesRepNormSecondPeriod": 0,
            "interestOnLoanAmount": false
        },
        "contractCollectorId": null,
        "repaymentNorm": 0,
        "additional": false,
        "joinFee": 0,
        "fixedJoinFee": 0,
        "insuranceFee": 0,
        "fixedInsuranceFee": 0,
        "estimateFee": 0,
        "fixedEstimateFee": 0,
        "insurance": false,
        "insurancePremiumRate": 0,
        "insurancePremiumAmount": 0,
        "contractTypeId": 101911,
        "issueDate": 1548190800000,
        "fullCostOfCredit": 704.448,
        "eirForInvestor": 704.45,
        "marketRate": 0,
        "closeDate": null,
        "closedStatusId": null,
        "dropOutDate": null,
        "clientGroupId": null,
        "groupConventionId": null,
        "restructedContractId": null,
        "prolonged": false,
        "createUserId": 1082,
        "createSubdivisionId": 101791,
        "contactDocId": null,
        "contactNewOutgoingDate": null,
        "contactTrnReference": null,
        "schedules": [
            {
                "id": 10147240,
                "creationDate": 1548190800000,
                "amount": 10088,
                "chargeIssueFee": true,
                "specifiedRepaymentNorm": 0,
                "issued": true,
                "activeBefore": null,
                "tranches": [
                    {
                        "id": 101478327,
                        "issueDate": "2019-01-23",
                        "repaymentDate": "2019-02-22",
                        "principal": 2522,
                        "interest": 5841,
                        "lgot": false,
                        "eachRepaymentFee": 0,
                        "rest": 7566
                    },
                    {
                        "id": 101478328,
                        "issueDate": "2019-02-22",
                        "repaymentDate": "2019-03-24",
                        "principal": 2522,
                        "interest": 4381,
                        "lgot": false,
                        "eachRepaymentFee": 0,
                        "rest": 5044
                    },
                    {
                        "id": 101478329,
                        "issueDate": "2019-03-24",
                        "repaymentDate": "2019-04-23",
                        "principal": 2522,
                        "interest": 2920,
                        "lgot": false,
                        "eachRepaymentFee": 0,
                        "rest": 2522
                    },
                    {
                        "id": 101478330,
                        "issueDate": "2019-04-23",
                        "repaymentDate": "2019-05-23",
                        "principal": 2522,
                        "interest": 1460,
                        "lgot": false,
                        "eachRepaymentFee": 0,
                        "rest": 0
                    }
                ]
            }
        ],
        "autoCalcSchedule": true,
        "contractLine": {
            "id": 101601867,
            "lineLimit": null
        },
        "currentStatusId": 101281,
        "indexed": false,
        "issueInProcess": false,
        "lastIntLimitDate": null
    }
}
                    
Описание параметров
Параметр Обязателен Тип данных Описание
id М [int][20] Идентификатор контракта (при создании нового контракта - его указывать не нужно)
name М [string][50] Номер контракта
creationDate М [date] Дата создания в формате YYYY-MM-DD
donorId М [int][20] Источник финансирования
branchId М [int]

Идентификатор филиала

subdivisionId М [int]

Идентификатор подразделения

clientId М [int] Идентификатор клиента
currencyId М [int]

Идентификатор валюты

loanAmount М [float] Сумма займа
loanCategoryId М [int]

Идентификатор категории займа

loanApplicationId М [int] Идентификатор заявки на займ
loanStage М [int]

Ступень займа.

Механизм проставления loanStage следующий:
в значение параметра loanStage записывается ступень займа (1, 2, 3 ... итд). При создании новой заявки на заем (если она первая по данному клиенту) в это поле проставляется значение 1. Если заявка одобрена, то в контракте в этом поле будет значение 1. При создании новой заявки на заем для этого клиента, в этом поле будет соответственно значение 2 (2 ступень), при условии что первая заявка у этого клиента была одобрена.
Пример: 
создается заявка со ступенью 3, заявка уходит на систему принятия решения (которая будет предварительно настроена в системе), там будет выполняться выражение, которое будет применять кредитный продукт который соответствует ступени займа. При одобрении заявки в системе принятия решений в значение параметра loanStage в контракте будет проставлено значение 3.

issuePlanDate М [date] Дата плановой выдачи в формате YYYY-MM-DD
firstRepaymentDate М [date] Дата первого погашения в формате YYYY-MM-DD
repaymentPlanDate М [date] Дата планового погашения в формате YYYY-MM-DD
comment М [string][50] Комментарий
creditOfficerId М [int]

Идентификатор специалиста по займам

documentReceived М [bool] Оригиналы документов получены
forIssue М [bool] Флаг "К выдаче"
underCourt М [bool] Флаг Судебник
underCourtDate М [date] Дата обращения в суд
institutionDate М [date] Дата поставления о возбуждении
determitionDate М [date] Дата поставления об удержании
underCourtAmount М [float] Исковая сумма задолженности
captive М [bool] Каптивный
contractAgentId М [int]

Идентификатор агента

ofertaCode М [string][25] Код оферты
insurancePolicy М [string][50] Страховой полис
loadingDate М [date] Дата загрузки (если контракт был перенесён из сторонней системы ведения учета).  Дата загрузки в данное поле автоматически записывается дата миграции контракта. При этом поле Дата загрузки = дате на которую грузим остатки. Все расчеты по контракту будут начинаться с этой даты. Если контракт был создан в BS (не мигрирован), то в поле будет значение NULL.
prevProlongationsQty М [int][11]

Предыдущее кол-во пролонгаций/реструктуризаций (при переносе из сторонней системы ведения учета)

definedIntForepaymentAmount М [float] Заданная сумма для распределения предоплаты по процентам
msfoReserveRate М [float]  
creditProductId М [int][20]

Идентификатор кредитного продукта

creditProductName М [string][250] Наименование кредитного продукта
creditFieldReq М [object] Условия кредита
creditFieldReq.id М [int]

Идентификатор условия кредита

creditFieldReq.dateCalcMethodId М [int]

Метод расчета дат

creditFieldReq.allowHolidaysPayment М [bool] Не переносить с праздников и выходных
creditFieldReq.shortTermControl М [bool] Контроль краткосрочности займа
creditFieldReq.interestChargeMethodId М [int]

Метод начисления процентов

creditFieldReq.interestCalcMethodId О [int][20]

Метод расчета процентов

creditFieldReq.repaymentNorm М [float] Норма погашения
creditFieldReq.calcIntOnIssueDate М [bool] Начислять проценты в день выдачи контракта (в этом случае проценты начисляются и на первый и на последний день транша)
creditFieldReq.calcInterestOnDelinqBalance М [bool] Начислять процента на просроченную ОС
creditFieldReq.calcArrearInterest М [bool] Начислять доп. проценты на просроченную ОС (отдельным видом суммы)
creditFieldReq.arrearInterestFirstDay М [int] первый день начисления доп.процентов на просроченную ОС
creditFieldReq.arrearInterestLastDay М [int] последний день начисления доп.процентов на просроченную ОС
creditFieldReq.principalDistribMethodId О [int][20]

Метод распределения основной суммы

creditFieldReq.forepaymentConsiderationMethodId М [int]

Метод зачета предоплаты

creditFieldReq.creditLineId М [int] Тип кредитной линии
creditFieldReq.trancheDuration М [int] Длительность периода между погашениями
creditFieldReq.interestForTranche М [float] Процентная ставка
creditFieldReq.delinquencyIntRate М [float] Процентная ставка при просрочке
creditFieldReq.delinqIntRateDelay М [int][11] Кол-во дней до перехода на ставку при просрочке. Если в поле delinqIntRateDelay значение 0 - то процентная ставка при просрочке используется с первого дня начисления процентов на транш (если по предыдущим траншам есть просрочка), иначе - обычная процентная ставка будет продолжать действовать с начала транша указанное кол-во дней.
creditFieldReq.useDelinqIntRateTillNextTranche М [bool] Возвращение к регулярной процентной ставке со следующего транша после погашения просрочки. Если поле useDelinqIntRateTillNextTranche = ДА (true), то возврат к обычной ставке после погашения просрочки будет с начала следующего транша, если НЕТ (false) - со следующего дня после погашения просрочки.
creditFieldReq.keepUsingDelinqIntRate​ М [bool]

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

В случае, если это поле проставлено, то ставка при просрочке будет использоваться для расчета процентов после возникновения первой просрочки и до конца контракта. Важно, что наличие предыдущих просрочек определяется по наличию соответствующих статусов контракта (Просроченный, Реструктурированный просроченный).

creditFieldReq.interestRateTypeId М [int]

Тип процентной ставки

creditFieldReq.chargeExtraInterest М [bool] Начислять проценты по окончанию срока кредита
creditFieldReq.interestFreePeriod М [int] Беспроцентный период в днях
creditFieldReq.interestGracePeriod М [int] Беспроцентный льготный период (в днях)
creditFieldReq.trancheCount М [int] Количество траншей
creditFieldReq.repaymentSequenceId М [int]

Порядок погашения

creditFieldReq.verticalSequenceForDelinqOnly М [bool] Погашать вертикально только просроченные транши
creditFieldReq.mandatoryChargePeriod М [int] Период обязательного начисления процентов
creditFieldReq.allowPrepayment М [bool] Возможно погашение до срока при автоакцепте
creditFieldReq.ProlongationPeriod М [int] Срок пролонгации
creditFieldReq.earlyProlongationFromCurrentDate М [bool] Досрочная пролонгация с текущей даты (иначе пролонгация с даты окончания текущего транша)
creditFieldReq.prolongationOnNewSchedule​ М [bool] Создавать новый график при пролонгации (иначе добавляются новые транши к существующему). Возможность добавлена как опция (для обратной совместимости).
creditFieldReq.prolongedIntToLastTranche​ М [bool] Переносить проценты по пролонгированным контрактам на последний транш. Для того чтобы проценты не переносились как отсроченные после пролонгации - в контракте в этом поле должно быть значение false.
creditFieldReq.penaltyTypeId М [int]

Вид начисления штрафов

creditFieldReq.calendarDaysPenalty М [bool] Штраф по календарным дням
creditFieldReq.firstWeekendWithoutPenalty М [bool] Первые выходные штрафы не начислять. При установке в кредитном продукте "Первые выходные штрафы не начислять" - "true" штрафы будут начисляться в первый рабочий день после выходных или праздников, если в этот день не будет произведено уплаты. По умолчанию значение этого параметра равно "false".
Например: Дата планового погашения 4 января 2018. При ежедневной обработке штрафы не должны начисляться до 9-го января 2018 (9 января первый рабочий день). Если 9 января не было произведено погашения, то при ежедневной обработке начиная с 9 января будут начисляться штрафы. А с 4 января по 9 января котракт будет иметь статус "просрочен".
creditFieldReq.stopPenaltyOnClose М [bool] Останавливать штрафы после окончания графика
creditFieldReq.qtyDaysStopPenaltyOnClose М [int] Кол-во дней после окончания графика до остановки штрафов
creditFieldReq.fixedDelayPenalty М [float] Штраф за опоздание (Фиксированная сумма)
creditFieldReq.delayPenaltyDay М [int] День просрочки для начисления штрафа за опоздание
creditFieldReq.inviteAmountPct М [float] Процент от суммы выдачи (по которому определяем считать ли другом)
creditFieldReq.inviteDiscountPerFriend М [float] Снижение процентной ставки за каждого друга
creditFieldReq.inviteMinIntRate М [float] Минимальная процентная ставка
creditFieldReq.scheduleRecalcEnabled М [bool] Перерасчет графика в дату планового платежа
creditFieldReq.fullScheduleDatesRecalc М [bool] Полное смещение графика от фактической даты выдачи
creditFieldReq.useDelinqIntRateForPsk М [bool]

Использовать процентную ставку при просрочке для расчета ПСК.

Если по контракту в этом поле проставлено ДА, а также процентная ставка при просрочке не нулевая, то при расчете ПСК по контракту создаётся график с учетом процентной ставки при просрочке и ПСК рассчитывается от этого графика.

creditFieldReq.discountingEnabled М [bool] Дисконтирование активировано
creditFieldReq.fees М [collection] Сборы
creditFieldReq.fees._.id М [int] Идентификатор
creditFieldReq.fees._.amountTypeId О [int][20]

Вид суммы

creditFieldReq.fees._.chargeMomentId М [int] Момент начисления
creditFieldReq.fees._.valueTypeId М [int]

Вид сбора

creditFieldReq.fees._.chargeBaseId М [int]

База начисления

creditFieldReq.fees._.value М [float] Значение
creditFieldReq.fees._.compositeValue М [string][100] Составная ставка
creditFieldReq.fees._.chargePenalty М [bool] Штраф за просрочку
creditFieldReq.fees._.notForCharge М [bool] Не начислять
creditFieldReq.fees._.notForRepayment М [bool] Не погашать
creditFieldReq.fees._.involvedInFullCostCalc М [bool] Участвует в расчете ПСК
creditFieldReq.principalParts М [collection] Части основной суммы
creditFieldReq.principalParts._.id М [int] Идентификатор транша
creditFieldReq.principalParts._.trancheNo М [int] Порядковый номер транша
creditFieldReq.principalParts._.part М [float] Доля основной суммы в процентах
creditFieldReq.penaltyRates М [collection] Ставки штрафа
creditFieldReq.penaltyRates._.id М [int] Идентификатор ставки
creditFieldReq.penaltyRates._.periodBegin М [int] Начало периода начисления штрафов
creditFieldReq.penaltyRates._.periodEnd М [int] Конец периода начисления штрафов 
creditFieldReq.penaltyRates._.principalRate М [float] Ставка на ОС
creditFieldReq.penaltyRates._.interestRate М [float] Ставка на проценты
creditFieldReq.penaltyRates._.feeRate М [float] Ставка на сбор
creditFieldReq.qtyTranchesFirstPeriod М [int] Кол-во траншей в 1-м периоде
creditFieldReq.intRateFirstPeriod М [float] Процентная ставка в 1-м периоде
creditFieldReq.qtyTranchesSecondPeriod М [int] Кол-во траншей в 2-м периоде
creditFieldReq.intRateSecondPeriod М [float] Процентная ставка в 2-м периоде
creditFieldReq.qtyTranchesRepNormSecondPeriod О [int][11]

Количество траншей для расчета нормы погашения второго периода. Это поле сейчас имеет смысл отображать только при выборе метода расчета процентов (параметр interestCalcMethodId) Остаточный с двумя ставками (101226). Если это поле больше нуля, то при расчете графика для второго периода рассчитывается норма погашения исходя из указанного кол-ва траншей, рассчитанная норма погашения сохраняется в контракте.

creditFieldReq.interestOnLoanAmount М [bool] Рассчитывать проценты от суммы в контракте
contractCollectorId М [int] Идентификатор коллектора
repaymentNorm М [float] Норма погашения
additional М [bool] Дополнительный
joinFee М [float] Вступительный взнос (Ставка)
fixedJoinFee М [float] Фиксированный вступительный взнос (Сумма)
insuranceFee М [float] Страховочный взнос (Ставка)
fixedInsuranceFee М [float] Фиксированный страховочный взнос (Сумма)
estimateFee М [float] Сметный взнос (Ставка)
fixedEstimateFee М [float] Фиксированный сметный взнос (Сумма)
insurance М [bool] Страхование
insurancePremiumRate М [float] Ставка страховой премии
insurancePremiumAmount М [float] Сумма страховой премии
contractTypeId М [int] Идентификатор типа контракта
issueDate М [date] Дата выдачи контракта
fullCostOfCredit М [float] ПСК
eirForInvestor М [float] ЭПС (для инвестора). Поле добавлено в 2.0.0-69 релизе в метаданные как read-only (нельзя поменять из интерфейса).
marketRate М [float] Рыночная ставка. Поле добавлено в 2.0.0-69 релизе в метаданные как read-only (нельзя поменять из интерфейса).
closeDate М [date] Дата закрытия контракта
closedStatusId М [int]

Идентификатор статуса закрытия контракта:

  • 101481 - Погашен
  • 101482 - Реструктурирован
  • 101483 - Списан
  • 101484 - Откорректирован
  • 101485 - Списан по цессии
  • 101486 - Отменён
dropOutDate М [date] Дата полного погашения ОС
clientGroupId М [int]

Группа клиента

groupConventionId М [int]

Идентификатор группового соглашения

restructedContractId М [int] Ссылка на реструктурированный контракт
prolonged М [bool] Был пролонгирован
createUserId М [int]

Идентификатор пользователя, создавшего контракт

createSubdivisionId М [int]

Идентификатор подразделения пользователя, создавшего контракт

contactDocId М [String] Результат выполнения запроса NewOutgoing сервисом Contact
contactNewOutgoingDate М [date] Дата+время успешного выполнения запроса NewOutgoing
contactTrnReference М [string] Код получения перевода Contact (если не пусто - запрос PayOutgoing выполнился успешно)
schedules М [collection] Графики
schedules._.id М [int] Идентификатор графика
schedules._.creationDate М [timestamp] Дата создания
schedules._.amount М [float] Сумма
schedules._.chargeIssueFee М [bool] Начислять сборы при выдаче
schedules._.specifiedRepaymentNorm М [float] Норма погашения (заданное значение)
schedules._.issued М [bool] Выдан
schedules._.activeBefore М [date]

Дата, до которой график является активным (используется для перерасчета графиков)

schedules._.tranches М [collection] Транши
schedules._.tranches._. id М [int] Идентификатор транша
schedules._.tranches._. issueDate М [date] Дата начала транша  в формате YYYY-MM-DD
schedules._.tranches._. repaymentDate М [date] Дата окончания транша в формате YYYY-MM-DD
schedules._.tranches._. principal М [float] ОС
schedules._.tranches._. interest М [float] Проценты
schedules._.tranches._. lgot М [bool] Льготный
schedules._.tranches._. eachRepaymentFee М [float] Сборы при каждом погашении (расчетное значение)
schedules._.tranches._.rest М [float] Остаток ОС
autoCalcSchedule М [bool] График был рассчитан автоматически при выдаче
contractLine М [object] Линия нарушения последовательности
contractLine.id М [int] Идентификатор границы последовательности
contractLine.lineLimit М [int] Граница последовательности
currentStatusId М [int] Текущий системный статус контракта. Возможные значения можно посмотреть в методе История статусов
indexed М [bool] Является ли контракт индексированным (валютным)
issueInProcess М [bool] В процессе выдачи