18-12-2018 16:39

Активные клиенты

POST   /bs-core/reports/active-clients/{date}

Отчет Активные клиенты формируется на дату, в него попадают клиенты у которых есть незакрытые контракты. Фильтры можно устанавливать по полям объектов. Список объектов используемых в фильтрах получают методом "Получение сущностей для фильтрации кредитных отчетов".

Отчет создается полностью асинхронно, в отдельном потоке. Клиентский запрос в ожидании не задерживается. Чтобы отчет генерировался асинхронно, в строке запроса необходимо передать параметр output-mode=file-async

Описание флага output-mode смотрите здесь.

Запрос

POST /bs-core/reports/active-clients/2016-11-11?without-out-balance=false&output-mode=file-async HTTP/1.1
[
    {
        "entity": "com.pq.establ.dict.Client",
        "field": "naturalperson",
        "value1": true
    },
    {
        "entity": "com.pq.establ.dict.Contract",
        "field": "region",
        "value1": 102011
    },
    {
        "entity": "com.pq.establ.dict.LoanApplication",
        "field": "liability",
        "value1": 101931
    },
    {
        "entity": "com.pq.establ.Action",
        "field": "paymentType",
        "value1": 101171
    }
]
Описание параметров
Параметр Обязателен Тип данных Описание
date R [date]

Параметр адресной строки. Дата на которую формируется отчёт "Активные клиенты" в формате YYYY-MM-DD.

without-out-balance О [bool]

Формировать данные только по суммам в Балансе. Дополнительный параметр адресной строки. Значение по умолчанию false.

working-clients О [bool]

Если установлено значение true, то отображаются клиенты с контрактами с нулевым балансом по ОС и не нулевыми балансами по другим видам сумм или клиенты с контрактами, у которых не проставлена дата закрытия. Параметр запроса, передаваемый в адресной строке. По умолчанию стоит значение false.

output-mode О [string]

Дополнительный параметр адресной строки. Если передавать этот параметр, то отчет формируется в файловом хранилище и его можно скачать через интерфейс (если такой  имеется в наличии). Отчет создается полностью асинхронно, в отдельном потоке. Клиентский запрос в ожидании не задерживается. Чтобы отчет генерировался асинхронно, в строке запроса необходимо передать параметр output-mode=file-async. Более подробное описание флага output-mode смотрите здесь.

entity О [string]

Сущность по которой надо фильтровать. Возможные значения берутся из метода "Получение сущностей для фильтрации кредитных отчетов". 

Например, если метод "Получение сущностей для фильтрации кредитных отчетов" возвращает:

{
    "status": "ok",
    "timestamp": 1545150023721,
    "data": [
        {
            "object": "com.pq.establ.dict.Client",
            "label": "Клиент",
            "type": "DICTIONARY",
            "singleValue": true
        },
        {
            "object": "com.pq.establ.dict.Contract",
            "label": "Контракт",
            "type": "DICTIONARY",
            "singleValue": true
        },
        {
            "object": "com.pq.establ.dict.LoanApplication",
            "label": "Заявка на займ",
            "type": "DICTIONARY",
            "singleValue": true
        },
        {
            "object": "com.pq.establ.Action",
            "label": "Операция",
            "type": "DICTIONARY",
            "singleValue": true
        }
    ]
}

то в этом параметре передается все значения  поля "object". Например "entity":"com.pq.establ.dict.Client", "entity":"com.pq.establ.dict.Contract" и т.д.

field О [string]

Поле по которому происходит фильтрация. Значение поля можно узнать из поля "оbject", возвращаемое методом "Получение полей сущности для фильтрации кредитных отчетов". Например метод возвращает

{
    "status": "ok",
    "timestamp": 1545150625731,
    "data": [
        {
            "object": "name",
            "label": "Код",
            "type": "STRING",
            "singleValue": true
        },
        {
            "object": "creationDate",
            "label": "Дата создания",
            "type": "DATE",
            "singleValue": false
        },
        {
            "object": "donor",
            "label": "Источник финансирования",
            "type": "DICTIONARY",
            "singleValue": true
        },
        {
            "object": "region",
            "label": "Регион",
            "type": "DICTIONARY",
            "singleValue": true
        },
        {
            "object": "legalEntity",
            "label": "Юридическое лицо",
            "type": "DICTIONARY",
            "singleValue": true
        },
        {
            "object": "branch",
            "label": "Филиал",
            "type": "DICTIONARY",
            "singleValue": true
        }
    ]
}

тогда можем использовать значения name, creationDate, loanAmount, businessStatus и т.д. Например "field":"name", "field":"creationDate".

value1 О [object]

Тип данных этого поля определяется в методе "Получение полей сущности для фильтрации кредитных отчетов" (какие значения нужно/можно передавать, узнаются из того же метода). Если типом данных например является "Dictionary", то передается идентификатор элемента этого справочника.

value2 О [object]

Это поле нужно передавать в том случае, если значение передаваемого поля field предполагает ввод второго значения. Это видно из поля "singleValue" метода "Получение полей сущности для фильтрации кредитных отчетов", т.е. если значение поля "singleValue" false, то этот параметр нужно передавать. Этот второй параметр нужно передавать, если например сущности для отчета выбираются по контрактам созданным в определленный месяц, год, определённый промежуток времени и т.д.

Ответ


                        {
    "status": "ok",
    "timestamp": 1545138844055,
    "data": {
        "code": "report:ActiveClients:4220",
        "id": 4220
    }
}
                    
Описание параметров
Параметр Обязателен Тип данных Описание
status О [string]

Статус запроса. При успешном выполнении запроса возвращается значение "ок". Иначе возвращается ошибка.

timestamp О [timestamp]

Возвращается дата+время(ядра) в формате unix timestamp в миллисекундах.

data О [object]

Объект, содержащий информацию ReportLog.

data.code О [string]

Информативная строка для поиска в памяти запроса.

data.id О [int]

Идентификатором записи ReportLog.