REST API: Сложные фильтры комментариев
Материал из Planfix
Сложные фильтры используются при получении списков комментариев в методах:
POST /comment/listPOST /task/{id}/comments/listPOST /contact/{id}/comments/list
Условия передаются в массиве filters и объединяются по логике "И".
Каждый фильтр задаётся параметрами:
- type — числовой идентификатор типа фильтра из таблицы ниже.
- operator — оператор сравнения. Допустимые операторы зависят от типа фильтра и указаны в таблице.
- value — значение фильтра: строка, число, логическое значение или объект с параметрами даты.
Пример запроса
Запрос комментариев сотрудника с номером 5, содержащих слово "счёт":
{
"offset": 0,
"pageSize": 100,
"fields": "id,dateTime,description,owner",
"filters": [
{
"type": 3001,
"operator": "equal",
"value": "user:5"
},
{
"type": 3007,
"operator": "equal",
"value": "счёт"
}
]
}
Типы фильтров
| Тип | Название | Операторы | Формат value |
|---|---|---|---|
| 3000 | Дата и время комментария | equal, notequal, gt, lt, gtAndEqual, ltAndEqual | Объект с dateType — периодом даты. Например: {"dateType":"thisWeek"}.Для |
| 3001 | Автор комментария | equal, notequal | string — идентификатор автора: "user:5" или "contact:7"
|
| 3002 | Автор входит в группу | equal, notequal | string — идентификатор группы: "group:3"
|
| 3003 | Автор является сотрудником | equal | boolean — true
|
| 3004 | Автор является контактом | ||
| 3005 | Текст комментария не пуст | ||
| 3006 | Текст комментария пуст | ||
| 3008 | Среди получателей уведомлений есть контакт | ||
| 3009 | Среди получателей уведомлений есть сотрудник | ||
| 3014 | Уведомлён постановщик задачи | ||
| 3015 | Уведомлён участник задачи | ||
| 3016 | Уведомлён исполнитель задачи | ||
| 3017 | Есть прикреплённый файл | ||
| 3018 | Нет прикреплённых файлов | ||
| 3021 | Исключить создание задачи и смену статуса | ||
| 3011 | Текст совпадает со строкой | equal, notequal | string — фильтр «равно» / «не равно» |
| 3012 | Комментарий содержит аналитику | equal | int — идентификатор аналитики |
| 3013 | Комментарий не содержит аналитику | ||
| 3019 | Скрытый комментарий | equal, notequal | boolean — true
|
| 3114 | Длина текста комментария | equal, notequal, gt, lt, gtAndEqual, ltAndEqual | int — количество символов в тексте комментария |
| 3007 | Текст содержит строку | equal, notequal | string — фильтр «содержит» / «не содержит» |
| 3020 | Имя прикреплённого файла содержит строку | ||
| 3124 | Текст содержит строку без учёта цитат |