Comment intégrer un service de modération tiers avec Discourse ?

Bonjour à tous,

Nous souhaitons intégrer un service de modération tiers externe à notre forum Discourse.

L’objectif est de permettre à un prestataire de modération externe de récupérer les messages en attente de modération, de les examiner via sa propre plateforme et d’envoyer les décisions de modération (approuver, rejeter ou signaler) vers Discourse.

Je souhaiterais savoir :

  • Discourse prend-il officiellement en charge ce type de flux de travail de modération externe ?

  • Cette intégration peut-elle être mise en œuvre entièrement via l’API REST de Discourse ?

  • Existe-t-il une méthode recommandée pour récupérer les messages en attente et soumettre les décisions de modération de manière programmatique ?

  • Y a-t-il des plugins, des intégrations ou des bonnes pratiques existantes pour connecter Discourse à des plateformes de modération tierces ?

Idéalement, nous aimerions conserver Discourse comme principale plateforme de discussion tout en déléguant les opérations de modération à un prestataire externe.

Tout conseil ou exemple de mises en œuvre similaires serait grandement apprécié.

Merci d’avance !

Pas en tant que fonctionnalité dédiée, mais tout ce qui se trouve dans notre file d’attente de revue passe par notre API. Ainsi, tout ce qu’un humain peut faire dans /review est réalisable via l’API. Vous pouvez donc créer un utilisateur dédié avec des permissions de modération pour votre intégration et générer une clé API pour cet utilisateur.

Oui, mais il y a beaucoup de variations dans les détails. La file d’attente de revue ne voit les publications que si elles sont en attente (en fonction des paramètres du site/catégorie/utilisateur) ou signalées par un utilisateur. Si vous avez besoin que chaque publication passe par votre système, vous devrez utiliser les webhooks de publication comme post_created/post_edited.

Vous pouvez interroger /review.json ou utiliser des webhooks comme reviewable_created/reviewable_updated. Vous pouvez récupérer des éléments individuels avec /review/:id.json — cela inclura les actions disponibles et la version actuelle.

Pour envoyer une action, vous pouvez utiliser PUT /review/:id/perform/:action_id?version=N. La version est requise afin de ne pas créer de conflits si l’élément a changé après sa récupération.

Si vous souhaitez comprendre comment exécuter une action spécifique, vous pouvez le déduire en l’effectuant dans votre navigateur via l’interface Discourse et en copiant la requête depuis l’onglet réseau. Consultez Reverse engineer the Discourse API

Discourse Akismet (probablement l’exemple le plus proche) et Discourse AI sont tous deux des plugins officiels qui peuvent interagir avec des tiers dans le cadre d’un processus de signalement. Ils pourraient être utiles à examiner.