OpenPoly logo
Testing And Staging

Webhook drills

Required webhook delivery, retry, and replay validation drills.

Webhook drills

Operators should prove receiver behavior before production.

Preconditions

  • webhook endpoint created in operator dashboard or operator API
  • receiver secret stored on operator side
  • signature verification enabled
  • dedupe store enabled on event_id

Required drills

1. Success drill

  • subscribe endpoint to trade events
  • trigger happy-path trade
  • confirm receiver returns 2xx
  • confirm delivery status becomes sent
  • confirm event stored exactly once by event_id

2. Bad signature drill

  • temporarily use wrong secret on receiver side
  • trigger event
  • confirm receiver returns 401
  • confirm delivery status becomes failed
  • restore correct secret
  • replay delivery
  • confirm replay becomes sent

3. Retry drill

  • configure receiver scenario to fail once
  • trigger event
  • confirm first delivery attempt returns 500
  • wait for retry window
  • confirm later attempt becomes sent
  • confirm business effect applied once only

4. Dead-letter drill

  • configure receiver to keep failing with 500
  • trigger event
  • let retries exhaust
  • confirm delivery status becomes dead_letter
  • fix receiver
  • replay delivery
  • confirm latest attempt becomes sent

5. Duplicate protection drill

  • replay already processed event
  • confirm receiver returns duplicate response such as 409
  • confirm no duplicate business side effect recorded

Built-in receiver scenarios

OpenPoly staging test receiver supports these scripted behaviors:

  • ok
  • fail-once
  • always-500

Use them when OpenPoly provides staging receiver access during onboarding or internal joint testing.

Evidence to capture

  • event_id
  • event_type
  • first attempt timestamp UTC
  • latest attempt timestamp UTC
  • last status code
  • delivery final status
  • receiver log entry showing dedupe result

Pass criteria

  • success path reaches sent
  • transient failure retries without duplicate side effects
  • persistent failure reaches dead_letter
  • replay works after fix
  • bad signature rejected before business processing
Copyright © 2026