Accepting selected projects for Q2 2024 Check availability
SERVER 02SYSTEM ONLINELAST SYNC: 03:17:44RSS_FEED.XML — PARSE WARNING
HALF ASSEDTECHNICAL NOTES_
EST. 2009ISSUE 04.2BEST VIEWED AT 1024 × 768
TECHNICAL NOTES / PRACTICAL GUIDES / APPLICATIONS / RECORD e4a28b
[APPLICATIONS]GUIDE

Building resilient webhook integrations

POSTED: 16.02.2023AUTHOR: ADMIN10 MIN READCOMMENTS: 0

A webhook endpoint sits on a distributed delivery boundary. Duplicates, reordering, delayed events and supplier retries are expected operating conditions rather than exceptional corruption.

Authenticate the original bytes

Verify the supplier signature against the unmodified request body, use constant-time comparison and reject timestamps outside an agreed window. Rotate secrets with an overlap period and record which key verified the request.

Acknowledge after durable receipt

Validate the envelope, persist the event or place it on a durable queue, then return the expected success status quickly. Do not hold the supplier connection open while updating customer records or calling another external service.

Make processing idempotent

Store the provider event identifier and result in the same transactional boundary as the business change. If no identifier exists, construct a documented deduplication key without treating two legitimate similar events as duplicates.

Handle ordering explicitly

Use resource versions, occurrence timestamps or a reconciliation API when later events can arrive first. A queue preserves local processing order but cannot repair the order in which a remote producer delivered events.

Operate replay and reconciliation

Retain payloads according to data policy, expose failed events with reason and attempt count, and provide a controlled replay action. Run scheduled reconciliation for states whose loss would matter even when no webhook failure is visible.

DELIVERY CONTRACT

Document success codes, retry intervals, signature rules, payload limits and retention with the supplier; “webhooks are real time” is not an operating contract.