# Дашборд Методы API для дашбордов. ## `DELETE /api/dashboard/:dashboard-id/public_link` Удалить публичную ссылку на этот дашборд. ### Параметры: * **`dashboard-id`** целое число больше нуля. ## `DELETE /api/dashboard/:id` Удалить дашборд. Эта операция также удалит любые вопросы/модели/сегменты/метрики, которые используют эту базу данных. ### Параметры: * **`id`** целое число больше нуля. ## `GET /api/dashboard/` Данная конечная точка сейчас не используется на фронтенде Glarus BI и может быть устаревшей для других частей приложения. Она существует для It only exists для обратной совместимости и может быть удалена в будущем. Получить `Дашборды`. С опцией фильтра `f` (по умолчанию `all`), результат ограничивается следующим образом: * `all` - возвращает все дашборды * `mine` - возвращает дашборды созданные пользователем. * `archived` - возвращает архивные дашборды (пол умолчанию *не включены*.). ### Парамеры: * **`f`** обнуляемое перечисление всех, моих, архивных. ## `GET /api/dashboard/:dashboard-id/dashcard/:dashcard-id/execute` Получает значения для заполнения параметров исполнения. ### Параметры: * **`dashboard-id`** целое число больше нуля. * **`dashcard-id`** целое число больше нуля. * **`parameters`** допустимая JSON-строка. ## `GET /api/dashboard/:id` Получает дашборд по ID. ### Параметры: * **`id`** целое число больше нуля. ## `GET /api/dashboard/:id/params/:param-key/search/:query` Получает возможные значения параметра, ID которого является `:param-key`, содержащий `:query`. Если значения приходят напрямую из запроса, то опционально ограничивает такие значения, передавая параметры запроса как `other-parameter=value`, например, ;; получить значения дашборда 1 параметр 'abc' который содержит 'Cam' и возможно когда установлен параметр 'def' ;; до 100 GET /api/dashboard/1/params/abc/search/Cam?def=100 Возвращает первые 1000 значений. ### Параметры: * **`id`** целое число больше нуля. * **`param-key`** * **`query`** непустая строка. * **`constraint-param-key->value`** ## `GET /api/dashboard/:id/params/:param-key/values` Получить возможные параметры, ID которых заданы в `:param-key`. Опционально ограничивает такие значения, передавая такие параметры запроса, как `other-parameter=value`, например, ;; получить значение параметра 'abc' дашборда 1, которые возможны в том случае, когда параметр 'def' установлен равным 1000 GET /api/dashboard/1/params/abc/values?def=100. ### Параметры: * **`id`** целое число больше нуля. * **`param-key`** * **`constraint-param-key->value`** ## `GET /api/dashboard/:id/related` Возвращает соответствующие сущности. ### Параметры: * **`id`** целое число больше нуля. ## `GET /api/dashboard/:id/revisions` Получить `Revisions` для дашбордов с ID. ### Параметры: * **`id`** целое число больше нуля. ## `GET /api/dashboard/embeddable` Получить список дашбордов, где `enable_embedding` является `true`. Дашборды могут быть встроены, используя метод встраивания и подписанный JWT-токен. ## `GET /api/dashboard/params/valid-filter-fields` Служебный метод для управления пользовательским интерфейсом дашборда. Допустим, у нас есть набор 'отфильтрованных' элементов Field IDs (предположительно, Fields используемые в параметрах) и набор 'фильтрующих' Field IDs, которые будут использованы для ограничения значений 'отфильтрованных' Fields. Для каждого 'отфильтрованного' Field ID возвращает подмножество 'фильтрующих' Field IDs, которые могут быть использованы в связанном запросе фильтра с данными полями. Пример связанного запроса фильтра: GET /api/dashboard/10/params/PARAM_1/values?PARAM_2=100 Предположим, `PARAM_1` отвечает Field 1 и `PARAM_2` отвечает Fields 2 и 3. Базовый MBQL-запрос может либо отфильтровывать, либо не отфильтровывать по значениям Fields 2 и 3, в зависимости от того, есть ли зависимость FK, которая устанавливает связь с Field 1. Вы можете использовать этот метод для определения, какое из этих полей (Fields) используется в настоящее время: GET /api/dashboard/params/valid-filter-fields?filtered=1&filtering=2&filtering=3 ;; -> {1 [2 3]} Результаты будут возвращены в качестве карты: `Отфильтрованный` Field ID -> подмножество `фильтрующих` Field ID, которое может быть использовано для связанных запросов фильтра. ### Параметры: * **`filtered`** целое число больше нуля; или одно или более значений должно быть целыми числами больше нуля. * **`filtering`** целое число больше нуля или null; или одно или более значений должно быть целыми числами больше нуля. ## `GET /api/dashboard/public` Получить список дашбордов с публичными UUIDs. Эти дашборды доступны, если включен общий доступ. ## `POST /api/dashboard/` Создать новый дашборд. ### Параметры: * **`name`** непустая строка. * **`description`** строка или null. * **`parameters`** последовательность параметров должна быть картой с ключами :id и :type, может быть null. * **`cache_ttl`** целое число больше нуля или null. * **`collection_id`** целое число больше нуля или null. * **`collection_position`** целое число больше нуля или null. * **`_dashboard`** ## `POST /api/dashboard/:dashboard-id/dashcard/:dashcard-id/card/:card-id/query` Запускает запрос, связанный с сохраненным вопросом (`Card`) в контексте `Dashboard`, включающего его. ### Параметры: * **`dashboard-id`** целое число больше нуля. * **`dashcard-id`** целое число больше нуля. * **`card-id`** целое число больше нуля. * **`parameters`** последовательность значений должна быть картой параметров с ключом :id, может быть пустой. ## `POST /api/dashboard/:dashboard-id/dashcard/:dashcard-id/card/:card-id/query/:export-format` Запускает запрос, связанный с сохраненным вопросом (`Card`) в контексте `Dashboard`, включающего его, и возвращает его результаты как файл в указанном формате. `parameters` должен быть передан в виде параметра запросы, сериализованного в строку JSON (так как обычно этот метод используется для кнопок 'Загрузка результатов', которые используют действия `form` в HTML). ### Параметры: * **`dashboard-id`** целое число больше нуля. * **`dashcard-id`** целое число больше нуля. * **`card-id`** целое число больше нуля. * **`export-format`** значение должно быть одним из `csv`, `api`, `xlsx`, `json`. * **`parameters`** корректная строка JSON или null. * **`request-parameters`** ## `POST /api/dashboard/:dashboard-id/dashcard/:dashcard-id/execute` Исполняет связанное действие в контексте `Dashboard` и `DashboardCard`, которая включена в дашборд. `parameters` карта параметров дашборда вместе со значениями. `extra_parameters` дополнительные пользовательские параметры. ### Параметры: * **`dashboard-id`** целое число больше нуля. * **`dashcard-id`** целое число больше нуля. * **`parameters`** nullable map from to * **`_body`** ## `POST /api/dashboard/:dashboard-id/public_link` Генерирует общедоступные ссылки для дашборда. Возвращает UUID, который должен использоваться в общедоступных ссылках. Если дашборд уже был размещен, она вернет существующую общедоступную ссылку, а не создаст новую. Общий доступ должен быть включен. Вы должны обладать правами суперпользователя, чтобы использовать этот метод. ### Параметры: * **`dashboard-id`** целое число больше нуля. ## `POST /api/dashboard/:from-dashboard-id/copy` Скопировать дашборд. ### Параметры: * **`from-dashboard-id`** целое число больше нуля. * **`name`** непустая строка или null. * **`description`** строка или null. * **`collection_id`** целое число больше нуля или null. * **`collection_position`** целое число больше нуля или null. * **`is_deep_copy`** логическое значение, может быть пустым. * **`_dashboard`** ## `POST /api/dashboard/:id/revert` Откатить дашборд к предыдущей `Редакции`. ### Параметры: * **`id`** целое число больше нуля. * **`revision_id`** целое число больше нуля. ## `POST /api/dashboard/pivot/:dashboard-id/dashcard/:dashcard-id/card/:card-id/query` Выполнить запрос сводной таблицы для конкретного дашборда. ### Параметры: * **`dashboard-id`** целое число больше нуля. * **`dashcard-id`** целое число больше нуля. * **`card-id`** целое число больше нуля. * **`parameters`** последовательность значений должна быть картой параметров с ключом :id, может быть пустой. ## `POST /api/dashboard/save` Записать денормализованное описание дашборда. ### Параметры: * **`dashboard`** ## `POST /api/dashboard/save/collection/:parent-collection-id` Записать денормализованное описание дашборда в коллекцию с ID `:parent-collection-id`. ### Параметры: * **`parent-collection-id`** целое число больше нуля. * **`dashboard`** ## `PUT /api/dashboard/:id` Обновить дашборд и, при необходимости, карты и вкладки дашборда. Тело запроса должно представлять собой объект JSON с той же структурой, что и ответ от `GET /api/dashboard/:id`. ### Параметры: * **`parameters`** последовательность параметров должна быть картой с ключами :id и :type, может быть пустой. * **`points_of_interest`** строка или null. * **`description`** строка или null. * **`archived`** логическое значение, может быть пустым. * **`dashcards`** последовательность карт с уникальными id, может быть пустой. * **`collection_position`** целое число больше нуля или null. * **`tabs`** последовательность карт с уникальными id, может быть пустой. * **`show_in_getting_started`** логическое значение, может быть пустым. * **`enable_embedding`** логическое значение, может быть пустым. * **`collection_id`** целое число больше нуля или null. * **`dash-updates`** * **`name`** непустая строка или null. * **`caveats`** строка или null. * **`embedding_params`** допустимая карта параметров внедрения или null. * **`cache_ttl`** целое число больше нуля или null. * **`id`** целое число больше нуля. * **`position`** целое число больше нуля или null. ## `PUT /api/dashboard/:id/cards` (УСТАРЕЛО -- Используйте `PUT /api/dashboard/:id`) Обновить `Карты` и `Закладки` на дашборде. Текст запроса должен иметь форму: {:cards [{:id ... ; DashboardCard ID :size_x ... :size_y ... :row ... :col ... :parameter_mappings ... :series [{:id 123 ...}]} ...] :tabs [{:id ... ; DashboardTab ID :name ...}]}. ### Параметры: * **`id`** целое число больше нуля. * **`cards`** последовательность карт с уникальными id. * **`tabs`** последовательность карт с уникальными id, может быть пустой. --- [<< Назад к разделу API](./api-documentation.md)