REST API: Сложные фильтры сотрудников: различия между версиями
Материал из Planfix
Artem (обсуждение | вклад) Нет описания правки |
Artem (обсуждение | вклад) Нет описания правки |
||
(не показано 10 промежуточных версий 2 участников) | |||
Строка 64: | Строка 64: | ||
dateType принимает следующие значения: | dateType принимает следующие значения: | ||
*today | *today — сегодня | ||
*yesterday | *yesterday — вчера | ||
*tomorrow | *tomorrow — завтра | ||
*thisWeek | *thisWeek — текущая неделя | ||
*lastWeek | *lastWeek | ||
*nextWeek | *nextWeek | ||
Строка 73: | Строка 73: | ||
*lastMonth | *lastMonth | ||
*nextMonth | *nextMonth | ||
*last | *last — последние n дней, n передается в dateValue | ||
*next | *next — следующие n дней, n передается в dateValue | ||
*in | *in — через n дней, n передается в dateValue | ||
*otherDate | *otherDate — точная дата, дата передается в формате дд-мм-гггг в dateFrom | ||
*otherRange | *otherRange — точный период, даты передаются в формате дд-мм-гггг в dateFrom и dateTo | ||
*otherDate_withTime | *otherDate_withTime — точная дата-время, дата передается в формате "дд-мм-гггг чч:мм" в dateFrom | ||
*otherRange_withTime | *otherRange_withTime — точный период с заданным временем, даты передаются в формате "дд-мм-гггг чч:мм" в dateFrom и dateTo | ||
Даты считаются переданными в часовом поясе сотрудника, от имени которого сделан запрос. | Даты считаются переданными в часовом поясе сотрудника, от имени которого сделан запрос. | ||
Строка 109: | Строка 109: | ||
*equal | *equal | ||
*notequal | *notequal | ||
| rowspan="5" | string | | rowspan="5" | string — номер сотрудника/контакта/группы с префиксом. | ||
Например: “user:1”, “contact:5”, “group:3” | Например: “user:1”, “contact:5”, “group:3” | ||
|- | |- | ||
Строка 120: | Строка 120: | ||
|9113 || Поле сотрудника типа Список сотрудников | |9113 || Поле сотрудника типа Список сотрудников | ||
|- | |- | ||
| | |9006 || ФИО сотрудника (поиск может выполняется по части ФИО) | ||
| rowspan="4" | | |||
*equal | |||
*notequal | |||
| rowspan="4" | string — осуществляется фильтр содержит / не содержит | |||
|- | |||
|9121 || Имя сотрудника | |||
|- | |||
|9122 || Отчество сотрудника | |||
|- | |||
|9123 || Фамилия сотрудника | |||
|- | |||
|9101 || Поле сотрудника типа Строка | |||
| | | | ||
*equal | *equal | ||
*notequal | *notequal | ||
| string - осуществляется фильтр содержит / не содержит | *have | ||
*nothave | |||
| string - осуществляется фильтр равно / не равно / содержит / не содержит | |||
|- | |- | ||
| | |9008 || Номер сотрудника | ||
| | | rowspan="2" | | ||
*equal | *equal | ||
*notequal | *notequal | ||
*gt | *gt | ||
*lt | *lt | ||
| int | | rowspan="2" | | ||
int | |||
|- | |- | ||
| | |9102 || Поле сотрудника типа Число | ||
|- | |||
|9105 || Поле сотрудника типа Чекбокс | |||
| | | | ||
*equal | *equal | ||
*notequal | *notequal | ||
| int | | int — 1/0 <br> boolean | ||
|- | |- | ||
| | |9106 || Поле сотрудника типа Список | ||
| | | | ||
*equal | *equal | ||
Строка 146: | Строка 163: | ||
| string | | string | ||
|- | |- | ||
| | |9107 || Поле сотрудника типа Запись справочника | ||
| | | | ||
*equal | *equal | ||
*notequal | *notequal | ||
| int | | int — идентификатор записи | ||
|- | |- | ||
| | |9111 || Пользовательское поле типа Набор значений | ||
| | | | ||
*equal | *equal | ||
*notequal | *notequal | ||
| | | string - значение, для условия по нескольким значениям - значения через ; (точку с запятой) | ||
|- | |- | ||
| | |9115 || Поле сотрудника типа Задача | ||
| | | | ||
*equal | *equal | ||
Строка 164: | Строка 181: | ||
| int — номер задачи | | int — номер задачи | ||
|- | |- | ||
| | |9117 || Поле сотрудника типа Проект | ||
| | | | ||
*equal | *equal | ||
*notequal | *notequal | ||
| int — номер проекта | | int — номер проекта | ||
|- | |||
|9001 || Группа сотрудников | |||
| | |||
*equal | |||
*notequal | |||
| int — идентификатор группы | |||
|- | |||
|9002 || Номер телефона сотрудника | |||
| rowspan="3" | | |||
*equal | |||
*notequal | |||
| rowspan="3" | | |||
string — осуществляется фильтр содержит / не содержит | |||
|- | |||
|9004 || Короткий номер сотрудника | |||
|- | |||
|9003 || Внешний email сотрудника | |||
|- | |||
|9005 || Должность сотрудника | |||
| | |||
*equal | |||
*notequal | |||
| string — название должности | |||
|- | |||
|9124 || Язык интерфейса сотрудника | |||
| | |||
*equal | |||
*notequal | |||
| string — код языка, например: "En" | |||
|- | |||
|9125 || Имя пользователя Telegram | |||
| | |||
*equal | |||
*notequal | |||
| string - имя пользователя (username, @username, <nowiki>https://t.me/username</nowiki>) | |||
|- | |||
|9126 || Идентификатор Telegram | |||
| | |||
*equal | |||
*notequal | |||
| int - идентификатор в Telegram | |||
|} | |} | ||
== Перейти == | == Перейти == | ||
*[[REST API]] | *[[REST API]] |
Текущая версия от 11:46, 16 мая 2024
Сложные фильтры в REST API ПланФикса применяются в методе «/user/list» при получении списка сотрудников. Фильтры сотрудников задаются следующим набором параметров:
- type — числовой идентификатор фильтра.
- operator — оператор фильтра, одно из значений списка (equal, notequal, gt, lt). У разных фильтров могут быть разные допустимые операторы.
- value — значение фильтра, в зависимости от типа фильтра может быть строкой, числом или сложным объектом.
- field — идентификатор пользовательского поля справочника, по которому выполняется фильтр.
Пример запроса получения списка сотрудников с передачей нескольких фильтров по пользовательскому полю типа «Дата» и пользовательскому полю типа «Сотрудник» (используется логика И):
{ "offset": 0, "pageSize": 100, "fields": "id,name,description,3,5", "filters": [ { "type": 5103, "field": 3, "operator": "equal", "value": { "dateType": "otherRange", "dateFrom": "15-12-2022", "dateTo": "17-12-2022" } }, { "type": 5109, "field": 5, "operator": "equal", "value": "user:50" } ] }
Тип | Название | Операторы | Формат value |
---|---|---|---|
9103 | Поле сотрудника типа Дата |
|
Объект : "value": { "dateType": string, "dateValue": string, "dateFrom": string, "dateTo": string }
Даты считаются переданными в часовом поясе сотрудника, от имени которого сделан запрос. Примеры: "value": { "dateType": "thisWeek" } "value": { "dateType": "otherRange", "dateFrom": "01-12-2022", "dateTo": "06-12-2022" } "value": { "dateType": "otherDate_withTime", "dateFrom": "30-12-2022 12:00", } |
9120 | Дата рождения сотрудника | ||
9108 | Поле сотрудника типа Контакт |
|
string — номер сотрудника/контакта/группы с префиксом.
Например: “user:1”, “contact:5”, “group:3” |
9109 | Поле сотрудника типа Сотрудник | ||
9110 | Поле сотрудника типа Контрагент | ||
9112 | Поле сотрудника типа Группа, сотрудник, контакт | ||
9113 | Поле сотрудника типа Список сотрудников | ||
9006 | ФИО сотрудника (поиск может выполняется по части ФИО) |
|
string — осуществляется фильтр содержит / не содержит |
9121 | Имя сотрудника | ||
9122 | Отчество сотрудника | ||
9123 | Фамилия сотрудника | ||
9101 | Поле сотрудника типа Строка |
|
string - осуществляется фильтр равно / не равно / содержит / не содержит |
9008 | Номер сотрудника |
|
int |
9102 | Поле сотрудника типа Число | ||
9105 | Поле сотрудника типа Чекбокс |
|
int — 1/0 boolean |
9106 | Поле сотрудника типа Список |
|
string |
9107 | Поле сотрудника типа Запись справочника |
|
int — идентификатор записи |
9111 | Пользовательское поле типа Набор значений |
|
string - значение, для условия по нескольким значениям - значения через ; (точку с запятой) |
9115 | Поле сотрудника типа Задача |
|
int — номер задачи |
9117 | Поле сотрудника типа Проект |
|
int — номер проекта |
9001 | Группа сотрудников |
|
int — идентификатор группы |
9002 | Номер телефона сотрудника |
|
string — осуществляется фильтр содержит / не содержит |
9004 | Короткий номер сотрудника | ||
9003 | Внешний email сотрудника | ||
9005 | Должность сотрудника |
|
string — название должности |
9124 | Язык интерфейса сотрудника |
|
string — код языка, например: "En" |
9125 | Имя пользователя Telegram |
|
string - имя пользователя (username, @username, https://t.me/username) |
9126 | Идентификатор Telegram |
|
int - идентификатор в Telegram |