Headers
Reject a timestamp more than 5 minutes off, and compare signatures in constant time.
Verify (Node.js, no library)
Delivery rules
- Answer
2xxwithin 10 seconds; do the real work afterwards (queue it). - Redirects are not followed.
- Failed deliveries are retried after 1, 2, 5, 10 and 30 minutes, then hourly, for 24 hours.
- After 24 hours of failures GO JOE’s team is alerted. The events stay in
GET /eventsfor 30 days, so you can always catch up. - Events can arrive out of order. Always fetch the order for the current state; the event only tells you that something changed.