Cómo cambiar la carga útil de un evento de Webhook Post-Created

Hola.

Quiero personalizar el valor del payload de la webhook cuando ocurre un evento para la generación de temas.

Ejemplo…

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

¿Puedo saber cómo hacerlo?

Yo también tengo una necesidad similar. También estoy confundido. Actualmente no hay una buena manera.

Hola, no hay una forma integrada en Discourse para enviar solo una pequeña parte de la carga útil (payload) del webhook, pero un par de ideas que podrían funcionar:

- Podrías tener un pequeño proxy en medio (como un pequeño endpoint de Node.js o Python) que reciba el webhook completo, elimine todo excepto topic_title, y luego lo reenvíe. Súper flexible y no toca Discourse en sí.

- O, si te animas, un pequeño plugin de Discourse podría escuchar on(:post_created) y enviar solo los campos que te interesan. Solo unas pocas líneas en Ruby y listo.

- Otra opción perezosa es simplemente dejar que una herramienta como Zapier o n8n capture la carga útil completa y la mapee/filtre antes de que llegue a tu sistema final.

Nada sofisticado, solo algunas formas con las que jugaría si solo necesitara topic_title :slightly_smiling_face: