- A live webhook endpoint receiving Kynva events.
- HMAC signature verification.
- Idempotent processing (safe to retry).
- A DLQ replay flow for the rare event that all retries fail.
Step 1 — stand up an endpoint
Pick any framework. Here’s Express:Step 2 — register it with Kynva
Step 3 — send a test delivery
render.completed to your URL. Confirm your endpoint:
- Returned
200. - Logged the verified signature.
- Parsed the payload without errors.
Step 4 — dedupe deliveries
Retries can deliver the same event twice. Dedupe onX-RenderForge-Delivery:
SET NX is atomic — only the first request gets through.
Step 5 — make processing safe to fail
If your handler crashes after returning200, Kynva won’t retry — it considers the event delivered. So either:
- Do all the work before returning 200 (simple, slower), or
- Enqueue to your own background queue and return 200 immediately (fast, more moving parts).