Kärn-API:er
Webhooks
Så fungerar leveranswebhooks per meddelande i praktiken: webhook_url-fältet, de riktiga headers och det riktiga omförsöksschemat.
WeZends webhook-modell är per meddelande, inte en global händelseprenumeration. Det finns ingen vy i dashboarden där du registrerar "meddela mig om varje framtida leverans" — i stället skickar du med webhook_url direkt i sändningsanropet (eller per meddelande inuti en bulk-request), och statusuppdateringar för det meddelandet POST:as dit allteftersom de sker.
{
"to": "+4512345678",
"channel": "sms",
"message": "Din order har skickats.",
"webhook_url": "https://dinapp.se/hooks/wezend"
}
Payload och headers
Varje leverans innehåller:
X-ZafeConnect-Event— händelsens namnX-ZafeConnect-Timestamp— Unix ms-tidsstämpel som används i signaturenX-ZafeConnect-Signature— HMAC-SHA256 av${timestamp}.${JSON.stringify(payload)}, med webhook-signeringshemligheten från Inställningar → Webhook-hemlighet
Dessa headers bär för närvarande plattformens ursprungliga namn "ZafeConnect" i stället för "WeZend" — en varumärkesdetalj i backend som ännu inte döpts om, inget du behöver kringgå. Verifiera signaturen på samma sätt oavsett header-prefix.
Verifiera 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));
}
Omförsök
Om din endpoint inte svarar 2xx görs 3 nya leveransförsök — efter 30 sekunder, 5 minuter och slutligen 30 minuter — och omförsöken överlever en omstart eller driftsättning (de är beständiga och lagras i databasen, inte i en kö i minnet). Svara snabbt och behandla asynkront i stället för att göra långsamt arbete i själva request-hanteraren.
Inkommande leveranskvitton från leverantörer
Endpointerna /v1/webhooks/messente, /v1/webhooks/twilio, /v1/webhooks/vonage och /v1/webhooks/whatsapp är hur uppströms operatörer rapporterar leverans tillbaka till plattformen — de är plattformsinterna och inget du konfigurerar; de finns för att WeZend själv ska kunna fylla i de statusar du ser via webhook_url och meddelandehistorik-API:et.
En plattform. Varje kundinteraktion.
Ersätt ditt lapptäcke av meddelande-API:er, CDP och automationsverktyg med en engagemangsplattform byggd för skala.
Inget kreditkort · EU-datalagring · 99,99 % drifttids-SLA