Updates to webhook retry mechanism
API
Effective September 10, 2024
Webhooks will now be retried a total of 8 times over 4 hours using an exponential backoff schedule. This should allow sufficient time for transient errors to be resolved.
When webhooks are retried, they will be delivered with the original payload from the time they were triggered. Partners should utilize the X-Shopify-Triggered-At
timestamp in the header, or a timestamp from the payload to determine if the payload is stale.
Retried webhooks will be delivered to the subscription's address that was configured when the webhook was triggered. Updating the subscription's address during a retry cycle will not result in the webhook being delivered to the new address. When migrating webhooks to a new endpoint, it is recommended to keep both endpoints active for a short period of time to ensure a smooth transition.
These changes aim to improve the consistency, efficiency and reliability of webhook delivery while minimizing the impact on partners.