REST API: Сложные фильтры комментариев

Материал из Planfix

Сложные фильтры используются при получении списков комментариев в методах:

  • POST /comment/list
  • POST /task/{id}/comments/list
  • POST /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"}.

Для otherDate задаётся dateFrom; для otherRange — dateFrom и dateTo в формате ДД-ММ-ГГГГ.
Для otherDate_withTime и otherRange_withTime — в формате ДД-ММ-ГГГГ ЧЧ:ММ.
Для last и next — число дней в dateValue.

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 Текст содержит строку без учёта цитат


Перейти