Discourse에 제3자 모니터링 서비스를 통합하는 방법?

안녕하세요,

저희는 Discourse 포럼에 외부 제3자 모더레이션 서비스를 통합하기를 원합니다.

목표는 외부 모더레이션 제공업체가 대기 중인 게시글을 가져와 자체 플랫폼에서 검토한 후, 모더레이션 결정(승인, 거부 또는 플래그)을 Discourse로 다시 전송할 수 있도록 하는 것입니다.

아래 사항들을 알고 싶습니다:

  • Discourse가 이러한 유형의 외부 모더레이션 워크플로우를 공식적으로 지원합니까?

  • 이 통합은 Discourse REST API만으로 완전히 구현할 수 있습니까?

  • 대기 중인 게시글을 가져오고 모더레이션을 결정하는 프로그래밍 방식의 권장 방법이 있습니까?

  • Discourse를 제3자 모더레이션 플랫폼과 연결하기 위한 기존 플러그인, 통합 사례 또는 모범 사례가 있습니까?

이상적으로는 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을 사용할 수 있습니다. 항목이 가져온 후 변경되었을 때 충돌을 방지하기 위해 버전은 필수입니다.

특정 동작을 실행하는 방법을 파악하려면 Discourse UI에서 브라우저로 해당 작업을 수행한 후 네트워크 탭에서 요청을 복사하여 역설계(reverse engineer)할 수 있습니다. 자세한 내용은 Reverse engineer the Discourse API 을 참고하세요.

Discourse Akismet(아마도 가장 가까운 예시)과 Discourse AI는 모두 신고 과정의 일부로 제3자에게 요청할 수 있는 1차 당사자(first-party) 플러그인입니다. 이들을 참고해 보는 것이 유용할 수 있습니다.