13-12-2018 18:33

Поиск контрактов по произвольным параметрам

GET   /bs-core/contracts/search/count-from/{countFrom}/count-to/{countTo}?fields-params={fields-params}&sort-type={sort-type}&sort-field={sort-field}

Этот метод помечен как @Deprecated. Вместо него рекомендуется использовать метод "Поиск по кредитным контрактам".

Для поиска можно указывать любые поля Контракта, которые имеют прямую связь со структурой Contract. Имеется ряд параметров Контракта, которые не имеют прямую связь, по ним поиск невозможен.

Запрос

GET /bs-core/contracts/search/count-from/0/count-to/100?fields-params=creditField.id:10119971 HTTP/1.1
Описание параметров
Нет описанных параметров

Ответ


                        {
   "status": "ok",
   "timestamp": 1470923006096,
   "data": [   {
      "id": 10134138,
      "name": "000003",
      "creationDate": "2016-06-10",
      "donorId": 101091,
      "branchId": 101301,
      "subdivisionId": 101791,
      "clientId": 10132419,
      "currencyId": 101011,
      "loanAmount": 5000,
      "loanCategoryId": 101141,
      "loanApplicationId": 10113340,
      "loanStage": 1,
      "issuePlanDate": "2016-06-10",
      "firstRepaymentDate": "2016-06-15",
      "repaymentPlanDate": "2016-06-15",
      "comment": "",
      "creditOfficerId": 101081,
      "documentsReceived": false,
      "forIssue": true,
      "underCourt": false,
      "contractAgentId": null,
      "ofertaCode": "",
      "insurancePolicy": "",
      "creditProductId": 101339,
      "creditProductName": "Серебро",
      "creditFieldReq":       {
         "id": 10119971,
         "dateCalcMethodId": 101233,
         "allowHolidaysPayment": true,
         "interestChargeMethodId": 101863,
         "interestCalcMethodId": 101223,
         "calcIntOnIssueDate": false,
         "calcInterestOnDelinqBalance": true,
         "principalDistribMethodId": 101351,
         "forepaymentConsiderationMethodId": 101592,
         "creditLineId": null,
         "trancheDuration": 5,
         "interestForTranche": 658.8,
         "interestRateTypeId": 101122,
         "chargeExtraInterest": true,
         "trancheCount": 1,
         "minPeriod": 5,
         "maxPeriod": 30,
         "periodInTranches": false,
         "minLoanAmount": 0,
         "maxLoanAmount": 10000,
         "repaymentSequenceId": 101204,
         "mandatoryChargePeriod": 0,
         "allowPrepayment": false,
         "prolongationPeriod": 0,
         "earlyProlongationFromCurrentDate": true,
         "adminFee": 0,
         "fixedAdminFee": 0,
         "adminFeeRepaymentTimeId": 101031,
         "finFee": 0,
         "penaltyTypeId": 101272,
         "calendarDaysPenalty": true,
         "stopPenaltyOnClose": false,
         "qtyDaysStopPenaltyOnClose": 0,
         "fixedDelayPenalty": 0,
         "delayPenaltyDay": 0,
         "inviteAmountPct": 60,
         "inviteDiscountPerFriend": 0.5,
         "inviteMinIntRate": 1,
         "principalParts": [         {
            "id": 10161406,
            "trancheNo": 1,
            "part": 100
         }],
         "penaltyRates": [         {
            "id": 10162403,
            "periodBegin": 1,
            "periodEnd": 99999,
            "principalRate": 0.0546,
            "interestRate": 0.0546
         }]
      },
      "contractCollectorId": null,
      "repaymentNorm": 0,
      "qtyTranchesFirstPeriod": 0,
      "intRateFirstPeriod": 0,
      "qtyTranchesSecondPeriod": 0,
      "intRateSecondPeriod": 0,
      "clientGroupId": null,
      "additional": false,
      "joinFee": 0,
      "fixedJoinFee": 0,
      "insuranceFee": 0,
      "fixedInsuranceFee": 0,
      "estimateFee": 0,
      "fixedEstimateFee": 0,
      "comments": [      {
         "id": 1022445,
         "userId": 1,
         "comment": "изменен номер",
         "creationDate": "2016-06-10"
      }],
      "insurance": false,
      "insurancePremiumRate": 0,
      "insurancePremiumAmount": 0,
      "contractTypeId": 101911,
      "issueDate": 1465506000000,
      "closeDate": 1465569062865,
      "closedStatusId": 101481,
      "dropOutDate": 1465506000000,
      "restructedContractId": null,
      "prolonged": false,
      "createUserId": 1026,
      "createSubdivisionId": 101791,
      "contactDocId": "91016762",
      "contactNewOutgoingDate": 1465567225383,
      "contactTrnReference": "685645",
      "schedules": [      {
         "id": 1014674,
         "creationDate": "2016-06-10",
         "amount": 5000,
         "issued": true,
         "tranches": [         {
            "id": 10147148,
            "issueDate": "2016-06-10",
            "repaymentDate": "2016-06-15",
            "principal": 5000,
            "interest": 450,
            "lgot": false
         }]
      }],
      "contractLine":       {
         "id": 10160126,
         "lineLimit": 1465569085465
      },
      "currentStatusId": 101281,
      "indexed": false,
      "issueInProcess": false
   }]
}
                    
Описание параметров
Параметр Обязателен Тип данных Описание
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] Идентификатор кредитного продукта
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] Рассчитывать проценты от суммы в контракте
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] В процессе выдачи