Skip to content
WeZend

Kärn-API:er

Meddelandestatus, historik & omsändning

Slå upp ett meddelande, sök i leveranshistoriken, skicka om eller avbryt ett köat meddelande.

Hämta ett enskilt meddelande

curl https://api.wezend.com/v1/messages/msg_01H8... \
  -H "X-API-Key: $WEZEND_API_KEY"
{
  "message_id": "msg_01H8...",
  "status": "delivered",
  "channel": "sms",
  "to": "+4512345678",
  "fallback_used": false,
  "sent_at": "2026-07-08T10:00:01.000Z",
  "delivered_at": "2026-07-08T10:00:04.000Z",
  "cost": 0.045,
  "currency": "EUR"
}

Vad varje status betyder

StatusBetydelse
queuedAccepterat och väntar på en worker. Kvoten är redan räknad här.
sendingÖverlämnat till en leverantör, inget svar än.
sentLeverantören accepterade det. Inte bevis på att det kom fram.
deliveredBekräftat av ett leveranskvitto (SMS/RCS) eller av engagemang och bounce-feedback (e-post).
bouncedEndast e-post — den mottagande servern avvisade det.
failedGav upp. failed_reason säger varför, på ett språk som är säkert att visa en användare.
suppressedAldrig skickat: mottagaren står på er spärrlista för den kanalen — eller kontot har ännu inte bekräftat sin e-postadress, och då står det i failed_reason.
scheduledVäntar på sin scheduled_at-tid.
cancelledEtt schemalagt meddelande som ni avbröt innan det kördes.

E-post-delivered släpar efter — det är avsiktligt. SMS och RCS får ett leveranskvitto från operatören, så delivered kommer sekunder efter sent. E-post har ingen motsvarighet: det räknas som levererat utifrån engagemang och avsaknaden av en bounce, inte utifrån en SMTP-handskakning. En lyckad e-postsändning står därför på sent en stund, och en kampanj som visar delivered: 0 minuter efter utskick är normalt — inte trasigt.

failed_reason är skrivet för en människa. Ett transportfel läses som något handlingsbart — "tillfälligt oleverbart, försök igen snart" — i stället för att avslöja interna detaljer; det underliggande felet stannar i våra loggar.

Sök i historiken

GET /v1/messages/history stöder query-parametrarna search (matchar mottagare, body eller leverantörens message-ID), status, channel, page och limit (max 100/sida).

Skicka om

POST /v1/messages/:id/resend skapar ett nytt meddelande till samma mottagare med samma innehåll — det går igenom samma saldo-, suppression- och budgetkontroller som ett helt nytt utskick. Vill du i stället se vad som hände med det ursprungliga returnerar GET /v1/messages/:id/timeline de ordnade stegen — i kö, skickat, leverantörens svar, varje leveranskvitto — och det är snabbaste sättet att skilja ett leverantörsavslag från en mottagare som aldrig engagerade sig.

Avbryt ett schemalagt meddelande

DELETE /v1/messages/:id avbryter ett meddelande som fortfarande är queued (dvs. schemalagt framåt via scheduled_at och ännu inte avsänt). Returnerar 409 om det redan har skickats.

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