REST API: Сложные фильтры аналитик: различия между версиями
Материал из Planfix
Artem (обсуждение | вклад) Нет описания правки |
Artem (обсуждение | вклад) Нет описания правки |
||
Строка 10: | Строка 10: | ||
*'''value''' — значение фильтра, в зависимости от типа фильтра может быть строкой, числом или сложным объектом. | *'''value''' — значение фильтра, в зависимости от типа фильтра может быть строкой, числом или сложным объектом. | ||
*'''field''' — идентификатор пользовательского поля аналитики, по которому выполняется фильтр. | *'''field''' — идентификатор пользовательского поля аналитики, по которому выполняется фильтр. | ||
Пример запроса получения списка | Пример запроса получения списка записей аналитик с передачей нескольких фильтров по пользовательскому полю типа «Дата» и пользовательскому полю типа «Список сотрудников» (используется логика И): | ||
<pre> | <pre> | ||
{ | { | ||
"offset": 0, | |||
"pageSize": 100, | |||
"fields": "dataTag,key,3,2273", | |||
"filters": [{ | |||
"type": 3101, | |||
"dateType": " | "field": 3, | ||
" | "operator": "equal", | ||
"value": { | |||
"dateType": "otherRange", | |||
"dateFrom": "15-11-2022", | |||
"dateTo": "17-11-2022" | |||
}, { | |||
"type": 3103, | |||
"field": 2273, | |||
"operator": "equal", | |||
"value": "user:46" | |||
} | |||
} | |||
] | |||
} | } | ||
</pre> | </pre> |
Версия от 09:04, 30 ноября 2022
Сложные фильтры в REST API ПланФикса применяются в методе «/datatag/{id}/entry/list» при получении записей аналитики. Фильтры аналитик задаются следующим набором параметров:
- type — числовой идентификатор фильтра.
- operator — оператор фильтра, одно из значений списка (equal, notequal, gt, lt). У разных фильтров могут быть разные допустимые операторы.
- value — значение фильтра, в зависимости от типа фильтра может быть строкой, числом или сложным объектом.
- field — идентификатор пользовательского поля аналитики, по которому выполняется фильтр.
Пример запроса получения списка записей аналитик с передачей нескольких фильтров по пользовательскому полю типа «Дата» и пользовательскому полю типа «Список сотрудников» (используется логика И):
{ "offset": 0, "pageSize": 100, "fields": "dataTag,key,3,2273", "filters": [{ "type": 3101, "field": 3, "operator": "equal", "value": { "dateType": "otherRange", "dateFrom": "15-11-2022", "dateTo": "17-11-2022" }, { "type": 3103, "field": 2273, "operator": "equal", "value": "user:46" } } ] }
Тип | Название | Операторы | Формат value |
---|---|---|---|
3101 | Пользовательское поле типа «Дата» |
|
Объект : "value": { "dateType": string, "dateValue": string, "dateFrom": string, "dateTo": string } dateType принимает следующие значения:
Даты считаются переданными в часовом поясе сотрудника, от имени которого сделан запрос. Примеры: "value": { "dateType": "thisWeek" } "value": { "dateType": "otherRange", "dateFrom": "02-07-2022", "dateTo": "06-07-2022" } "value": { "dateType": "otherDate_withTime", "dateFrom": "30-06-2022 12:00", } |
3106 | Пользовательское поле типа «Контакт» |
|
string - номер сотрудника/контакта/группы с префиксом. Например: “user:1”, “contact:5”, “group:3” |
3104 | Пользовательское поле типа «Сотрудник» | ||
3111 | Пользовательское поле типа «Группа, сотрудник, контакт» | ||
3103 | Пользовательское поле типа «Список сотрудников» | ||
3108 | Пользовательское поле типа «Строка» |
|
string - осуществляется фильтр содержит / не содержит |
3109 | Пользовательское поле типа «Число» |
|
int |
3115 | Пользовательское поле типа «Чек-бокс» |
|
int - 1 / 0
boolean |
3105 | Пользовательское поле типа «Справочник» |
|
int - идентификатор записи |