Skip to navigation

Message status

Chat Bridge notifies each status change of a sent message through an HTTP POST request (webhook).

A successful send is notified as SENT; no DELIVERED event is sent. A message in SENT can later receive a second event with an error status (FAILED, EXPIRED, IN_BLACKLIST, INVALID_FORMAT or MISSING_PHONE) when the operator reports a delivery error; otherwise SENT is its final state. Error statuses are terminal: no more events are received for that message_id after them. Keep the most recent datetime of each message_id. Your endpoint must accept application/json and respond with a 2xx HTTP code; the response body is ignored.

Payload

The payload of this webhook request is an object.
message_idstringOptional

The same message_id returned in the 202 response of the send.

statusenumOptional

Status of the message. SENT when it was accepted and sent by the SMS provider; it is followed by an error status if the operator later reports a delivery error. FAILED when the send or the delivery failed. The operator can also reject it as IN_BLACKLIST, INVALID_FORMAT or MISSING_PHONE, or report it as EXPIRED when the delivery was not confirmed within the message validity period. Batch sends can also report a number rejected before sending: INVALID_FORMAT, INVALID_SOURCE or OUTPUT_NOT_FOUND. Every status other than SENT is terminal.

datetimedatetimeOptional
Timestamp of the status change, in UTC.
origin_identifierstringOptional

Only present when this SMS is the automatic fallback of a WhatsApp or RCS send (see the fallback field of those APIs): message_id of the originating send, to correlate both attempts. If the backup SMS also fails, a final event with status: FALLBACK_EXHAUSTED is emitted (documented in the WhatsApp and RCS APIs). Absent on regular sends.

batch_idstringOptional

Only present when the message belongs to a batch send (POST /v1/sms/batches): the batch_id returned in its 202 response.

Response

200
Event received and processed by the client.