SMS status callback
Payload sent by SignalWire to your SMS Status Callback URL when the status of an SMS/MMS message changes.
Configure this callback using the StatusCallback parameter when
sending an outgoing message.
SignalWire sends the parameters as a form-encoded (application/x-www-form-urlencoded) POST body, not as JSON.
When the callback method is GET, they are sent as query parameters instead.
There are 8 possible message statuses:
SignalWire only marks a message as delivered when it receives a Delivery Receipt (DLR)
from the receiving carrier confirming entry into the end carrier’s network. sent means the message
left SignalWire and reached the downstream peer. Some carriers send delayed DLRs; others send none
at all. MMS messages never receive DLRs, so they will only ever reach sent status.
Status callbacks are advisory, best-effort notifications — delivery can be delayed or fail silently, so don’t gate time-critical actions on receiving one. See Status callback reliability.
Payload
The current status of the message at the time of the callback.
One of: queued, sending, sent, delivered, undelivered, failed, receiving, received.
The unique ID of this message. Always the same value as MessageSid.
The number of segments that make up the entire message. If the body exceeds 160 GSM-7 characters or 70 UCS-2 characters, it is automatically split into smaller segments that are annotated for reconstruction on the recipient handset.
The content type of the first media file, such as image/png. Present only when NumMedia is greater than 0.
Each additional file adds a numbered parameter: MediaContentType1, MediaContentType2, and so on.
The URL of the first media file. Present only when NumMedia is greater than 0.
Each additional file adds a numbered parameter: MediaUrl1, MediaUrl2, and so on, matching MediaContentType{N}.