Skip to content
WeZend

Developers & AI

Set up delivery webhooks

Receive delivery statuses in your own system, verify the signature, and never poll again.

app.wezend.com

your-app/webhooks.js

app.post("/webhooks/wezend", (req, res) => {
  res.sendStatus(200);          // ack fast
  queue.add(req.body);          // process async
});

Step 1 / 4

Expose an endpoint

Create a POST route in your backend — it must respond 200 quickly (do the heavy work async). During local development, a tunnel like ngrok gives Meta-style services a reachable URL.

Every step in text

  1. 1Expose an endpoint

    Create a POST route in your backend — it must respond 200 quickly (do the heavy work async). During local development, a tunnel like ngrok gives Meta-style services a reachable URL.

  2. 2Register the URL

    Set it once account-wide under Settings → Webhooks, or per message with the webhook_url field in the send call. Per-send overrides account-wide.

  3. 3Verify the signature

    Every delivery carries an X-WeZend-Signature header — an HMAC of the body with your webhook secret. Verify it, or anyone who finds your URL can fake delivery events.

  4. 4Replay & debug from the log

    Every webhook attempt is logged with the response your server gave (GET /v1/webhooks/log). Failed deliveries retry with backoff — and you can replay any of them manually while debugging.

One platform. Every customer interaction.

Replace your patchwork of messaging APIs, CDP and automation tools with a single engagement platform built for scale.

No credit card required · EU data residency · 99.99% uptime SLA