Exportation / Extraction de données de santé communautaire

Est-il possible d’accéder facilement aux données pré-calculées sur la santé communautaire de manière programmatique (API, etc.) ? J’aimerais pouvoir utiliser les données sans avoir à dériver la méthodologie utilisée pour calculer chacune d’elles et risquer des résultats incohérents avec la page Santé communautaire. Merci !

Bonjour @oneonetwothree :slight_smile:

Vous pouvez exporter les données des rapports au format JSON.

Par exemple, les données des publications du 1er janvier au 1er mai :

https://your-discourse.com/admin/reports/posts.json?end_date=2023-05-01&mode=table&start_date=2023-01-01

Sortira ceci :

{
  "report": {
    "type": "posts",
    "title": "Posts",
    "xaxis": "Day",
    "yaxis": "Number of new posts",
    "description": "New posts created during this period",
    "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": "Day"
      },
      {
        "type": "number",
        "property": "y",
        "title": "Count"
      }
    ],
    "average": false,
    "percent": false,
    "higher_is_better": true,
    "modes": [
      "table",
      "chart"
    ],
    "total": 167
  }
}

Est-ce que c’est ce que vous cherchiez ?

3 « J'aime »

C’est super ! Y a-t-il de la documentation pour ces points de terminaison ? Je ne les vois pas sur https://docs.discourse.org/

J’ai réussi à deviner les points de terminaison pour les inscriptions, les sujets et les publications ; mais j’espérais aussi obtenir les DAU/MAU, les utilisateurs actifs quotidiens, les nouveaux contributeurs et les vues de page consolidées. Savez-vous s’ils existent également ? Merci !

1 « J'aime »

La plupart du temps, vous pouvez ajouter .json à la fin de n’importe quelle URL pour obtenir ce que Rails envoie.

Ingénierie inverse de l’API Discourse

2 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.