wir möchten einen externen Moderationsdienst eines Drittanbieters mit unserem Discourse-Forum integrieren.
Das Ziel ist es, einem externen Moderationsanbieter zu ermöglichen, Beiträge abzurufen, die auf eine Moderation warten, diese über seine eigene Plattform zu überprüfen und die Moderationsentscheidungen (genehmigen, ablehnen oder markieren) an Discourse zurückzusenden.
Ich würde gerne wissen:
Unterstützt Discourse diesen Typ externer Moderationsworkflow offiziell?
Kann diese Integration vollständig über die Discourse REST API umgesetzt werden?
Gibt es eine empfohlene Methode, um ausstehende Beiträge abzurufen und Moderationsentscheidungen programmgesteuert einzureichen?
Gibt es bereits vorhandene Plugins, Integrationen oder bewährte Verfahren für die Anbindung von Discourse an externe Moderationsplattformen?
Idealerweise würden wir Discourse als Hauptdiskussionsplattform beibehalten und die Moderationsoperationen an einen externen Anbieter delegieren.
Jede Anleitung oder Beispiele für ähnliche Implementierungen wären sehr willkommen.
Nicht als dedizierte Funktion, aber alles in unserer Review-Warteschlange wird über unsere API abgewickelt, sodass alles, was ein Mensch unter /review tun kann, auch über die API möglich ist. Du kannst also einen dedizierten Benutzer mit Moderationsrechten für deine Integration erstellen und für diesen Benutzer einen API-Schlüssel generieren.
Ja, aber es gibt viele Variationen in den Details. Die Review-Warteschlange sieht nur Beiträge, wenn sie ausstehend sind (basierend auf Seiten-/Kategorie-/Benutzereinstellungen) oder von einem Benutzer gemeldet wurden. Wenn du möchtest, dass jeder Beitrag durch dein System geht, musst du die Beitrags-Webhooks wie post_created/post_edited verwenden.
Du kannst /review.json pollen oder Webhooks wie reviewable_created/reviewable_updated verwenden. Einzelne Einträge kannst du mit /review/:id.json abrufen – dabei werden die verfügbaren Aktionen und die aktuelle Version angezeigt.
Um eine Aktion zurückzusenden, kannst du PUT /review/:id/perform/:action_id?version=N verwenden. Die Version ist erforderlich, damit keine Konflikte entstehen, falls sich der Eintrag nach dem Abruf geändert hat.
Wenn du herausfinden möchtest, wie eine bestimmte Aktion ausgeführt wird, kannst du es rückwärts ingenieuren, indem du sie im Browser über die Discourse UI ausführst und die Anfrage aus dem Network-Tab kopierst. Schau dir Reverse engineer the Discourse API an.
Discourse Akismet (vermutlich das nächste Beispiel) und Discourse AI sind beide First-Party-Plugins, die im Rahmen eines Meldungsprozesses auf Dritte zugreifen können. Diese könnten nützlich sein, um sich davon inspirieren zu lassen.