How to integrate Discourse Gamification with an external system (redeem and award points)

I have a crazy idea, it happens that in WooCommerce I am using a virtual wallet (based on points) which I would like to synchronize with the gamification points of Discourse… but I feel that only a API is very heavy (be consulting every x cron or when user hace action in WC)… you could create a webhook so that the virtual wallet in WooCommerce is updated with the points obtained in discourse?.. I attach a guide schema

I know it can be more complex than it seems, especially since the Discourse API is relatively new (and there’s no webhook either), but I only present a use case, validate the idea

Gamification recalculates every 5 minutes, so I think using a crontab style sync is quite appropriate.

1 Like

Oh, I hadn’t thought of that approach… ie I can use n8n (own hosting to reduce costs); I’ll create a cron trigger every 5 or maybe 10 minutes querying the Discourse API for new points (How would I go about querying all users? Or would you do it for events?)… Although, of course, there will be a constant little time window where you won’t see the score synced across both platforms…

I was thinking about it, and I think that if a webhook could be created for the gamification plugin sending the information by events (without having to consult via API) this would avoid having to consult, for example, if there are 200 active users, 200 times a API every 5 minutes (also by default Discourse allows webhooks)…it’s important because Discourse is the main source of points (and updates more constantly) and this would be an update that allows background sync. instantly according to the changes in Discourse…

plan to add an API to delete events ? thanks.

1 Like

I want to add it, but it’s not planned yet. At the moment you can update it’s value to 0.


thanks @Falco
guess for an event, the ID could get a negative point, right ?
say, if lose in an competition event

1 Like

Yes, you can award negative scores too. It’s useful for doing events like exchanging points for gifts, applying penalties, etc.

1 Like