12-12-2018 14:55

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

POST   /bs-core/main/collaterals/partial-load

Метод предназначен для частичной загрузки полей залогов. В методе есть возможность сортировки по полям, а также поиска полей с нужными значениями.

Запрос

{
    "fields": [
        "name",
        "id",
        "collateralType.id",
        "collateralType.name",
        "collateralType.bureauCode"
    ],
    "orderBy": "collateralType.id",
    "orderDirection": "ASC",
    "orderByFields": [
        {
            "field": "id",
            "direction": "desc"
        },
        {
            "field": "name",
            "direction": "ASC"
        }
    ],
    "searchFields": [
        {
            "field": "collateralType.id",
            "value": 101753
        }
    ],
    "countFrom": 0,
    "countTo": 10
}
Описание параметров
Параметр Обязателен Тип данных Описание
fields О [collection]

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

fields._.{fieldName} О [string][255]

В качестве элементов списка могут быть указаны любые поля из сущности Залог, которые не являются внешними ключами.

Например: "name", "assessedValue" и так далее. 

Признаком внешнего ключа является указание в описание параметра на метод, который позволяет по ID (по значению параметра - получить объект). Пример: collateralTypeId.

Для полей, которые являются внешними ключами - возможно получение любых полей объекта, ключом которого является это поле. Например: в объекте Залог есть поле collateralTypeId, которое является внешним ключом. Это значит, что мы можем запросить любое поле объекта "Тип залога": collateralType.id, collateralType.name, collateralType.bureauCode и так далее.

orderBy О [string][255]

Название поля, по которому надо делать сортировку. С релиза 2.0.0-65 для сортировки следует использовать коллецию orderByFields.

orderDirection О [enum]

Направление сортировки результатов поиска

  • DESC - по убыванию
  • ASC - по позрастанию

​​С релиза 2.0.0-65 для сортировки следует использовать коллецию orderByFields.

orderByFields О [collection]

Массив полей, по которым происходит сортировка.

"orderByFields": [
        {
            "field": "id",
            "direction": "desc"
        },
        {
            "field": "name",
            "direction": "ASC"
        }
    ]

В этом примере сортировка происходит по полям id и name. Результат сортируется по убывающим id и именам (name) в порядке возрастания. Для направления сортировки используется параметр id и name. Если поле direction не указан, то сортировка по полю выполняется по возрастанию. То есть в нашем примере мы могли бы указать поле name не указавая поля direction. Если в запросе на ядро переданы оба способа сортировки, то старый способ задания сортировки игнорируется. Эти изменения действуют с релиза 2.0.0-65. Смотрите также описание параметров orderBy и orderDirection.

searchFields О [collection]

Условия поиска (фильтрации) залога, наличие параметра searchFields является не обязательным, но для получения нужных и компактных результатов рекомендуется задавать параметры фильтрации.

searchFields._.field О [string][255]

В качестве элементов списка могут быть указаны любые поля из сущности Залог, которые не являются внешними ключами.

Например: "name", "assessedValue" и так далее. 

Признаком внешнего ключа является указание в описание параметра на метод, который позволяет по ID (по значению параметра - получить объект). Пример: collateralTypeId.

Для полей, которые являются внешними ключами - возможно получение любых полей объекта, ключом которого является это поле. Например: в объекте Залог есть поле collateralTypeId, которое является внешним ключом. Это значит, что мы можем запросить любое поле объекта "Тип залога": collateralType.id, collateralType.name, collateralType.bureauCode и так далее.

searchFields._.value О [string][255]
Значение для фильтрации. 
 
В значении параметра может указывается как точное значение, так и нет. Для значений не полного соответствия используются различные параметры.
 
Для указания значений этого параметра можно использовать следующие операторы: %, like, !=, null, not null, >, <, >=, <=.
 
Пример: 
 
{
            "field": "collateralType.id",
            "value": 101753
        }
 
Также смотрите описание и примеры в пожожих методах других сущностей (лид, клиент, заявка ...).
searchFields._.ornumber О [string][255]

Значение для группировки параметров поиска (фильтрации) в условии OR.
Поле не обязательное и используется в случаях когда нужно искать как условия по И, но в том числе и условия по ИЛИ.
Например, нужно найти все записи у которых в поле1 указано значение XXXX, при этом в поле2 указано YYYY или ZZZZ.
В этом случае можно использовать поле ornumber. Значение может быть числом или символом, но уникальным в рамках одной группы условий ИЛИ. Зарезервированным значением является  -1

Пример 1: 

      {
           "field": "collateralType.id",
           "value": "101753"
       },

      {
           "field": "name",
           "value": "BMW 3%",
           "ornumber": "1",
       },

     {
           "field": "name",
           "value": "Киа",
           "ornumber": "1",
       },
 В этом примере будут искаться все записи, у которых в поле collateralType.id указано 101753 и при этом одновременно
выполняется одно из условий поле "name" начинается с "BMW 3" или поле name имеет значение "Киа".
То есть, в выражении языка SQL : collateralType.id = 101753 AND (name like "BMW 3%" OR name="Киа")

countFrom О [int]

Смещение от начала списка,полученого в результате поиска т.е. если хотим получить с 10-ой записи, то передаем 10.

countTo О [int]

Лимит (сколько записей будет возвращено)

Ответ


                        {
    "status": "ok",
    "timestamp": 1544615576158,
    "data": [
        {
            "id": 10174146,
            "fields": {
                "name": "BMW 3 серии",
                "id": 10174146,
                "collateralType.id": 101753,
                "collateralType.name": "автомобиль",
                "collateralType.bureauCode": "8"
            }
        },
        {
            "id": 10174137,
            "fields": {
                "name": "123123123",
                "id": 10174137,
                "collateralType.id": 101753,
                "collateralType.name": "автомобиль",
                "collateralType.bureauCode": "8"
            }
        },
        {
            "id": 10174134,
            "fields": {
                "name": "машинев залог 27.12.2017",
                "id": 10174134,
                "collateralType.id": 101753,
                "collateralType.name": "автомобиль",
                "collateralType.bureauCode": "8"
            }
        },
        {
            "id": 10174127,
            "fields": {
                "name": "керкерке",
                "id": 10174127,
                "collateralType.id": 101753,
                "collateralType.name": "автомобиль",
                "collateralType.bureauCode": "8"
            }
        },
        {
            "id": 10174122,
            "fields": {
                "name": "Конь огонь",
                "id": 10174122,
                "collateralType.id": 101753,
                "collateralType.name": "автомобиль",
                "collateralType.bureauCode": "8"
            }
        },
        {
            "id": 10174111,
            "fields": {
                "name": "Киа",
                "id": 10174111,
                "collateralType.id": 101753,
                "collateralType.name": "автомобиль",
                "collateralType.bureauCode": "8"
            }
        },
        {
            "id": 10174107,
            "fields": {
                "name": "1210+",
                "id": 10174107,
                "collateralType.id": 101753,
                "collateralType.name": "автомобиль",
                "collateralType.bureauCode": "8"
            }
        },
        {
            "id": 10174105,
            "fields": {
                "name": "Волга 123123",
                "id": 10174105,
                "collateralType.id": 101753,
                "collateralType.name": "автомобиль",
                "collateralType.bureauCode": "8"
            }
        },
        {
            "id": 10174100,
            "fields": {
                "name": "Волга",
                "id": 10174100,
                "collateralType.id": 101753,
                "collateralType.name": "автомобиль",
                "collateralType.bureauCode": "8"
            }
        },
        {
            "id": 1017498,
            "fields": {
                "name": "ьлпльпр",
                "id": 1017498,
                "collateralType.id": 101753,
                "collateralType.name": "автомобиль",
                "collateralType.bureauCode": "8"
            }
        }
    ]
}
                    
Описание параметров
Параметр Обязателен Тип данных Описание
id О [int][20]

Идентификатор Залога, который соотвествует заданным параметрам фильтрации.

fields О [collection]

Коллекция полей, которые вернулись в ответ на запрос.

fields.{fieldName} О [object]

Набор полей в ответе зависит от того, какие поля были переданы в коллекцию fields в теле запроса. Типы данных и описание возможных значений следует смотреть в описании сущности "Залог".