I’ve been working on implementing a webhook client in JS. In order to get the proper shape of the sent events I created a server to listen for the events and write the posts to a file. Then I TDDed the server to handle the events and throw them into a database for later analysis.
It seems like one of the recent updates made a change to the webhook code and I was missing events for a day or so. I would love to build this server as an additional way to monitor, but would need some more information about the webhooks feature than is available in posts on meta such as full request schemas for each event type. Also some insight into any upcoming changes to that feature would be appreciated.
I think there are a lot of users who would find this type of event tracking very helpful. I plan to post a full tutorial on setting this system up along with some canned dashboards.
Full list of possible events emitted from the webhooks. Currently I have the following, but I would imagine that there are CRUD for topic,user, and post events_types:
post_created
post_edited
topic_created
topic_edited
topic_destroyed
user_updated
user_created
For each event, sample JSON payloads to test against
Any planned changes to the API or webhook payloads
Sorry, but this would take quite a lot of work to do, and we only do custom work for our Enterprise customers.
@fantasticfears might be available to work on this as a freelancer though. If you’re able to pay for this work, you should get in touch with him about this.
I haven’t received message from Jack a while back. Anyway, here is the work for anyone interested.
There is a discourse_webhook_payload.rb inside the gz file. It generates payload format in JSON.
A user like a topic
If I had the topic_id and ID of the user who perform the like, I will be able using the API to get all informations I need.
A user like a message
If I had the post_id, topic_id and ID of the user who perform the like, I will be able using the API to get all informations I need.