Получение списка инстанций бизнес-объектов
Предусловие:
- У вас должно иметься БО (Что это такое и как создать?)
- Также созданные инстанции данного БО (Как создать инстанцию через API-service?)
Запрос (Request):
POST /api/v1/business-object-instance/v2/load-api-bracket-boi-table
Content-Type: application/json
API-TOKEN/TOKEN: your_token
- Метод: POST
- URL: http://your-domain.kz/api/v1/boi/load-with-id
- Headers:
Content-Type: application/json API-TOKEN/TOKEN: your_token
- Как получить API_TOKEN или TOKEN?
Входные данные:
{
"boCode": "Kод БО",
"headCodes": ["Код поля 1", "Код поля 2",...],
"orderingFieldCode": "Код поля",
"orderState": "DESC",
"paging": {
"offset": 0, // Начиная с 0
"limit": 10, // Получить только 10 элементов
},
"search": "search_text",
"state": "ALL",
"touchedFilter": "ALL",
"brackets" : [{"...Bracket JSON..."}]
}
Внимание! Поля с * обязательные к заполнению
Атрибут входного JSON | Описание |
---|---|
boCode* | Код бизнес-объекта в котором будем искать данные (инстанции). (Как получить boCode?) |
headCodes | Список кодов полей (Как получить Код Поля?), которые будут отображаться в запрашиваемом результате. Если не указывать, то будут присылаться записи с полями, которые указаны в виде "Список" Вашего БО на самой платформе MyBPM. |
orderingFieldCode | Код поля, по которому нужно отсортировать результат. Если не указывать то сортировки не будет. |
orderState | Направление сортировки: ASC - по возрастанию, DESC - по убыванию. Если не указывать то будет сортировка по возрастанию. |
paging*.limit | Лимит указывает, сколько записей или элементов данных вы хотите получить. Если не указывать то будет 0 по умолчанию. |
paging*.offset | Смещение определяет, с какой позиции или записи начнется извлечение данных. Если не указывать то будет 10 по умолчанию. |
search | Это поле для фильтрации данных по переданному значению, то есть получает только те данные, которые содержат переданное значение в себе. |
state | Это поле имеет следующие значения: ALL - Рабочие записи, REMOVED - Удаленные записи, ARCHIVED - Записи в архиве, DEV - Записи используемые для тестирования процессов |
touchedFilter | Это поле имеет следующие значения: TOUCHED_ONLY - Возвращает только прочитанные текущим пользователем инстанции, UNTOUCHED_ONLY - Возвращает не прочитанные текущим пользователем инстанции, ALL - Возвращает все инстанции |
brackets | Бракеты предназначены для составление собственных фильтров. Подробно о бракетах. |
Ответ (Response):
HttpStatus: 200 OK
{
"boCode": "Customer_Orders", // код БО
"businessObjectId": "sclbQ~b8X~EiPQOc", // идентификатор БО
"heads": [
{
"fieldId": "ch7hZhDE0zV2A05G", // идентификатор поля БО
"name": "Название", // наименование поля БО
"code": "NAME", // код поля БО
},
// ... и так все запрашиваемые колонки
],
"records": [
{
"instanceId": "0~s8DfBBK6dHY16j", //идентификатор полученной инстанции
"values": [
{
"coFieldId": null, // null, так как это не СО
"fieldId": "ch7hZhDE0zV2A05G", // идентификатор поля
"value": "Опрос свидетелей", // значение поля
"displayValue": "Опрос свидетелей", // отображаемое значение поля
"isReadOnly": false // Поле только для чтения
},
// ... и так по всем запрашиваемым полям
]
}
// ... и так все запрашиваемые инстанции
],
"hasNext": false, // есть ли ещё данные
"totalHits": 3, // общее количество зписей
"totalHitsMore": false, // есть ли ещё записи
"tookInMillis": 3, // сколько времени занял запрос в миллисекундах
}