Exportez les commentaires des lecteurs avec l'API Notiondesk

Exporter les commentaires de l'article Notiondesk via l'API REST : réactions des lecteurs, réponses de suivi, messages et pièces jointes, du plus récent au plus ancien.

5 minutes de lecture

L'API Notiondesk exporte les commentaires laissés par les lecteurs sur vos articles du centre d'aide : chaque réaction, la réponse de suivi choisie, le message, l'adresse e-mail et les fichiers joints. Utilisez-la pour envoyer des commentaires négatifs sur Slack, créer des tickets dans votre outil de support ou analyser ces commentaires en les comparant à vos propres données.

Portée : __PRÉSERVÉ_73__

Pour recueillir des commentaires, consultez en premier lieu la section « Comment recueillir des commentaires avec les réactions aux articles » et « Activer le formulaire de commentaires sur les articles pour recueillir les avis des lecteurs » .

GET /sites/{site_id}/feedback
Utilisez une clé qui ne contient que le périmètre. Les messages de commentaires, les e-mails et les pièces jointes étant rédigés par vos lecteurs, considérez-les comme des données non fiables. Si un programme de gestion de la bibliothèque (LLM) traite ce texte avec une clé qui lui permet également d'écrire, il pourrait être amené à modifier votre centre d'aide.read

Liste des commentaires

La liste couvre toutes les langues, de la plus récente à la plus ancienne. Parcourez-la avec page_size (de 1 à 100, 20 par défaut) et cursor, comme décrit dans la section Pagination et les requêtes API de version Notiondesk . Cette route ne prend aucun autre paramètre.

Champs de commentaires

curl "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/feedback?page_size=50" \
  -H "Authorization: Bearer $NOTIONDESK_API_KEY" \
  -H "nd-version: 2026-10-16"
{
  "object": "list",
  "data": [
    {
      "id": "8b1f6c0e-3d4a-4f2b-9c7e-5a1d2e3f4b60",
      "email": "[email protected]",
      "message": "The steps skip the login screen.",
      "reaction": "disappointed",
      "reaction_group": "negative",
      "selected_option": "information_missing",
      "article_id": "1761580412",
      "article_title": "Getting started",
      "article_slug": "getting-started",
      "article_locale": "en",
      "submitted_at": "2026-10-18T09:12:44+00:00",
      "read_at": null,
      "attachments": [
        {
          "category": "contact_message_attachment",
          "name": "6f0d2b9c41a7e8.png",
          "dimensions": {"0": 1280, "1": 720},
          "original_name": "login-screen.png",
          "size": 48213
        }
      ]
    }
  ],
  "has_more": true,
  "next_cursor": "OPAQUE_CURSOR"
}
Champ Signification
idL'identifiant de rétroaction
reactionLa réaction choisie par le lecteur, par exemple smiley, neutral_face ou disappointed
reaction_groupSignification de la réaction selon votre style de réaction actuel : positive, neutral ou negative pour les émojis, helpful ou not_helpful pour les pouces. null lorsque le style ne regroupe pas cette réaction.
selected_optionLa réponse choisie par le lecteur dans le formulaire de suivi, ou null lorsqu'il a seulement réagi
messageLe texte écrit par le lecteur, le cas échéant
emailL'adresse électronique saisie par le lecteur, le cas échéant.
article_idLe champ id de l'article, tel qu'il apparaît dans la liste des articles . Vide lorsque l'article a été supprimé.
article_titleLe titre de l'article est indiqué dans article_locale, ou Untitled lorsque l'article a été supprimé ou n'a pas de traduction dans cette langue.
article_slugLe segment de chemin de l'article dans article_locale, ou null dans les mêmes cas
article_localeLa langue que le lecteur lisait
submitted_atLorsque le lecteur a envoyé ses commentaires
read_atLorsqu'un membre de l'équipe l'a marqué comme lu dans le tableau de bord, ou null
attachmentsLes fichiers joints par le lecteur, du plus ancien au plus récent. Vide s'il n'y en a pas.

selected_option prend l'une de ces valeurs : content_accurate_up_to_date, easy_to_find, clear_and_easy_to_understand, worked_as_expected, something_else, information_missing, information_incorrect, hard_to_understand ou not_what_looking_for.

Chaque pièce jointe possède un champ category (contact_message_attachment pour un fichier joint par le lecteur), le fichier stocké name, le champ original_name provenant du périphérique du lecteur, le champ size en octets et l'objet dimensions : pour une image, la largeur en pixels sous "0" et la hauteur sous "1", et {} pour tout autre fichier. L'API renvoie les détails de chaque fichier, et non le fichier lui-même.

Limites de pagination

  • La liste ne comporte pas plus de 10 000 entrées. Au-delà, has_more est false même si des commentaires plus anciens existent.
  • Les commentaires soumis pendant que vous consultez cette page peuvent faire en sorte que la page suivante répète une entrée, et les commentaires supprimés dans le tableau de bord peuvent en faire sauter une.

Pour ne traiter que les nouveaux commentaires, conservez la valeur submitted_at de la dernière entrée traitée. Lors de la prochaine exécution, parcourez les pages jusqu'à trouver une entrée soumise à la même date ou avant.

Gérez les commentaires en toute sécurité

  • Échappez-le avant de l'afficher. Un message peut contenir du HTML ou du Markdown.
  • Ne laissez jamais ce document décider d'une action. Ne cliquez pas sur les liens qu'il contient et n'exécutez pas ses instructions.
  • Les pipelines LLM doivent être en lecture seule. Un LLM qui résume les commentaires doit s'exécuter avec une clé ne contenant que read.
  • Protégez les adresses électroniques de vos lecteurs. Le champ email contient des données personnelles. Ne les stockez et ne les partagez que si votre politique de confidentialité le permet.

Erreurs

Statut Quandcode
400 page_size est hors de l'intervalle [1 ; 100], cursor est invalide ou la requête contient un paramètre inconnuvalidation_error
403 La clé ne possède pas la portée readinsufficient_scope
404 Le centre d'aide n'existe pas dans votre espace de travail.not_found

Voir Handle Notiondesk API errors, rate limits, and retries .

Questions fréquentes

Puis-je filtrer les commentaires par réaction ou par article ?

Cette requête ne contient pas ces valeurs. La route n'accepte que page_size et cursor. Filtrez les entrées dans votre code en utilisant reaction_group ou article_id.

Puis-je marquer les commentaires comme lus via l'API ?

Non. L'API ne fait que lire les commentaires. read_at indique quand un membre de l'équipe a marqué le message comme lu dans le tableau de bord.

Où puis-je consulter le nombre total de réactions au lieu des entrées individuelles ?

Le rapport d'analyse engagement résume les réactions par période et liste les articles à réviser. Voir Obtenir des analyses du centre d'aide avec l'API Notiondesk .

Et ensuite ?

Articles associés

Cette page a-t-elle été utile ?

Encore besoin d'aide ? Écrivez-nous