Posts

Post not yet marked as solved
3 Replies
0 Views
Thanks for the response. The documentation is definitely lacking w/r/t the very short timeout. I do think that I am running into an undocumented behavior, however. Retry notifications are available only in the production environment. In the sandbox environment, the App Store server attempts to send the notification one time. Not attempting a single notification is different from aborting all following notifications. E.g., you don't get an EXPIRED notification if any of the prior notifications failed. I will send feedback on this; the DX is pretty rough for testing.
Post not yet marked as solved
3 Replies
0 Views
Been doing a little more testing, and here's what I think is happening in the Sandbox. If you're like me and you use something like mitmproxy/ngrok/other reverse proxies, or are step-debugging your webhook handlers, it appears Apple is super sensitive to anything longer than a trivial timeout, and appears to drop the connection. Unlike other webhook integrations around the modern web, the retry is not in the minutes but hours, so you don't get an exponential back-off, either. In fact, it doesn't look like the Sandbox does retries at all. It appears that any failure (e.g., your step debugging hangs the request for a few seconds) means you won't get any of the expected follow-up webhook calls. I was just able to successfully receive the expected EXPIRED webhook by not inspecting any of the traffic as it came across, and so the replies from my development environment were processed quickly enough for Apple. I am expecting the production webhooks to be retried as advertised, but who knows...