Retry logic for status notifications
Definition
In the context of HTTP requests, retry logic is a systematic approach for handling failures in network communication between Transactional Email push notifications and customer webservice endpoint. It involves making additional attempts to deliver push notifications when the first attempt fails due to certain types of errors on client side.
Type of HTTP responses code and retry behaviour:
2xx (success): the push notification POST request to the webservice has been successful, no retry is required;
codes 400 to 406, or 301 to 308: the push notification POST request has been rejected, no more retries will be performed;
For any other response codes: Transactional Email will retry to POST each push notification request,
during approximatively 1 hour;
for a maximum of 15 retries in total;
the first half of retries follow each other at relatively short intervals of time (2 minutes, ±25%);
the second half of retries follow each other at longer intervals (8 minutes, ±25%).
Note: “±25%” is a parameter set into the algorithm to assure a sense of random distribution, which avoid performing all the retries at the same exact moment and potentially overloading the webservice.