I've been using Shopify Webhooks, however I found that something is completely not okay with its handling.
I've set up a single webhook for "Order Creation". One hook, one call, one script. What I found is, that even with a HTTP Response 200, the webhook is called multiple times. The whole script is done less than 5 seconds. I've tried it with a single "Send test notification" and I found really interesting things in the header that I got from the webhook:
When the webhook is called it comes from Remote IP: 22.214.171.124, then about 1 minute later another one comes from a different Remote IP: 126.96.36.199... then some minutes later it comes from 188.8.131.52..
This is completely not fun like this - I'm using the webhook to create official "bill" xml-s for each order, and if it's generated multiple times It just screws up our ERP database. I'm 100% sure there is no problem with the script I wrote.
I thought about the option to store each webhook call so the next time I can check it and exclude the next run, but this is not an option, because I have to set another hook for "Order update", and there must be an option to call it again its needed.... But not randomly by Shopify...
I found topics about this already here, and I'm curious, is this not solved yet?
This is something we are aware of and our developers are working to dedup these in the future. In the meantime, you will likely need to add some logic that accounts for identical webhooks so that you only consume the information once.