Создание запроса Data Explorer через API
В этом руководстве объясняется, как создать запрос Data Explorer с помощью API Discourse.
Требуемый уровень доступа пользователя: Администратор
Предварительные требования
Перед началом убедитесь, что у вас есть:
- Установленный и включённый плагин Data Explorer на вашем сайте
- Ключ API с областью действия Global, связанный с пользователем-администратором (см. Создание и настройка ключа API)
Для создания запросов требуется глобальный ключ API. Уточнённая область действия «run queries» позволяет только выполнять существующие запросы, но не создавать новые.
Создание запроса
Чтобы создать новый запрос Data Explorer, выполните POST-запрос к /admin/plugins/discourse-data-explorer/queries.
Параметры
| Параметр | Обязательно | Описание |
|---|---|---|
query[name] |
Да | Название вашего запроса |
query[sql] |
Да | SQL-запрос для выполнения |
query[description] |
Нет | Описание того, что делает запрос |
query[group_ids] |
Нет | Массив идентификаторов групп, которые могут получить доступ к этому запросу |
Пример запроса
curl -X POST "https://your-site.com/admin/plugins/discourse-data-explorer/queries" \
-H "Content-Type: multipart/form-data;" \
-H "Api-Key: <api-key>" \
-H "Api-Username: <username>" \
-F 'query[name]=User count query' \
-F 'query[sql]=SELECT COUNT(*) FROM users'
Пример ответа
{
"query": {
"id": 49,
"name": "User count query",
"description": null,
"username": "<username>",
"group_ids": [],
"last_run_at": "2025-03-13T18:41:44.226Z",
"user_id": 1,
"is_default": false,
"sql": "SELECT COUNT(*) FROM users",
"param_info": [],
"created_at": "2025-03-13T18:41:44.226Z",
"hidden": false
}
}
Обратите внимание на значение id в ответе — оно понадобится вам для выполнения запроса. Подробнее о выполнении запросов через API см. в статье Выполнение запросов Data Explorer с помощью API Discourse.