URL: {domain}/api/v1/boards/{boardsId}/widgets
Метод: GET
Параметры:
boardsId
(number) — идентификатор дашборда
Ответ: 200 OK (application/json)
[{"id":"14","name":null,"chartType":"pie","stacked":null,"value":{"value":"8","type":"field","subType":"timeLeft"},"valueFn":"avg","axis":{"value":"12","type":"field","subType":null},"split":null,"recordsType":"available","recordsFilter":null},{"id":"15","name":null,"chartType":"columns","stacked":null,"value":{"value":"","type":"recordsCount","subType":null},"valueFn":null,"axis":{"value":"2","type":"field","subType":null},"split":{"value":"2","type":"field","subType":null},"recordsType":"all","recordsFilter":null}]
URL: {domain}/api/v1/boards/{boardsId}/widgets/{widgetsId}
Метод: GET
Параметры:
boardsId
(number) — идентификатор дашборда
widgetsId
(number) — идентификатор графика
Ответ: 200 OK (application/json)
{"id": "14","name": null,"chartType": "pie", // тип графика"stacked": null, // сложить значения"value": // поле 'Значение'{"type": "field", // тип параметра в поле 'Значение'"value": "8", // id поля"subType": "timeLeft" // обязательный параметр для полей типа: категория, набор галочек, вопрос},"valueFn": "avg", // значение функции"axis": // поле 'Ось'{"type": "field","value": "12","subType": null // обязательный параметр для даты создания},"split": null, // поле 'Разложить по' (недоступно для графика типа pie)"recordsType": "available", // доступные записи"recordsFilter": // фильтр{"filters": {"4": // id поля для фильтра[{"recordId": "5","catalogId": "65"}]}}}
Возможные значения:
chartType: columns (столбцы), lines (линия), bars (список), pie (пирог), radar (радар), number (число)
stacked: true и false
value[type]: recordsCount (количество записей), field (поле)
value[value]: id поля (если value[type]=field)
value[subType]: timeLeft (продолжительность)
valueFn: sum (сумма), avg (среднее, не выбранные значения не учитываются), avgAll (среднее по всем, не выбранные значения считаются за ноль), max (максимальное), min (минимальное)
axis[type]: field (поле), createdTime (дата создания)
axis[value]: id поля (если axis[type]=field)
axis[subType]: hour (час), hourOfDay (час дня), day (день), dayOfWeek (день месяца), week (неделя), weekOfYear (неделя года), month (месяц), monthOfYear (месяц года), year (год)
Подробнее про Ось.
split: возможны такие же значения как в axis
recordsType: all (все записи каталога), available (только доступные сотруднику записи)
URL: {domain}/api/v1/boards/{boardsId}/widgets
Метод: POST
Параметры:
boardsId: (number) — идентификатор дашборда
Запрос: (application/json)
{"chartType":"columns","value":{"type":"recordsCount","value":null},"valueFn":null,"axis":{"type":"field","value":"4"},"recordsType":"all"}
Ответ: 200 OK (application/json)
{"id": "16" // идентификатор созданного графика}
URL: {domain}/api/v1/boards/{boardsId}/widgets/{widgetsId}
Метод: PATCH
Параметры:
boardsId
(number) — идентификатор дашборда
widgetsId
(number) — идентификатор графика
Запрос: (application/json)
{"chartType":"columns"}
Ответ: 200 OK (application/json)
URL: {domain}/api/v1/boards/{boardsId}/widgets/{widgetsId}
Метод: DELETE
Параметры:
boardsId
(number) — идентификатор дашборда
widgetsId
(number) — идентификатор графика
Ответ: 200 OK
URL: {domain}/api/v1/boards/{boardsId}/widgets/{widgetsId}/values?recordsFilter[filters][0][fieldId]=12&recordsFilter[filters][0][value][0]=CURRENT_USER&limit=100&offset=0
Подробнее о фильтрах по полям. Пример: «Количество записей / Имя клиента»: boardsId=6, widgetsId=14, filter=CURRENT_USER
URL: /{api url}/boards/{boardsId}/widgets/new/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
Возможные параметры запроса можете найти в параграфе График (Widgets)
Метод: GET
Ответ: 200 OK (application/json)
{"axis": "Анатолий","values": [{"value": "1"}]}
URL: /{api url}/boards/{boardsId}/widgets/{widgetsId}/totals?recordsFilter[filters][0][fieldId]=12&recordsFilter[filters][0][value][0]=CURRENT_USER
URL: /{api url}/boards/{boardsId}/widgets/new/totals?value[type]=recordsCount&axis[type]=field&axis[value]=2&recordsFilter[filters][0][fieldId]=12&recordsFilter[filters][0][value][0]=CURRENT_USER
Метод: GET
Параметры:
boardsId
(number) — идентификатор дашборда
Ответ: 200 OK (application/json)
[{"key": "sum","value": 1},{"key": "avg","value": 1},{"key": "count","value": 1}]