REST API: Сложные фильтры проектов
Материал из Planfix
Сложные фильтры в REST API ПланФикса применяются в методе «/project/list» при получении списка проектов. Фильтры проектов задаются следующим набором параметров:
- type — числовой идентификатор фильтра.
- operator — оператор фильтра, одно из значений списка (equal, notequal, gt, lt). У разных фильтров могут быть разные допустимые операторы.
- value — значение фильтра, в зависимости от типа фильтра может быть строкой, числом или сложным объектом.
- field — идентификатор пользовательского поля аналитики, по которому выполняется фильтр.
Пример запроса получения списка проектов с передачей нескольких фильтров, по пользовательскому полю типа «Дата» и пользовательскому полю типа «Список сотрудников» (используется логика И):
{
"offset": 0,
"pageSize": 100,
"fields": "directory,parentKey,key,3,5",
"filters": [
{
"type": 6103,
"field": 3,
"operator": "equal",
"value": {
"dateType": "otherRange",
"dateFrom": "15-12-2022",
"dateTo": "17-12-2022"
}
},
{
"type": 6109,
"field": 5,
"operator": "equal",
"value": "user:50"
}
]
}
| Тип | Название | Операторы | Формат value |
|---|---|---|---|
| 5103 | Поле проекта типа «Дата» |
|
Объект :
"value": {
"dateType": string,
"dateValue": string,
"dateFrom": string,
"dateTo": string
}
dateType принимает следующие значения:
Даты считаются переданными в часовом поясе сотрудника, от имени которого сделан запрос. Примеры: "value": {
"dateType": "thisWeek"
}
"value": {
"dateType": "otherRange",
"dateFrom": "01-12-2022",
"dateTo": "06-12-2022"
}
"value": {
"dateType": "otherDate_withTime",
"dateFrom": "30-12-2022 12:00",
}
|
| 5005 | Дата завершения | ||
| 5013 | Дата создания | ||
| 3106 | Пользовательское поле типа «Контрагент» |
|
string - номер сотрудника/контакта/группы с префиксом. Например: “user:1”, “contact:5”, “group:3” |
| 3116 | Пользовательское поле типа «Контакт» | ||
| 3104 | Пользовательское поле типа «Сотрудник» | ||
| 3111 | Пользовательское поле типа «Группа, сотрудник, контакт» | ||
| 3103 | Пользовательское поле типа «Список сотрудников» | ||
| 3108 | Пользовательское поле типа «Строка» |
|
string - осуществляется фильтр содержит / не содержит |
| 3109 | Пользовательское поле типа «Число» |
|
int |
| 3115 | Пользовательское поле типа «Чек-бокс» |
|
int - 1 / 0
boolean |
| 3105 | Пользовательское поле типа «Справочник» |
|
int - идентификатор записи |