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

Метод для расчета графика в кредитном калькуляторе

Метод позволяет расчитать (подобрать) сумму займа или кол-во траншей. Для этого метода API добавлены два необязательных булиновых параметра: calcTrancheCount - для расчета кол-ва траншей и calcLoanAmount - для расчета суммы займа. Если эти параметры не передавать, то кредитный калькулятор работает как обычно. Одновременно нельзя передавать оба параметра, так как рассчитывается либо сумма займа либо кол-во траншей, иначе возвращается ошибка с кодом CANNOT_CALC_TWO_PARAMS_ERROR. Расчет кол-ва траншей: POST /bs-core/main/credit-calculator/calc-schedule?calcTrancheCount=true Расчет суммы займа: POST /bs-core/main/credit-calculator/calc-schedule?calcLoanAmount=true Для этих расчетов должна быть указана норма погашения в кредитном калькуляторе (поле repaymentNorm). Для остаточных методов расчета процентов в этом поле должна быть передана норма, к которой стремимся при подборе аннуитета на всех траншах, для комбинированного или простого метода расчета - в этом поле должна быть передана максимальная сумма платежа (ОС + проценты) - сумма платежа первого транша. Для остаточных методов расчета процентов расчет выполняется методом подбора: Если подбираем кол-во траншей, то за начальное значение принимаем целую часть от деления суммы займа на норму погашения, и далее увеличиваем кол-во траншей на единицу до тех пор пока не подберём подходящий график. Если подбираем сумму займа, то за начальное значение принимаем норму погашения умноженную на кол-во траншей, и далее уменьшаем сумму на 1 процент от нормы погашения до тех пор пока не подберём подходящий график. Нужно учесть что подбор продолжается до тех пор пока разница не будет меньше либо равна значению из константы "Приемлемая разница между нормой погашения последнего и предпоследнего транша", то есть как только мы достигаем приемлемой разницы - выходим из подбора. Также подбор прекращается если разница текущего расчета стала больше разницы предыдущего. В этом случае считаем что предыдущий график являлся наилучшим вариантом. Также подбор прекращается по достижении 1000-ной итерации цикла (чтобы гарантировать отсутствие бесконечных циклов при подборе). Для комбинированного или простого метода рассчитываем кол-во траншей или сумму займа исходя из нормы погашения (поле repaymentNorm), в котором должна быть передана максимальная сумма платежа (ОС и проценты первого транша). Подразумеваем что ОС должна быть распределена равномерно по всем траншам.

Query Parameters
    calcLoanAmount boolean

    calcLoanAmount

    calcTrancheCount boolean

    calcTrancheCount

Request Body required

request

    assessedValue double
    calcParams object
    calcIntRate boolean
    calcLoanAmount boolean
    calcTrancheCount boolean
    intRateRoundTo int32
    minIntRate double
    creditField object
    allowHolidaysPayment boolean
    allowPrepayment boolean
    amountSecondPeriod double
    arrearInterestFirstDay int32
    arrearInterestLastDay int32
    calcArrearInterest boolean
    calcIntOnDelinqBalanceOnlyAtDelinqIntRate boolean
    calcIntOnIssueDate boolean
    calcInterestOnDelinqBalance boolean
    calendarDaysPenalty boolean
    chargeExtraInterest boolean
    creditLineId int64
    dateCalcMethodId int64
    delayPenaltyDay int32
    delinqIntRateDelay int32
    delinquencyIntRate double
    discountingEnabled boolean
    earlyProlongationFromCurrentDate boolean
    extraIntDaysQty int32
    fees object[]
  • Array [
  • amountTypeId int64
    chargeBaseId int64
    chargeMomentId int64
    chargePenalty boolean
    compositeValue string
    id int64
    includeInTrancheAmountChargeBase boolean
    involvedInFullCostCalc boolean
    notForCharge boolean
    notForRepayment boolean
    value double
    valueTypeId int64
  • ]
  • firstWeekendWithoutPenalty boolean
    fixedDelayPenalty double
    forepaymentConsiderationMethodId int64
    fullScheduleDatesRecalc boolean
    id int64
    intRateFirstPeriod double
    intRateSecondPeriod double
    interestCalcMethodId int64
    interestChargeMethodId int64
    interestForTranche double
    interestGracePeriod int32
    interestLgotPeriod int32
    interestLgotRate double
    interestOnLoanAmount boolean
    interestRateTypeId int64
    inviteAmountPct double
    inviteDiscountPerFriend double
    inviteMinIntRate double
    keepUsingDelinqIntRate boolean
    mandatoryChargePeriod int32
    penaltyRatePeriodFrom string

    Possible values: [FROM_DELINQUENCY_START_BY_STATUS, FROM_TRANCHE_REPAYMENT_DATE]

    penaltyRates object[]
  • Array [
  • feeRate double
    id int64
    interestRate double
    keyRateCB double
    keyRateCBTypeId int64
    periodBegin int32
    periodEnd int32
    principalRate double
  • ]
  • penaltyTypeId int64
    principalDistribMethodId int64
    principalParts object[]
  • Array [
  • id int64
    part double
    trancheNo int32
  • ]
  • prolongationOnNewSchedule boolean
    prolongationPeriod int32
    prolongedIntToLastTranche boolean
    qtyDaysStopPenaltyOnClose int32
    qtyTranchesFirstPeriod int32
    qtyTranchesRepNormSecondPeriod int32
    qtyTranchesSecondPeriod int32
    repaymentNorm double
    repaymentSequenceId int64
    scheduleRecalcEnabled boolean
    shiftFirstRepaymentDate boolean
    shortTermControl boolean
    stopPenaltyOnClose boolean
    trancheCount int32
    trancheDuration int32
    useDelinqIntRateForPsk boolean
    useDelinqIntRateTillNextTranche boolean
    useEirForDiscounting boolean
    creditProductId int64
    firstRepaymentDate date
    hypothecationValue double
    insuranceAmount double
    issuePlanDate date
    loanAmount double
    loanValue double
    repaymentNorm double
    repaymentPlanDate date
    taxAmount double
Responses

OK


Schema
    activeBefore date-time
    amount double
    chargeIssueFee boolean
    contractFields object
    intRate double
    loanAmount double
    repaymentNorm double
    trancheCount int32
    creationDate date-time
    eachRepaymentFeeFree boolean
    id int64
    issued boolean
    specifiedRepaymentNorm double
    tranches object[]
  • Array [
  • eachRepaymentFee double
    eachRepaymentFeeByType object[]
  • Array [
  • amount double
    amountType int64
    feeId int64
  • ]
  • id int64
    interest double
    issueDate date
    lgot boolean
    principal double
    repaymentDate date
    rest double
  • ]
Loading...