REST API: Сложные фильтры проектов: различия между версиями
Материал из Planfix
Artem (обсуждение | вклад) (Новая страница: «{{#seo: |title=REST API: Сложные фильтры проектов |titlemode=append |keywords=планфикс, фильтры проектов, апи, api, rest, rest api, сложные фильтры проектов |description=REST API: Сложные фильтры проектов }} Сложные фильтры в REST API ПланФикса применяются в методе «/project/list» при получении списка...») |
Seva (обсуждение | вклад) Нет описания правки |
||
| (не показаны 2 промежуточные версии 1 участника) | |||
| Строка 12: | Строка 12: | ||
Пример запроса получения списка проектов с передачей нескольких фильтров, по пользовательскому полю типа «Дата» и пользовательскому полю типа | Пример запроса получения списка проектов с передачей нескольких фильтров, по пользовательскому полю типа «Дата» и пользовательскому полю типа «Сотрудник» (используется логика И): | ||
<pre> | <pre> | ||
| Строка 18: | Строка 18: | ||
"offset": 0, | "offset": 0, | ||
"pageSize": 100, | "pageSize": 100, | ||
"fields": " | "fields": "id,name,description,3,5", | ||
"filters": [ | "filters": [ | ||
{ | { | ||
"type": | "type": 5103, | ||
"field": 3, | "field": 3, | ||
"operator": "equal", | "operator": "equal", | ||
| Строка 31: | Строка 31: | ||
}, | }, | ||
{ | { | ||
"type": | "type": 5109, | ||
"field": 5, | "field": 5, | ||
"operator": "equal", | "operator": "equal", | ||
| Строка 105: | Строка 105: | ||
|5013 || Дата создания | |5013 || Дата создания | ||
|- | |- | ||
| | |5004 || Автор | ||
|rowspan=" | |rowspan="9" | | ||
*equal | *equal | ||
*notequal | *notequal | ||
|rowspan=" | |rowspan="9" | | ||
string - номер сотрудника/контакта/группы с префиксом. | string - номер сотрудника/контакта/группы с префиксом. | ||
Например: “user:1”, “contact:5”, “group:3” | Например: “user:1”, “contact:5”, “group:3” | ||
|- | |- | ||
| | |5008 || Клиент-менеджер | ||
|- | |- | ||
| | |5012 || Аудитор | ||
|- | |- | ||
| | |5011 || Исполнитель | ||
|- | |- | ||
| | |5108 || Поле проекта типа «Контакт» | ||
|- | |- | ||
| | |5109 || Поле проекта типа «Сотрудник» | ||
| | |- | ||
|5110 || Поле проекта типа «Контрагент» | |||
|- | |||
|5112 || Поле проекта типа «Группа, сотрудник, контакт» | |||
|- | |||
|5113 || Поле проекта типа «Список сотрудников» | |||
|- | |||
|5001 || Название проекта | |||
| | |||
*equal | *equal | ||
*notequal | *notequal | ||
|string - осуществляется фильтр содержит / не содержит | | | ||
string - осуществляется фильтр содержит / не содержит | |||
|- | |- | ||
| | |5101 || Поле проекта типа «Строка» | ||
| | | | ||
*equal | |||
*notequal | |||
*have | |||
*nothave | |||
| string - осуществляется фильтр равно / не равно / содержит / не содержит | |||
|- | |||
|5007 || Номер проекта | |||
|rowspan="2" | | |||
*equal | *equal | ||
*notequal | *notequal | ||
*gt | *gt | ||
*lt | *lt | ||
|int | |rowspan="2" | | ||
int | |||
|- | |- | ||
| | |5102 || Поле проекта типа «Число» | ||
|- | |||
|5105 || Поле проекта типа «Чек-бокс» | |||
| | | | ||
*equal | *equal | ||
| Строка 142: | Строка 162: | ||
boolean | boolean | ||
|- | |- | ||
| | |5106 || Поле проекта типа «Список» | ||
| | |||
*equal | |||
*notequal | |||
|string | |||
|- | |||
|5107 || Поле проекта типа «Запись справочника» | |||
| | | | ||
*equal | *equal | ||
*notequal | *notequal | ||
| int - идентификатор записи | | int - идентификатор записи | ||
|- | |||
|5115 || Поле проекта типа «Задача» | |||
| | |||
*equal | |||
*notequal | |||
| int - номер задачи | |||
|- | |||
|5117 || Поле проекта типа «Проект» | |||
| | |||
*equal | |||
*notequal | |||
| int - номер проекта | |||
|- | |||
|5002 || Группа проекта | |||
| | |||
*equal | |||
*notequal | |||
| int - идентификатор группы | |||
|- | |||
|5006 || Статус проекта | |||
| | |||
*equal | |||
*notequal | |||
| int - идентификатор статуса | |||
|- | |||
|5010 || Шаблон | |||
| | |||
*equal | |||
*notequal | |||
| int - номер шаблона | |||
|- | |||
|5003 || Контрагент | |||
| | |||
*equal | |||
*notequal | |||
| int - номер контрагента | |||
string - номер контрагента с префиксом, например: "contact:1" | |||
|- | |||
|5014 || Надпроект | |||
| | |||
*equal | |||
*notequal | |||
| int - номер надпроекта | |||
|} | |} | ||
Текущая версия от 11:54, 27 декабря 2023
Сложные фильтры в REST API ПланФикса применяются в методе «/project/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 |
|---|---|---|---|
| 5103 | Поле проекта типа «Дата» |
|
Объект :
"value": {
"dateType": string,
"dateValue": string,
"dateFrom": string,
"dateTo": string
}
dateType принимает следующие значения:
Даты считаются переданными в часовом поясе сотрудника, от имени которого сделан запрос. Примеры: "value": {
"dateType": "thisWeek"
}
"value": {
"dateType": "otherRange",
"dateFrom": "01-12-2022",
"dateTo": "06-12-2022"
}
"value": {
"dateType": "otherDate_withTime",
"dateFrom": "30-12-2022 12:00",
}
|
| 5005 | Дата завершения | ||
| 5013 | Дата создания | ||
| 5004 | Автор |
|
string - номер сотрудника/контакта/группы с префиксом. Например: “user:1”, “contact:5”, “group:3” |
| 5008 | Клиент-менеджер | ||
| 5012 | Аудитор | ||
| 5011 | Исполнитель | ||
| 5108 | Поле проекта типа «Контакт» | ||
| 5109 | Поле проекта типа «Сотрудник» | ||
| 5110 | Поле проекта типа «Контрагент» | ||
| 5112 | Поле проекта типа «Группа, сотрудник, контакт» | ||
| 5113 | Поле проекта типа «Список сотрудников» | ||
| 5001 | Название проекта |
|
string - осуществляется фильтр содержит / не содержит |
| 5101 | Поле проекта типа «Строка» |
|
string - осуществляется фильтр равно / не равно / содержит / не содержит |
| 5007 | Номер проекта |
|
int |
| 5102 | Поле проекта типа «Число» | ||
| 5105 | Поле проекта типа «Чек-бокс» |
|
int - 1 / 0
boolean |
| 5106 | Поле проекта типа «Список» |
|
string |
| 5107 | Поле проекта типа «Запись справочника» |
|
int - идентификатор записи |
| 5115 | Поле проекта типа «Задача» |
|
int - номер задачи |
| 5117 | Поле проекта типа «Проект» |
|
int - номер проекта |
| 5002 | Группа проекта |
|
int - идентификатор группы |
| 5006 | Статус проекта |
|
int - идентификатор статуса |
| 5010 | Шаблон |
|
int - номер шаблона |
| 5003 | Контрагент |
|
int - номер контрагента
string - номер контрагента с префиксом, например: "contact:1" |
| 5014 | Надпроект |
|
int - номер надпроекта |