Разложения (Values)
Ресурс Values — распределения и подсчет записей в каталоге по выбранным критериям.
Получить разложение
URL: /{api url}/catalogs/{catalogId}/values
?value[type]=recordsCount
&axis[type]=field
&axis[value]=2
&recordsFilter[filters][0][fieldId]=12
&recordsFilter[filters][0][value][0]=CURRENT_USER
&limit=100
&offset=0Метод: GET
Параметры:
catalogId(string) — идентификатор каталога
Параметры фильтра (определяют выборку):
value[type](string) — тип подсчитываемого значенияrecordsCount— количество найденных записей (по умолчанию)field— значение по полю каталога
value[value](string) — идентификатор поля каталога для расчета. Допустимо указывать поля типов: число, прогресс, звезды, статус, набор галочек, выбор, связанный объект.value[subType](string) — подтип подсчитываемого значенияuniqueCount— подсчет уникальных значений (доступно для полей типа связанная запись, сотрудник, текст)timeLeft— время нахождения записей в определенном значении поля (доступно для полей статус, набор галочек, выбор). Например: сколько записи были в определенных статусах.timeLeft— время до момента перехода в в определенное значении поля (доступно для полей статус, набор галочек, выбор). Например: сколько прошло времени до того как записи перешли в определенный статус.
valueFn— применяемая функция для подсчета значений''(пусто) — не применять никакую функцию (для value[type]=recordsCount)count— количество записей (значений)sum— сумма значенийmax— максимальное значение в группеmin— минимальное значение в группеavg— среднее значение в группе (пустые значения не учитываются)avgAll— среднее значение в группе (пустые значения считаются за 0)
axis[type](string) — тип оси для разложения записей:all— без разложения (значение по умолчанию)field— разложение по полю каталогаcreatedTime— разложение по времени создания записи
axis[value](string) — идентификатор поля оси разложения (для axis[type]=field)axis[subType](string) — тип группировки данных по оси (для полей типа дата)hour— по часамhourOfDay— по часам дня (все дни «схлопываются»)day— по днямdayOfWeek— по дням недели (пн—вс)week— по неделямweekOfYear— по неделям года (все года «схлопываются»)monthOfYear— по месяцам года (все года «схлопываются»)month— по месяцамyear— по годам
split[type](string) — тип разделения (ось 2) значений внутри разложения по осивозможные значения аналогичны параметру
axis[type]
split[value](string) — идентификатор поля оси 2 (для split[type]=field)split[subType](string) — тип группировки данных по оси 2 (для полей типа дата)возможные значения аналогичны параметру
axis[subType]
splitLimit(число) — если по оси2 вариантов разложения много, то берутся не все, а только часть их них, те которые встречаются чаще (по умолчанию 10, максимум 100)sort(string) — тип сортировки полученной выборки. Для разных типов полей значение по умолчанию разное.axis— сортировать по наименованию (порядку) заголовков осей.Для дат — в порядке их следования
Для статусов, наборов галочек, выбора — в порядке указания элементов в поле каталога
Для текста, связанных записей, сотрудников — по наименованию
value— сортировать по величине значений
sortType(string) — направление сортировки полученной выборкиasc— по алфавиту / в порядке хронологии / в порядке указания в каталогеdesc— в обратном порядке
recordsType(string) — какие записи учитывать для подсчета значенийall— все записи каталога без проверки прав (доступно, если у сотрудника, делающего запрос есть права на просмотр всех записей каталога)available— учитывать только доступные сотруднику записи каталога
recordsFilter(object) — фильтры для выборки записей каталога, такие как filter, sort и другие. подробнее в описании параметров получения записей.limit(number) — количество возвращаемых разложений (по умолчанию 30, максимум 1000)offset(number) — смещение получаемой выборки разложения относительно начала, используется для постраничного получения данных с параметром limit
Естественным языком о смысле параметров описано в статье про интерфейс графика.
Ответ: 200 OK (application/json)
Пример с наличием разложения по оси (axis):
[
{
"axis": "Анатолий",
"values": [
{
"value": "7"
}
]
},
{
"axis": "Виктор",
"values": [
{
"value": "4"
}
]
}
]Пример с наличием разложения по оси (axis) и оси 2 (split):
[
{
"axis": "Анатолий",
"values": [
{
"split": "1"
"value": "3"
},
{
"split": "2"
"value": "4"
}
]
},
{
"axis": "Виктор",
"values": [
{
"split": "2"
"value": "3"
},
{
"split": "3"
"value": "1"
}
]
}
]Параметры:
axis— группа распределения, значение может быть строкой или объектом (в зависимости от оси разложения)values(array of objects) — набор значенийsplit— группа разделения (ось 2), значение может быть строкой или объектом (в зависимости от оси разложения)value(number) — значение в группе (ось) с учетом подгруппы если есть (ось 2)
Получить одно значение разложения
URL: /{api url}/catalogs/{vatalogId}/values/{axisId}
?value[type]=recordsCount
&axis[type]=field
&axis[value]=2
&recordsFilter[filters][0][fieldId]=12
&recordsFilter[filters][0][value][0]=CURRENT_USER
&limit=100
&offset=0Метод: GET
Параметры:
catalogId(string) — идентификатор каталогаaxisId(string) — идентификатор разложения по оси (axis)
Параметры фильтра (определяют выборку):
аналогичны параметрам запроса на получение полного разложения
Ограничение: Метод вернет значение только, если указанная ось попала в общую выборку по указанным параметрам, включая параметры limit и offset.
Ответ: 200 OK (application/json)
Пример с наличием разложения по оси (axis):
{
"axis": "Анатолий",
"values": [
{
"value": "7"
}
]
}Пример с наличием разложения по оси (axis) и оси 2 (split):
{
"axis": "Анатолий",
"values": [
{
"split": "1"
"value": "3"
},
{
"split": "2"
"value": "4"
}
]
}Параметры:
axis— группа распределения, значение может быть строкой или объектом (в зависимости от оси разложения)values(array of objects) — набор значенийsplit— группа разделения (ось 2), значение может быть строкой или объектом (в зависимости от оси разложения)value(number) — значение в группе (ось) с учетом подгруппы если есть (ось 2)
Last updated