Возможно ли легко получить доступ к предварительно рассчитанным данным о здоровье сообщества программным способом (через API и т.д.)? Хотелось бы иметь возможность использовать эти данные без необходимости самостоятельно воспроизводить методику расчёта каждого показателя, чтобы избежать расхождений с результатами на странице «Здоровье сообщества». Спасибо!
Привет @oneonetwothree ![]()
Вы можете выводить данные отчётов в формате JSON.
Например, данные о публикациях с 1 января по 1 мая:
https://your-discourse.com/admin/reports/posts.json?end_date=2023-05-01&mode=table&start_date=2023-01-01
Это вернёт следующее:
{
"report": {
"type": "posts",
"title": "Публикации",
"xaxis": "День",
"yaxis": "Количество новых публикаций",
"description": "Новые публикации, созданные за этот период",
"description_link": null,
"data": [
{
"x": "2023-01-22",
"y": 1
},
{
"x": "2023-01-27",
"y": 1
},
{
"x": "2023-01-31",
"y": 1
},
{
"x": "2023-02-01",
"y": 1
},
{
"x": "2023-02-02",
"y": 1
},
{
"x": "2023-02-06",
"y": 22
},
{
"x": "2023-02-07",
"y": 2
},
{
"x": "2023-02-10",
"y": 3
},
{
"x": "2023-02-11",
"y": 5
},
{
"x": "2023-02-13",
"y": 1
},
{
"x": "2023-02-14",
"y": 1
},
{
"x": "2023-02-17",
"y": 5
},
{
"x": "2023-02-20",
"y": 6
},
{
"x": "2023-02-21",
"y": 1
},
{
"x": "2023-02-22",
"y": 1
},
{
"x": "2023-02-23",
"y": 1
},
{
"x": "2023-02-24",
"y": 2
},
{
"x": "2023-02-25",
"y": 1
},
{
"x": "2023-03-01",
"y": 1
},
{
"x": "2023-03-02",
"y": 4
},
{
"x": "2023-03-03",
"y": 1
},
{
"x": "2023-03-05",
"y": 2
},
{
"x": "2023-03-06",
"y": 1
},
{
"x": "2023-03-08",
"y": 1
},
{
"x": "2023-03-09",
"y": 2
},
{
"x": "2023-03-13",
"y": 1
},
{
"x": "2023-03-16",
"y": 1
},
{
"x": "2023-03-17",
"y": 9
},
{
"x": "2023-03-20",
"y": 1
},
{
"x": "2023-03-22",
"y": 1
},
{
"x": "2023-03-23",
"y": 2
},
{
"x": "2023-03-25",
"y": 1
},
{
"x": "2023-03-31",
"y": 1
},
{
"x": "2023-04-01",
"y": 1
},
{
"x": "2023-04-03",
"y": 1
},
{
"x": "2023-04-04",
"y": 9
},
{
"x": "2023-04-07",
"y": 1
},
{
"x": "2023-04-08",
"y": 1
},
{
"x": "2023-04-12",
"y": 3
},
{
"x": "2023-04-13",
"y": 4
},
{
"x": "2023-04-14",
"y": 6
},
{
"x": "2023-04-19",
"y": 1
},
{
"x": "2023-04-23",
"y": 1
},
{
"x": "2023-04-24",
"y": 2
},
{
"x": "2023-04-25",
"y": 6
}
],
"start_date": "2023-01-01T00:00:00Z",
"end_date": "2023-05-01T23:59:59Z",
"prev_data": null,
"prev_start_date": "2022-09-02T00:00:00Z",
"prev_end_date": "2023-01-01T00:00:00Z",
"prev30Days": 10,
"dates_filtering": true,
"report_key": "reports:posts:20230101:20230501:[:total, :prev30Days]:4",
"primary_color": "rgba(0,136,204,1)",
"secondary_color": "rgba(0,136,204,0.1)",
"available_filters": [
{
"id": "category",
"type": "category",
"default": null
}
],
"labels": [
{
"type": "date",
"property": "x",
"title": "День"
},
{
"type": "number",
"property": "y",
"title": "Количество"
}
],
"average": false,
"percent": false,
"higher_is_better": true,
"modes": [
"table",
"chart"
],
"total": 167
}
}
Это то, что вы искали?
Отлично! Есть ли документация по этим конечным точкам? Я не вижу их на https://docs.discourse.org/
Мне удалось угадать конечные точки для регистраций, тем и сообщений, но я также хотел бы получить данные по DAU/MAU, ежедневно активным пользователям, новым участникам и консолидированным просмотрам страниц. Знаете ли вы, есть ли они тоже? Спасибо!
В большинстве случаев вы можете добавить .json в конец любого URL-адреса, чтобы увидеть, что отправляет Rails.