Как интегрировать сторонний сервис модерации с Discourse?

Не как отдельная функция, но всё в нашей очереди на проверку проходит через наш API, поэтому всё, что человек может сделать в /review, можно сделать и через API. Так что вы можете создать специального пользователя с правами модератора для вашей интеграции и сгенерировать для него API-ключ.

Да, но есть много вариаций в деталях. Очередь на проверку видит посты только если они ожидают рассмотрения (на основе настроек сайта/категории/пользователя) или были помечены пользователем. Если вам нужно, чтобы каждый пост проходил через вашу систему, вам необходимо использовать вебхуки постов, такие как post_created/post_edited.

Вы можете опрашивать /review.json или использовать вебхуки, такие как reviewable_created/reviewable_updated. Вы можете получить отдельные элементы с помощью /review/:id.json — это будет включать доступные действия и текущую версию.

Чтобы отправить действие обратно, вы можете использовать PUT /review/:id/perform/:action_id?version=N. Версия обязательна, чтобы не создавать конфликты, если элемент изменился после получения.

Если вы хотите разобраться, как выполнить конкретное действие, вы можете reverse-engineer’ить его, выполнив это в вашем браузере через UI Discourse и скопировав запрос из сетевой вкладки. Посмотрите Reverse engineer the Discourse API

Discourse Akismet (вероятно, самый близкий пример) и Discourse AI — это оба плагина первой стороны, которые могут обращаться к третьим лицам как часть процесса флага. Они могут быть полезны для изучения.