Day 7 10 min
Webhook delivery
1 / 6 · ≈ 15 min left
The problem
A small online shop uses an invoicing service. Each time an invoice is paid, the invoicing service sends a POST to https://shop.example/hooks/invoices, and the shop marks the order as ready to ship.
On Tuesday the shop’s server is down from 2 a.m. to 8 a.m. for a disk swap. 300 invoices are paid in those 6 hours. If the invoicing service sends each POST once and gives up, 300 orders wait forever and nobody knows why.
You work at the invoicing service. You design the part that sends those POSTs to every customer, including the ones that are slow or down.