pawlean
(Pauline P. Narvas)
7월 15, 2021, 12:19오후
1
안녕하세요 여러분! 현재 Front App 와 Discourse 통합 작업을 진행 중입니다. 지금은 Pipedream 을 사용하여 두 서비스를 연결하고 있습니다.
두 가지 워크플로우를 설정했습니다:
Discourse → Front App. Discourse에서 새 메시지가 수신되면 해당 메시지를 Front에 게시합니다.
Front → Discourse. Front에서 해당 Discourse 가져온 메시지에 답장을 보내면, Front의 새 답장을 감시하는 Pipedream 웹훅이 Discourse API를 사용하여 답장을 Discourse에 게시합니다. 이 방식은 잘 작동하지만, Front에 접속하면 제 응답이 표시됩니다(워크플로우 1이 트리거되기 때문이며, 즉 Discourse에서 새 메시지가 수신될 때). 이제 받은 편지함 스레드에 두 개의 메시지가 표시됩니다. Front를 통해 보낸 메시지와 워크플로우 1에서 가져온 동일한 메시지입니다.
Front에서 보낸 이 메시지들이 첫 번째 워크플로우에 의해 다시 가져오는 것을 어떻게 "제외"할 수 있을까요? 이것이 Discourse API로 가능한가요?
미리 감사합니다!
안녕하세요 , 흥미로운 통합을 진행 중인 것 같네요.
더 잘 도와드리기 위해 몇 가지 질문을 드리고자 합니다.
Discourse의 개인 메시지(PM) 생성, 또는 새 주제/주제 답변에 기반하여 라우팅을 수행하고 계신가요?
새 주제/주제 답변에 기반하여 라우팅을 수행하는 경우…
Discourse 인스턴스에서 모든 주제 또는 주제에 대한 답변을 Front로 새 메시지로 라우팅하고 계신가요?
Front에서 받은 메시지에 답변할 때, API를 사용하여 원래 주제에 답변을 보내고 계신가요?
pawlean
(Pauline P. Narvas)
7월 15, 2021, 4:20오후
3
조던, 안녕!
답장 주셔서 감사합니다.
질문에 대한 답변은 다음과 같습니다:
네, Front로 보내는 것은 주제나 주제에 대한 답변 중 아무거나 가능합니다.
Front에서 답변을 보내면, Pipedream에서 생성된 URL을 통해 Discourse POST API가 트리거되어 원래 주제(주제 ID를 통해 찾음)로 전송됩니다.
결국, 과정은…
Front에서 특정 사람에게 메시지 답변을 보냅니다.
그 다음 Discourse API(워크플로 1)가 포럼에 새 메시지가 있다는 것을 감지하여 Front에 새 메시지로 전송합니다.
이 중복을 방지하고 싶습니다.
이해하기 어려울 수 있으니 설명이 잘 안 됐다면 알려주세요. 도움이 될 만한 조언이 있다면 정말 감사하겠습니다!
즉, Discourse의 토픽은 최초 생성 시에만 Front의 메시지로 전송되고, 그 이후에는 다시 전송되지 않는 것이 맞다는 말씀이신가요?
제가 이해한 내용이 맞는지 확인해 주세요.
Discourse에서 토픽 생성
1a) 해당 토픽이 Front의 메시지로 변환됨
사용자가 Front 메시지에 답장
2a) Front 메시지가 Discourse로 전송되어 생성된 토픽에 대한 답장으로 추가됨
이 경우, Discourse 사용자가 2a 단계에서 다시 답장을 할 수 있나요? 아니면 이 시점 이후로 대화가 중단되나요?
이렇게 묻는 이유는, Front에서 Discourse로 생성 요청이 들어올 때 생성 시점의 게시글 ID를 확인해 보시는 것이 좋을 수 있기 때문입니다. 만약 Front가 Discourse에서 post id#345의 생성을 트리거했다면
…Front 게시글을 Discourse 게시글로 변환하는 역할을 하는 Pipedream 코드에서, 방금 생성한 Post Id와 동일한 ID가 아닌지 확인하여, 동일하다면 Front 메시지로 변환하지 않도록 처리할 수 있습니다.
Pipedream에서 이런 기능이 가능한가요? 저는 해당 제품에 대해 잘 알지 못합니다.
pawlean
(Pauline P. Narvas)
7월 16, 2021, 1:17오후
6
네, Discourse 사용자는 여전히 2a에 답글을 달 수 있습니다. 이 기능이 정상적으로 작동하고 있습니다! 따라서 커뮤니티 멤버가 새로운 Discourse 메시지를 보내면 자동으로 Front 스레드에 추가됩니다.
다음 스크린샷이 더 잘 설명해 줄 수 있습니다:
보시다시피, 저는 Front를 통해 "Just a test message from Front"라고 답글을 달았으며, 이것이 Discourse에 게시되었기 때문에 Discourse API가 새 메시지라는 사실을 감지하여 스레드에 새로운 메시지를 보냅니다.
여러분의 답변 덕분에 생각이 좀 더 깊어졌습니다 Front에서 ID를 찾아서 Discourse SEND MESSAGE API에서 이를 제외하는 semacam 함수를 만들어 보는 건 어떨까요… 시도해 볼게요. 도움을 주셔서 감사합니다!
pawlean
(Pauline P. Narvas)
7월 16, 2021, 2:08오후
7
Hey @jordan.vidrine , 도움 주셔서 감사합니다! 이 스레드를 통해 함께 이야기하면서 아이디어를 얻었고, 이제 잘 작동합니다. 특히 이 부분이요:
제가 이걸 물어보는 이유는, 프론트에서 생성 요청이 들어올 때 게시글 ID를 확인해 보라고 제안드리고 싶어서입니다. 프론트가 Discourse에서 게시글 id#345를 생성하도록 트리거한 경우 말입니다.
감사합니다!
정말 멋지네요! 잘 되고 있다는 소식을 들으니 기쁩니다