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 R [int][20] Идентификатор контракта (при создании нового контракта - его указывать не нужно)
name R [string][50] Номер контракта
creationDate R [date] Дата создания в формате YYYY-MM-DD
donorId R [int][20] Источник финансирования
branchId R [int]

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

subdivisionId R [int]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

creditFieldReq.dateCalcMethodId R [int]

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

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

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

creditFieldReq.interestCalcMethodId О [int][20]

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

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

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

creditFieldReq.forepaymentConsiderationMethodId R [int]

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

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

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

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

creditFieldReq.interestRateTypeId R [int]

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

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

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

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

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

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

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

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

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

Вид суммы

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

Вид сбора

creditFieldReq.fees._.chargeBaseId R [int]

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

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

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

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

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

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

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

groupConventionId R [int]

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

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

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

createSubdivisionId R [int]

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

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

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

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