Webhook nur verwenden, wenn das Topic erstellt wurde

Hallo liebe Discourse-Nutzer :slight_smile:

Vor kurzem habe ich angefangen, Webhooks zu nutzen. Ich habe einen Webhook und Integromat (ähnlich wie Zapier) eingerichtet, sodass jeder neue Beitrag, der in meiner Community erstellt wird, auf unserer Facebook-Seite veröffentlicht wird. Das Problem ist jedoch, dass er ihn erneut veröffentlicht, wenn jemand den Beitrag ändert (z. B. bearbeitet oder kommentiert). Ich möchte einen Webhook einrichten, der nur dann Daten sendet, wenn ein neuer Beitrag erstellt wurde (also nur einmal).

Daher habe ich zwei Ansätze für dieses Problem in Betracht gezogen. Der erste Ansatz besteht darin, den Webhook so zu konfigurieren, dass er nur bei der Erstellung eines Beitrags sendet. Ich konnte jedoch nicht herausfinden, ob dies bei Discourse möglich ist. Der zweite Ansatz wäre, zu prüfen, ob die Seite mit dieser ID bereits veröffentlicht wurde. Diese Methode ist jedoch komplizierter und vielleicht sogar übertrieben.

Vielleicht übersehe ich etwas, und die Lösung ist viel einfacher. Was ist der richtige Weg, um das Problem zu lösen?

Ist es ein berechtigter Wunsch, die Webhook-Optionen spezifischer zu gestalten?

Vielen Dank für eure Hilfe! :smiley:

Sie können prüfen, ob ein Webhook für einen neuen Beitrag oder einen bearbeiteten Beitrag gesendet wurde, indem Sie den Header X-Discourse-Event des Webhooks überprüfen. Für einen neuen Beitrag wird der Header auf post_created gesetzt. Für einen bearbeiteten Beitrag wird er auf post_edited gesetzt.

Ich habe Intergromat nicht verwendet, aber der Prozess zum Filtern nach dem Ereignistyp bei Zapier ist hier beschrieben: Trigger a Zapier task with Discourse Webhooks.

Ja, das denke ich. Ich bin beim Post-Event-Webhook noch nicht auf Probleme gestoßen, aber ich würde sehr gerne eine Möglichkeit sehen, den User-Event-Webhook so einzuschränken, dass er nur gesendet wird, wenn ein Benutzer erstellt oder aktualisiert wird.

So richten Sie den Filter in Integromat ein: