Mautic webhooks are fire and forget. So, if your webhook receiver is down for whatever reason, and some webhook is fired, it won’t be resubmitted, even if it receives a 502.
Being sure that a service is ALWAYS ON, 100% of the time, is unlikely, or at least requests a very complex design (different regions, different dbs, and so on).
Trying to find a solution I came into the Event_log table that contains the history of every contact, be it actions, or data updates, segment changes, and so on.
If there was an endpoint that could expose all the events, not by single contact but globally, maybe filtering say for object and date_added, most modifications that are usually captured via webhook could be retrieved with a pull request, making everything much more reliable.
I ended up writing a plugin that exposes a new endpoint.
The plugin has two path parameters: object and date_min
This solved all my issues, as now I can call an endpoint that returns all events after a certain date, and I am sure I won’t ever lose one