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

Материал из Planfix
Перейти к: навигация, поиск
Нет описания правки
Нет описания правки
 
(не показаны 2 промежуточные версии 2 участников)
Строка 121: Строка 121:
|-
|-
|9006 || ФИО сотрудника (поиск может выполняется по части ФИО)
|9006 || ФИО сотрудника (поиск может выполняется по части ФИО)
| rowspan="5" |   
| rowspan="4" |   
*equal  
*equal  
*notequal  
*notequal  
| rowspan="5" | string — осуществляется фильтр содержит / не содержит
| rowspan="4" | string — осуществляется фильтр содержит / не содержит
|-
|-
|9121 || Имя сотрудника
|9121 || Имя сотрудника
Строка 133: Строка 133:
|-
|-
|9101 || Поле сотрудника типа Строка
|9101 || Поле сотрудника типа Строка
|
*equal
*notequal
*have
*nothave
| string - осуществляется фильтр равно / не равно / содержит / не содержит
|-
|-
|9008 || Номер сотрудника
|9008 || Номер сотрудника
Строка 162: Строка 168:
*notequal
*notequal
| int — идентификатор записи
| int — идентификатор записи
|-
|9111 || Пользовательское поле типа Набор значений
|
*equal
*notequal
| string - значение, для условия по нескольким значениям - значения через ; (точку с запятой)
|-
|-
|9115 || Поле сотрудника типа Задача
|9115 || Поле сотрудника типа Задача
Строка 203: Строка 215:
*notequal
*notequal
| string — код языка, например: "En"
| 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 Поле сотрудника типа Дата
  • equal
  • notequal
  • gt
  • lt

Объект :

 
"value": {
    "dateType": string,
    "dateValue": string,
    "dateFrom": string,
    "dateTo": string
}


dateType принимает следующие значения:

  • today — сегодня
  • yesterday — вчера
  • tomorrow — завтра
  • thisWeek — текущая неделя
  • lastWeek
  • nextWeek
  • thisMonth
  • lastMonth
  • nextMonth
  • last — последние n дней, n передается в dateValue
  • next — следующие n дней, n передается в dateValue
  • in — через n дней, n передается в dateValue
  • otherDate — точная дата, дата передается в формате дд-мм-гггг в dateFrom
  • otherRange — точный период, даты передаются в формате дд-мм-гггг в dateFrom и dateTo
  • otherDate_withTime — точная дата-время, дата передается в формате "дд-мм-гггг чч:мм" в dateFrom
  • otherRange_withTime — точный период с заданным временем, даты передаются в формате "дд-мм-гггг чч:мм" в dateFrom и dateTo

Даты считаются переданными в часовом поясе сотрудника, от имени которого сделан запрос.

Примеры:

"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 Поле сотрудника типа Контакт
  • equal
  • notequal
string — номер сотрудника/контакта/группы с префиксом.

Например: “user:1”, “contact:5”, “group:3”

9109 Поле сотрудника типа Сотрудник
9110 Поле сотрудника типа Контрагент
9112 Поле сотрудника типа Группа, сотрудник, контакт
9113 Поле сотрудника типа Список сотрудников
9006 ФИО сотрудника (поиск может выполняется по части ФИО)
  • equal
  • notequal
string — осуществляется фильтр содержит / не содержит
9121 Имя сотрудника
9122 Отчество сотрудника
9123 Фамилия сотрудника
9101 Поле сотрудника типа Строка
  • equal
  • notequal
  • have
  • nothave
string - осуществляется фильтр равно / не равно / содержит / не содержит
9008 Номер сотрудника
  • equal
  • notequal
  • gt
  • lt

int

9102 Поле сотрудника типа Число
9105 Поле сотрудника типа Чекбокс
  • equal
  • notequal
int — 1/0
boolean
9106 Поле сотрудника типа Список
  • equal
  • notequal
string
9107 Поле сотрудника типа Запись справочника
  • equal
  • notequal
int — идентификатор записи
9111 Пользовательское поле типа Набор значений
  • equal
  • notequal
string - значение, для условия по нескольким значениям - значения через ; (точку с запятой)
9115 Поле сотрудника типа Задача
  • equal
  • notequal
int — номер задачи
9117 Поле сотрудника типа Проект
  • equal
  • notequal
int — номер проекта
9001 Группа сотрудников
  • equal
  • notequal
int — идентификатор группы
9002 Номер телефона сотрудника
  • equal
  • notequal

string — осуществляется фильтр содержит / не содержит

9004 Короткий номер сотрудника
9003 Внешний email сотрудника
9005 Должность сотрудника
  • equal
  • notequal
string — название должности
9124 Язык интерфейса сотрудника
  • equal
  • notequal
string — код языка, например: "En"
9125 Имя пользователя Telegram
  • equal
  • notequal
string - имя пользователя (username, @username, https://t.me/username)
9126 Идентификатор Telegram
  • equal
  • notequal
int - идентификатор в Telegram

Перейти