Skip to content
WeZend

Kerne-API'er

Webhooks

Sådan fungerer pr.-besked leveringswebhooks i praksis: webhook_url-feltet, de rigtige headers, og den rigtige retry-tidsplan.

WeZends webhook-model er pr. besked, ikke et globalt event-abonnement. Der er ingen dashboard-skærm, hvor I registrerer "giv mig besked om hver fremtidig levering" — i stedet sender I webhook_url direkte med i send-requesten (eller pr. besked inde i en bulk-request), og statusopdateringer for den besked POSTes dertil, efterhånden som de sker.

{
  "to": "+4512345678",
  "channel": "sms",
  "message": "Din ordre er afsendt.",
  "webhook_url": "https://jeresapp.dk/hooks/wezend"
}

Payload og headers

Hver levering inkluderer:

  • X-ZafeConnect-Event — event-navnet
  • X-ZafeConnect-Timestamp — Unix ms-tidsstempel brugt i signaturen
  • X-ZafeConnect-Signature — HMAC-SHA256 af ${timestamp}.${JSON.stringify(payload)}, med webhook-signeringshemmeligheden fra Indstillinger → Webhook-hemmelighed

Disse headers bærer i øjeblikket platformens oprindelige navn "ZafeConnect" i stedet for "WeZend" — en brandingdetalje i backend'en, der endnu ikke er omdøbt, ikke noget I behøver at arbejde udenom. Verificér signaturen på samme måde uanset header-præfikset.

Verificér signaturen

const crypto = require("crypto");

function verify(rawBody, timestamp, signature, secret) {
  const expected = crypto
    .createHmac("sha256", secret)
    .update(`${timestamp}.${rawBody}`)
    .digest("hex");
  return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(signature));
}

Retries

Hvis jeres endpoint ikke svarer 2xx, genforsøges leveringen 3 gange — efter 30 sekunder, 5 minutter, og til sidst 30 minutter — og genforsøg overlever en genstart eller deploy (de er persistente, gemt i databasen, ikke en kø i hukommelsen). Svar hurtigt og behandl asynkront i stedet for at lave langsomt arbejde i selve request-handleren.

Indgående leveringskvitteringer fra udbydere

Endpointsene /v1/webhooks/messente, /v1/webhooks/twilio, /v1/webhooks/vonage og /v1/webhooks/whatsapp er, hvordan opstrøms teleudbydere rapporterer levering tilbage til platformen — de er platform-interne og ikke noget I selv konfigurerer; de findes, så WeZend selv kan udfylde de statusser, I ser via webhook_url og beskedhistorik-API'et.

Én platform. Hver eneste kundeinteraktion.

Erstat dit kludetæppe af messaging-API'er, CDP og automatiseringsværktøjer med én engagement-platform bygget til skala.

Intet kreditkort · EU-datalagring · 99,99 % oppetids-SLA