Skip to content
WeZend

Kjerne-API-er

Webhooks

Slik fungerer leveringswebhooks per melding i praksis: webhook_url-feltet, de faktiske headerne og den faktiske retry-planen.

WeZends webhook-modell er per melding, ikke et globalt hendelsesabonnement. Det finnes ingen skjerm i dashbordet der du registrerer "varsle meg om hver framtidige levering" — i stedet sender du med webhook_url direkte i sendeforespørselen (eller per melding inne i en bulk-request), og statusoppdateringer for den meldingen POST-es dit etter hvert som de skjer.

{
  "to": "+4512345678",
  "channel": "sms",
  "message": "Bestillingen din er sendt.",
  "webhook_url": "https://appendin.no/hooks/wezend"
}

Payload og headere

Hver levering inkluderer:

  • X-ZafeConnect-Event — hendelsesnavnet
  • X-ZafeConnect-Timestamp — Unix ms-tidsstempel brukt i signaturen
  • X-ZafeConnect-Signature — HMAC-SHA256 av ${timestamp}.${JSON.stringify(payload)}, med webhook-signeringshemmeligheten fra Innstillinger → Webhook-hemmelighet

Disse headerne bærer for øyeblikket plattformens opprinnelige navn "ZafeConnect" i stedet for "WeZend" — en merkevaredetalj i backend-en som ennå ikke er omdøpt, ikke noe du trenger å jobbe rundt. Verifiser signaturen på samme måte uansett header-prefiks.

Verifiser 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));
}

Nye forsøk

Hvis endepunktet ditt ikke svarer 2xx, gjøres leveringen på nytt 3 ganger — etter 30 sekunder, 5 minutter og til slutt 30 minutter — og forsøkene overlever en omstart eller deploy (de er varige og lagres i databasen, ikke i en kø i minnet). Svar raskt og behandle asynkront i stedet for å gjøre tungt arbeid i selve request-håndtereren.

Innkommende leveringskvitteringer fra leverandører

Endepunktene /v1/webhooks/messente, /v1/webhooks/twilio, /v1/webhooks/vonage og /v1/webhooks/whatsapp er måten oppstrøms operatører rapporterer levering tilbake til plattformen — de er plattforminterne og ikke noe du konfigurerer selv; de finnes for at WeZend selv skal kunne fylle inn statusene du ser via webhook_url og meldingshistorikk-API-et.

Én plattform. Hver kundeinteraksjon.

Erstatt lappeteppet av meldings-API-er, CDP og automatiseringsverktøy med én engasjementsplattform bygget for skala.

Ingen kredittkort · EU-datalagring · 99,99 % oppetids-SLA