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

Материал из Planfix
Перейти к: навигация, поиск
Нет описания правки
Нет описания правки
Строка 105: Строка 105:
}
}
</pre>
</pre>
|-
|}
{| class="wikitable" style="margin-top: 1em; width:100%"
!width="40"|Тип !!width="200"| Название !! Операторы !! Формат value
|-
|-
|3106 || Пользовательское поле типа «Контакт»  
|3106 || Пользовательское поле типа «Контакт»  

Версия от 08:21, 30 ноября 2022

Сложные фильтры в REST API ПланФикса применяются в методе «/datatag/{id}/entry/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
3101 Пользовательское поле типа «Дата»
  • 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": "02-07-2022",
    "dateTo": "06-07-2022"
}
"value": {
    "dateType": "otherDate_withTime",
    "dateFrom": "30-06-2022 12:00",
}


Тип Название Операторы Формат value
3106 Пользовательское поле типа «Контакт»
3104 Пользовательское поле типа «Сотрудник»
3111 Пользовательское поле типа «Группа, сотрудник, контакт»
3103 Пользовательское поле типа «Список сотрудников»
  • equal
  • notequal
string - номер сотрудника/контакта/группы с префиксом.

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



Тип Название Операторы Формат value
3108 Пользовательское поле типа «Строка»
  • equal
  • notequal
string - осуществляется фильтр содержит / не содержит
3109 Пользовательское поле типа «Число»
  • equal
  • notequal
  • gt
  • lt
int
3115 Пользовательское поле типа «Чек-бокс»
  • equal
  • notequal
int - 1 / 0

boolean

3105 Пользовательское поле типа «Справочник»
  • equal
  • notequal
int - идентификатор записи


Перейти