> "I watch people poll APIs or create convoluted connections, and I cry a little on the inside."
If the action being sent by the webhook is really important, there seems to be no way around doing it somewhat like this: Write a polling (or hanging-get) system, but use webhooks as an unreliable but lower-latency push mechanism.
In this setup, webhooks give you low-latency updates (when they work), and polling ensures completeness.
Depending on your requirements the remote end can be responsible for ensuring that you receive and acknowledge the wake up. Once you hit your own timeout you might do any number of things, not necessarily repoll the other end.
> "I watch people poll APIs or create convoluted connections, and I cry a little on the inside."
If the action being sent by the webhook is really important, there seems to be no way around doing it somewhat like this: Write a polling (or hanging-get) system, but use webhooks as an unreliable but lower-latency push mechanism.
In this setup, webhooks give you low-latency updates (when they work), and polling ensures completeness.