Post-Created 웹훅 이벤트 페이로드 변경 방법

안녕하세요.

토픽 생성 이벤트가 발생했을 때 webbook의 payload 값을 사용자 정의하고 싶습니다.

예를 들어…

현재 상태 (AS-IS)

{
  "post": {
    "id": 19,
    "name": "user",
    "username": "user",
    "avatar_template": "/letter_avatar_proxy/v2/letter/u/c0e974/{size}.png",
    "created_at": "2018-07-20T06:24:33.205Z",
    "cooked": "<p>Cool, now i have you, haha</p>",
    "post_number": 6,
    "post_type": 1,
    "updated_at": "2018-07-20T06:24:33.205Z",
    "reply_count": 0,
    "reply_to_post_number": null,
    "quote_count": 0,
    "avg_time": null,
    "incoming_link_count": 0,
    "reads": 0,
    "score": 0,
    "topic_id": 11,
    "topic_slug": "this-is-new-topic",
    "topic_title": "This is new topic",
    "display_username": "user",
    "primary_group_name": null,
    "version": 1,
    "user_title": null,
    "moderator": false,
    "admin": true,
    "staff": true,
    "user_id": 1,
    "hidden": false,
    "trust_level": 1,
    "deleted_at": null,
    "user_deleted": false,
    "edit_reason": null,
    "wiki": false,
    "topic_posts_count": 6
  }
}

목표 상태 (TO-BE)

{
   "topic_title": "This is new topic"
}

어떻게 해야 하는지 알려 주실 수 있나요?

저도 비슷한 요구 사항이 있습니다. 저도 혼란을 느끼고 있습니다. 현재 좋은 해결책은 없습니다.

안녕하세요, 디스코urs에서 웹훅 페이로드의 일부만 보내는 내장된 기능은 없지만, 몇 가지 시도해 볼 만한 아이디어가 있습니다:

- 중간에 작은 프록시(예: 작은 Node.js 또는 Python 엔드포인트)를 두어 전체 웹훅을 받은 후 topic_title을 제외한 모든 것을 제거하고 나머지만 전달하는 방식입니다. 매우 유연하고 디스코urs 자체에는 영향을 주지 않습니다.

- 또는, 가능하다면 on(:post_created)를 감지하는 작은 디스코urs 플러그인을 작성하여 관심 있는 필드만 전송할 수 있습니다. Ruby로 몇 줄이면 끝납니다.

- 또 다른 간편한 방법은 Zapier나 n8n과 같은 도구를 사용해 전체 페이로드를 가져온 후 최종 시스템에 도달하기 전에 매핑/필터링하는 것입니다.

특별한 기술은 아니지만, topic_title만 필요할 때 제가 시도해 볼 방법들입니다 :slightly_smiling_face:

네. 저는 1번을 사용하지만, 이는 추가적인 코딩과 유지보수가 필요합니다.