I keep receiving these emails for closed shops that are not accessible by the api. It says it will auto-close the webhook however it's not. Please send to support team to verify and properly close expired hooks.
Hyde here from Shopify. Interesting question!
It looks like the webhook that is failing is coming from the SeoImager app as you can see here:
So there is likely an error in the webhook notification sent by the app. I'd recommend reaching out to the app developers directly about the issue. A little helpful background information to this:
After you register a webhook URL, Shopify issues an HTTP POST request to the URL specified every time that event occurs. The request's POST parameters contain relevant information to the event that triggered the request.
Any response to a webhook that's not 200 ok, including 3XX (any 300-level) HTTP redirection codes, indicates that the webhook was not received. Shopify does not follow redirects for webhook notifications and considers them to be an error response.
Shopify retries the connection 19 times over the next 48 hours. A webhook is deleted if there are 19 consecutive failures.
If the webhook subscription was created through the API, then notifications about pending deletions are sent to the support email associated with the app.
If the webhook was created using the Shopify admin, then notifications are sent to the store owner's email address.
There's more information on webhooks here.
I hope this helps!
All the best, Hyde.
This store has been closed for years. Does not exist anymore. It's happening with many stores. I'm a developer and this is a bug. I'm going to stop reporting bugs on this forum if you guys are just going to keep glossing over them!
In your response you said the following:
Any response to a webhook that's not 200 ok, including 3XX (any 300-level) HTTP redirection codes, indicates that the webhook was not received.
How does one write a response of 200 ok? And or where should that be placed in your code? I made attempts at this and the webhook keeps retrying.