[ MEDIUM ]

Make a flaky partner webhook idempotent

Quick answer

Brief: A partner delivers order events at least once. Some arrive twice and some out of order. Your handler currently creates duplicate orders.

Tasks

  1. 1. Choose an idempotency key
  2. 2. Handle out-of-order updates
  3. 3. Log enough to replay a failed event
Show hints
  • → Store processed event ids with a unique constraint
  • → Compare event timestamps or version numbers before applying an update

Skills