Skip to main content

1. Register your endpoint

Do this once per environment — a test-mode key registers the test endpoint, a live-mode key the live one.

2. Verify every request

Never trust a webhook payload without checking X-Dexxify-Signature:
Use your framework’s raw-body option (e.g. express.raw()) on this route specifically — a JSON-parsing middleware upstream will break the signature check.

3. Respond fast, process async

Return 200 as soon as you’ve verified the signature and queued the event — don’t do slow work (database writes, external calls) before responding. A slow or non-2xx response looks like a failed delivery.

4. Dedupe by delivery ID

X-Dexxify-Delivery is unique per delivery attempt. Store processed IDs (even briefly, in Redis) and skip anything you’ve already handled — this protects you if a delivery is retried.

5. Debug with delivery history

Shows exactly what was sent for a given event, useful when your endpoint didn’t behave as expected.