REST API: Сложные фильтры контактов
Материал из Planfix
Сложные фильтры в REST API ПланФикса применяются в методе «/contact/list» при получении списка контактов. Фильтры контактов задаются следующим набором параметров:
- type — числовой идентификатор фильтра.
- operator — оператор фильтра, одно из значений списка (equal, notequal, gt, lt). У разных фильтров могут быть разные допустимые операторы.
- value — значение фильтра, в зависимости от типа фильтра может быть строкой, числом или сложным объектом.
- field — идентификатор пользовательского поля, используется для фильтров по пользовательским полям.
{
"type": 12,
"operator": "equal",
"value": {
"dateType": "otherDate",
"dateValue": "01-07-2022"
}
}
Пример запроса получения списка контактов с передачей нескольких фильтров (используется логика И):
{
"fields": "name",
"filters": [{
"type": 4223,
"operator": "equal",
"value": {
"dateType": "otherDate",
"dateValue": "01-12-1990"
}
},
{
"type": 1,
"operator": "equal",
"value": "user:5"
}
]
}
| Тип | Название | Операторы | Формат value |
|---|---|---|---|
| 12 | Дата создания |
|
Объект :
"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",
}
|
| 4223 | Дата рождения (с учетом года) | ||
| 4011 | Дата рождения (без учета года) | ||
| 4213 | Контрагент в задачах с последней активностью | ||
| 4219 | Контрагент без задач с последней активностью | ||
| 4214 | Участвует в задачах с последней активностью | ||
| 4220 | Не участвует в задачах с последней активностью | ||
| 103 | Пользовательское поле типа Дата | ||
| 1 | Добавил |
|
string - номер сотрудника/контакта/группы с префиксом.
Например: “user:1”, “contact:5”, “group:3” |
| 2 | Исполнитель | ||
| 39 | Участник | ||
| 3 | Аудитор задачи или проекта | ||
| 59 | Аудитор проекта | ||
| 60 | Аудитор задачи | ||
| 108 | Пользовательское поле типа Контакт | ||
| 109 | Пользовательское поле типа Сотрудник | ||
| 112 | Пользовательское поле типа Группа, сотрудник, контакт | ||
| 113 | Пользовательское поле типа Список сотрудников | ||
| 22 | Без даты начала |
|
int - 1
boolean - true |
| 23 | Без даты завершения | ||
| 25 | С датой начала | ||
| 26 | С датой завершения | ||
| 16 | Повторяющаяся | ||
| 28 | Не повторяющаяся | ||
| 17 | Просроченная | ||
| 29 | Не просроченная | ||
| 33 | Без исполнителей | ||
| 41 | Без участников | ||
| 34 | Постановщик - сотрудник | ||
| 35 | Постановщик - контакт | ||
| 71 | Исполнитель - сотрудник | ||
| 69 | Исполнитель - контакт | ||
| 72 | Участник - сотрудник | ||
| 70 | Участник - контакт | ||
| 8 | Название задачи |
|
string - осуществляется фильтр содержит / не содержит |
| 101 | Пользовательское поле типа Строка | ||
| 102 | Пользовательское поле типа Число |
|
int |
| 105 | Пользовательское поле типа Чек-бокс |
|
int - 1 / 0
boolean |
| 106 | Пользовательское поле типа Список |
|
string |
| 107 | Пользовательское поле типа Справочник |
|
int - идентификатор записи |
| 114 | Пользовательское поле типа Набор записей справочника |
|
int - идентификатор записи, для условия по нескольким записям — идентификаторы через ; (точку с запятой) |
| 152 | Содержит значение в пользовательском поле |
|
int - идентификатор поля |
| 153 | Не содержит значение в пользовательском поле |
|
int - идентификатор поля |
| 11 | Содержит аналитику |
|
int - идентификатор аналитики |
| 18 | Не содержит аналитику |
|
int - идентификатор аналитики |
| 73 | Непосредственная надзадача |
|
int - номер надзадачи |
| 51 | Шаблон |
|
int - номер шаблона |
| 10 | Статус |
|
int - идентификатор статуса |
| 7 | Контрагент |
|
int - номер контрагента
string - номер контрагента с префиксом, пример: “contact:1” |
| 24 | Процесс |
|
int - идентификатор процесса |