Wie man eine Webhook-Ereignisnutzlast nach der Erstellung ändert

Hallo.

Ich möchte den Webhook-Payload-Wert anpassen, wenn ein Ereignis für die Themen-Generierung auftritt.

Beispiel…

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"
}

Kann ich erfahren, wie das geht?

Ich habe auch ein ähnliches Bedürfnis. Ich bin auch verwirrt. Derzeit gibt es keine gute Lösung.

Hallo, es gibt in Discourse keine eingebaute Möglichkeit, nur einen winzigen Teil der Webhook-Nutzlast zu senden, aber ein paar Ideen, die funktionieren könnten:

- Sie könnten einen kleinen Proxy dazwischen schalten (wie einen winzigen Node.js- oder Python-Endpunkt), der den vollständigen Webhook empfängt, alles außer topic_title entfernt und es dann weiterleitet. Super flexibel und berührt Discourse selbst nicht.

- Oder, wenn Sie Lust dazu haben, könnte ein winziges Discourse-Plugin auf on(:post_created) lauschen und nur die Felder senden, die Sie interessieren. Nur ein paar Zeilen in Ruby und fertig.

- Eine weitere faule Option ist, ein Tool wie Zapier oder n8n den gesamten Payload erfassen und ihn zuordnen/filtern zu lassen, bevor er Ihr Endsystem erreicht.

Nichts Besonderes, nur ein paar Wege, mit denen ich herumspielen würde, wenn ich nur topic_title bräuchte :slightly_smiling_face: