These events are specific to Bandwidth Messaging 2.0. Bandwidth uses HTTP Callbacks (also known as webhooks) to send these events to any publicly addressable url.
- You MUST Reply with a
HTTP 2xx
status code for every callback/delivery receipt. Bandwidth will retry every callback over the next 24 hours until aHTTP 2xx
code is received for the callback. After 24 hours, Bandwidth will no longer try to send the callback - Because we guarantee "at least once delivery" of events, it is possible (but not common) to receive duplicate message events. Your server should be able to handle duplicates.
- For incoming messages sent to your numbers, a callback will also be received, notifying your Application of the incoming message. For group messages where you own multiple recipient phone numbers, you will receive a distinct event and
messageId
for each individual recipient.
- Callbacks will be sent via an HTTP POST request to the Callback URL for the Application associated with the
applicationId
field sent with the send message payload - You will get a callback for any event related to that message.
- For example, you will get an HTTP callback when your message is delivered, or blocked. In addition, you will get an event for any kind of Delivery Receipt that the destination carrier sends back, regarding the delivery of your message.
- For each message sent, you will receive either (but not both) a Message Delivered or Message Failed event.
⚠️ Important note about MMS and Group Messages. MMS and Group messages don’t currently support delivery receipts. However, you will still receive a message delivered event when the message is sent. For only MMS and Group Messages this means that your message has been handed off to the Bandwidth core network, but has not been confirmed at the downstream carrier. We are actively working to support true delivery receipts for the v2 Messaging API.
Event | Direction | Description |
---|---|---|
Incoming Group Message | in |
Bandwidth sends this event for each incoming group message |
Incoming Text Message | in |
Bandwidth sends this event for each incoming text message |
Message Delivered | out |
Bandwidth sends this event when the text is delivered to the downstream carrier. |
Message Failed | out |
Bandwidth sends this event when the message contains was unable to be delivered |