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-navnetX-ZafeConnect-Timestamp— Unix ms-tidsstempel brugt i signaturenX-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