I need to know as soon as an order gets created but it looks like webhooks are not always being delivered when an order is created. Can anyone give me some guidance on how reliable and timely order created webhooks are? My only solution right now is to have a cronjob that checks for new orders. Is this what I have to do to make sure I have the latest orders?
Webhooks are almost always delivered within seconds of order creation. There are some factors that can affect this (temporary network issues, unusually high load on a server), but generally webhooks are delivered immediately.
However, as mentioned in our webhook documentation, webhooks shouldn't be relied on as the sole source of information for your app. It's possible for a webhook to be missed, and although our webhooks are generally reliable, we can't guarantee delivery 100% of the time so it's best to have another mechanism in place to look for anything that may have been missed. Implementing webhooks is a great way to be notified of events in real-time, and having that cron job in place can serve as a back-up in the very rare occurrence that a webhook isn't delivered.
If you're seeing instances of webhooks not delivering as expected, please provide the resource id (order_id, product_id etc) as well as an approximate time frame for when you expected to see it fire, and I can check our logs to hopefully help identify the issue.