REST API: Сложные фильтры аналитик: различия между версиями
Материал из Planfix
Artem (обсуждение | вклад) Нет описания правки |
Artem (обсуждение | вклад) Нет описания правки |
||
| (не показано 14 промежуточных версий этого же участника) | |||
| Строка 11: | Строка 11: | ||
*'''field''' — идентификатор пользовательского поля аналитики, по которому выполняется фильтр. | *'''field''' — идентификатор пользовательского поля аналитики, по которому выполняется фильтр. | ||
Пример запроса получения списка записей аналитик с передачей нескольких фильтров по пользовательским полям типа «Дата» и типа «Список пользователей» (используется логика И): | |||
Пример запроса получения списка | |||
<pre> | <pre> | ||
{ | { | ||
"offset": 0, | |||
"pageSize": 100, | |||
"fields": "dataTag,key,3,2273", | |||
"filters": [ | |||
{ | |||
"dateType": " | "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" | |||
} | |||
] | |||
} | } | ||
</pre> | </pre> | ||
| Строка 106: | Строка 101: | ||
</pre> | </pre> | ||
|- | |- | ||
|3106 || Пользовательское поле типа «Контакт» | |3106 || Пользовательское поле типа «Контрагент» | ||
|rowspan="5" | | |||
*equal | |||
*notequal | |||
|rowspan="5" | | |||
string - номер сотрудника/контакта/группы с префиксом. | |||
Например: “user:1”, “contact:5”, “group:3” | |||
|- | |||
|3116 || Пользовательское поле типа «Контакт» | |||
|- | |- | ||
|3104 || Пользовательское поле типа «Сотрудник» | |3104 || Пользовательское поле типа «Сотрудник» | ||
| Строка 113: | Строка 116: | ||
|- | |- | ||
|3103 || Пользовательское поле типа «Список сотрудников» | |3103 || Пользовательское поле типа «Список сотрудников» | ||
|- | |- | ||
|3108 || Пользовательское поле типа «Строка» | |3108 || Пользовательское поле типа «Строка» | ||
| | | | ||
*equal | *equal | ||
*notequal | *notequal | ||
|string - осуществляется фильтр содержит / не содержит | *have | ||
*nothave | |||
|string - осуществляется фильтр равно / не равно / содержит / не содержит | |||
|- | |- | ||
|3109 || Пользовательское поле типа «Число» | |3109 || Пользовательское поле типа «Число» | ||
| Строка 156: | Строка 145: | ||
*notequal | *notequal | ||
| int - идентификатор записи | | int - идентификатор записи | ||
|} | |} | ||
Текущая версия от 10:44, 8 января 2024
Сложные фильтры в 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” |
| 3116 | Пользовательское поле типа «Контакт» | ||
| 3104 | Пользовательское поле типа «Сотрудник» | ||
| 3111 | Пользовательское поле типа «Группа, сотрудник, контакт» | ||
| 3103 | Пользовательское поле типа «Список сотрудников» | ||
| 3108 | Пользовательское поле типа «Строка» |
|
string - осуществляется фильтр равно / не равно / содержит / не содержит |
| 3109 | Пользовательское поле типа «Число» |
|
int |
| 3115 | Пользовательское поле типа «Чек-бокс» |
|
int - 1 / 0
boolean |
| 3105 | Пользовательское поле типа «Справочник» |
|
int - идентификатор записи |