L'API Notiondesk vous fournit les données clés des pages d'analyse de votre centre d'aide : visiteurs, nombre de vues d'articles, temps passé sur la page, pays d'origine, requêtes des lecteurs, recherches infructueuses et réactions des lecteurs à vos articles. Utilisez-la pour alimenter un outil de BI, publier un rapport hebdomadaire sur Slack ou identifier le contenu que vos lecteurs pourraient manquer.
GET /sites/{site_id}/analytics/{report}report | Contient |
|---|---|
quick | Résumé sur 30 jours : articles, visiteurs, recherches et réactions |
overview | Visiteurs, nombre de vues d'articles, temps passé sur la page et principaux pays |
search | Recherches, requêtes principales, recherches sans résultat et taux de clics |
engagement | Nombre de vues, articles les plus populaires, sites référents, réactions et articles à réviser |
Chaque rapport doit inclure le périmètre read. Pour consulter ces chiffres dans le tableau de bord, reportez-vous à la section « Comment améliorer votre centre d’aide grâce aux informations des lecteurs » .
Obtenez un résumé sur 30 jours
quick couvre les 30 derniers jours et ne prend aucun paramètre de requête. articles comptabilise tous les articles du centre d'aide, brouillons compris. reactions comptabilise la dernière réaction de chaque lecteur pour chaque article.
Obtenez un rapport pour une plage de dates.
overview, search et engagement prennent une plage de dates et une taille de compartiment :
curl "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/analytics/quick" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16"{
"articles": 42,
"visitors": 25,
"searches": 9,
"reactions": 4
}| Paramètre | Requis | Notes |
|---|---|---|
start_date | Oui | Le premier instant de la plage, tel que 2026-09-01T00:00:00Z |
end_date | Oui | Fin de la plage, exclue. Doit se trouver après start_date |
date_scale | Oui | Taille des intervalles de la série chronologique : minute, hour, day, week, month ou year |
timezone | Non | Fuseau horaire IANA définissant les limites des compartiments, par exemple Europe/Paris. Valeur par défaut : UTC |
curl "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/analytics/search?start_date=2026-09-01T00:00:00Z&end_date=2026-10-01T00:00:00Z&date_scale=week&timezone=Europe/Paris" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16"Règles relatives au stand de tir :
- Les dates utilisent le format
YYYY-MM-DDTHH:MM[:SS]avec un décalage optionnel. Sans décalage, la date est lue en UTC et non au formattimezone. Dans l'URL, indiquez+comme%2Bou utilisezZ.
- La période concernée commence le 1er janvier 2020 ou après et se termine au plus tard dans deux jours.
- Au maximum 1 000 intervalles. Par exemple,
minutecouvre au maximum 16 heures ethourau maximum 41 jours. Utilisez un intervalle plus large,date_scale, pour les périodes plus longues.
- Les semaines commencent le lundi.
Chaque rapport compare votre plage avec la période de même longueur juste avant : previous et total_previous décrivent cette période antérieure.
Série de comptes
visitors, article_views et searches partagent une même forme :
{
"total": 12,
"total_previous": 8,
"difference": 4,
"percentage_difference": 50.0,
"current": [{"date": "2026-09-14", "count": 7}, {"date": "2026-09-15", "count": 5}],
"previous": [{"date": "2026-08-20", "count": 8}]
}currentetpreviouslistent uniquement les compartiments qui contiennent des données, du plus ancien au plus récent.
- Le
dated'un seau est son point de départ, danstimezone:YYYY-MM-DDpourdayet plus grossier,YYYY-MM-DDTHH:MMpourhouretminute.
percentage_differenceest0.0lorsque le total précédent est0.
overview
| Champ | Signification |
|---|---|
visitors | Série de comptage. total représente le nombre de visiteurs distincts sur la plage, et non la somme des points. |
article_views | Nombre de vues de la page de l'article |
session_durations | Temps passé par les lecteurs sur une page, en secondes : average_seconds, et current et previous listes de {date, seconds} |
top_countries | Jusqu'à 10 pays : country (code ISO), country_name et visitors |
search
| Champ | Signification |
|---|---|
searches | Compter les séries de recherches |
searches_with_results | Totaux et liste queries : query, searches, clicks, articles_shown, click_through_rate et avg_click_position |
searches_without_results | Totaux et liste queries : query et searches |
click_through_rate | Part des recherches ayant abouti à un clic, en pourcentage : current, previous, difference et percentage_difference |
{
"searches_without_results": {
"total": 3,
"total_previous": 0,
"difference": 3,
"percentage_difference": 0.0,
"queries": [{"query": "refund policy", "searches": 3}]
}
}searches_without_results.queriesengagement
| Champ | Signification |
|---|---|
| __PRÉSERVÉ_67__, __PRÉSERVÉ_66__ | views, articles_to_revise et un reaction_summary pour chaque période |
article_views | Nombre de vues de la page de l'article |
top_articles | Les articles les plus consultés : title, host, pathname et views |
top_referrers | Provenance des visiteurs : referrer (null pour une visite directe) et visitors |
article_engagements | Les articles qui ont suscité le plus de réactions positives chez les lecteurs sont : title, url, views et reaction_summary. |
articles_to_revise | Les articles qui ont suscité les réactions les plus négatives des lecteurs concernaient les mêmes domaines. |
Un reaction_summary suit votre style de réaction :
La variable score varie de 0 à 100 : elle représente la part des réactions positives, une réaction neutre comptant pour la moitié (voir emoji). Avec le format thumbs, les groupes sont helpful et not_helpful. Voir « Comment recueillir des commentaires sur les articles » .
Limites de la liste
{
"style": "emoji",
"total": 6,
"score": 58,
"groups": [
{"key": "positive", "count": 3, "percent": 50},
{"key": "neutral", "count": 1, "percent": 17},
{"key": "negative", "count": 2, "percent": 33}
]
}- Les listes de requête
top_articles,top_referrers,article_engagementsetarticles_to_revisecontiennent chacune jusqu'à 50 lignes et couvrent uniquement la période actuelle. Une liste de 50 lignes peut être incomplète : réduisez la plage pour afficher toutes les lignes.
- Les totaux couvrent l'ensemble des données, et pas seulement les lignes listées.
titleCes URL proviennent des navigateurs des visiteurs et peuvent être falsifiées par n'importe qui. Il est impératif de les ignorer avant de les afficher et de ne jamais les suivre ni agir en conséquence sans les vérifier.urlhostpathnamereferrerqueryL'analyse et votre plan
L'accès à l'API nécessite un forfait Entreprise, qui inclut des analyses avancées, de sorte que chaque rapport accepte n'importe quelle plage et échelle dans 1 000 compartiments.
Limite de débit
Outre les 120 lectures par minute de votre clé, les rapports d'analyse sont comptabilisés dans un budget de 30 requêtes par minute et par centre d'aide , partagé par chaque clé et application OAuth de votre espace de travail. Une requête adressée à ce centre d'aide renvoie une réponse 429 rate_limited, et son en-tête Retry-After indique quand réessayer. Il est recommandé de mettre les rapports en cache plutôt que de les demander à chaque chargement de page.
Erreurs
| Statut | Quand | code |
|---|---|---|
| 400 | Un paramètre est manquant, mal formé ou inconnu, quick a reçu un paramètre ou une règle de plage a échoué. La liste errors indique le paramètre et la règle. | validation_error |
| 403 | La clé ne possède pas la portée read | insufficient_scope |
| 403 | Les outils d'analyse sont désactivés pour le centre d'aide. | permission_denied |
| 404 | report ne fait pas partie des quatre rapports, ou le centre d'aide n'existe pas dans votre espace de travail. | not_found |
| 429 | Le budget analytique du centre d'aide est dépensé | rate_limited |
| 503 | Le service d'analyse n'a pas répondu. Veuillez réessayer ou restreindre la plage de recherche. | internal_error |
Voir Handle Notiondesk API errors, rate limits, and retries .
Questions fréquentes
Comment trouver ce que les lecteurs recherchent mais ne trouvent pas ?
Appelez le rapport search et lisez searches_without_results.queries. Chaque entrée correspond à une requête qui n'a renvoyé aucun article, avec le nombre de fois où elle a été recherchée.
Pourquoi mon rapport affiche-t-il la réponse 400 concernant dateScale ?
dateScale ?La plage contient plus de 1 000 compartiments à votre valeur date_scale. Utilisez une échelle plus grossière, comme day au lieu de hour, ou une plage plus courte. Le message indique dateScale, mais le paramètre est date_scale.
Pourquoi une liste est-elle tronquée à 50 lignes ?
Les listes peuvent contenir jusqu'à 50 lignes. Divisez une longue plage en plages plus courtes pour afficher plus de requêtes ou d'articles.
Puis-je obtenir des statistiques pour un article ?
Les rapports couvrent l'intégralité du centre d'aide. Le nombre de vues et de réactions de chaque article figure également dans la liste des articles , sous les noms views_count et reactions_percent.