×

Status callback URL can be passed in status_callback parameter in send message/template message APIs and it can also be configured as default to receive the responses.

  • If you pass status callback URL in send message/template message APIs, status callbacks will be triggered to the respective URL
  • If you do not pass any status callback URL in send message/template message APIs, status callbacks will be triggered to the default URL, if any.

Fallback Status Callbacks : 

If SMS Fallback contract was passed while sending rcs message, in case of failure of sending an RCS message, sms fallback will be triggered with the provided details .

  • if sms triggering is unsuccessful, the failure callback will be sent with null message_sid and sms_units, along with the relevant error exo status details.

*NOTE: Any callback can be received only in one status callback URL at any time

Callback Parameter

Parameter

Type

Mandatory

Notes

rcs

MessageDLRObject

Optional

Delivery report (DLR) of the RCS channel

sms

SMSDLRObject

Optional

Delivery report (DLR) of the SMS Fallback

 

MessageDLRObject

Parameter

Type

Mandatory

Notes

messages

[]RCSMessageDLRObject

Mandatory

Information relating to the messages for DLR

 

RCSMessageDLRObject

Parameter

Type

Mandatory

Notes

callback_type

String

Mandatory

Type of the callback. Possible values: dlr, icm

sid

String

Mandatory

SID (Unique Identifier) of the message

to

String

Mandatory

Phone Number of the user to whom the message was sent.

exo_status_code

Integer

Mandatory

ExoStatusCode for the message

exo_detailed_status

String

Mandatory

Detailed status of ExoStatus code

description

String

Mandatory

Description of the ExoStatus code

timestamp

String

Mandatory

Timestamp at which the event occurred

custom_data

String

Optional

It will return the custom data, if the same was passed in the API request

 

SMSDLRObject

Parameter

Type

Mandatory

Notes

messages

[]SmsMessageDLRObject

Mandatory

Information relating to the messages for DLR

 

SmsMessageDLRObject

Parameter

Type

Mandatory

Notes

callback_type

String

Mandatory

Type of the callback. Possible values: dlr

sid

String

Mandatory

SID (Unique Identifier) of the message.

channel_sid

String

Mandatory

Sid of the fallback channel of exotel Platform.
Will be null for failure to trigger the fallback channel.

to

String

Mandatory

Phone Number of the user to whom the message was sent.

exo_status_code

Integer

Mandatory

ExoStatusCode for the message

exo_detailed_status

String

Mandatory

Detailed status of ExoStatus code

description

String

Mandatory

Description of the ExoStatus code

sms_units

Integer

Mandatory

The number of SMS units being sent.

Will be null for failure to trigger SMS

timestamp

String

Mandatory

Timestamp at which the event occurred

custom_data

String

Optional

It will return the custom data, if the same was passed in the API request

 

ExoStatus Codes

Detailed Status Code

Detailed Status

Description

40001

EX_MESSAGE_SENT

The message has been sent to the user

40002

EX_MESSAGE_DELIVERED

The message has been successfully delivered to the user

40003

EX_MESSAGE_SEEN

The message has been seen by the user

40004

EX_SYSTEM_ERROR

The message failed due to an issue with the system. For eg: Authentication/Access Token/Permission related issue, service not available issue etc.

 

Fallback SMS ExoStatus Codes : 

Kindly refer to the Status Code section in our SMS API documentation

{
    "rcs": {
        "messages": [
            {
                "callback_type": "dlr",
                "sid": "1234",
                "to": "236556496",
                "exo_status_code": 40002,
                "exo_detailed_status": "EX_MESSAGE_DELIVERED",
                "description": "Message delivered",
                "timestamp": "2024-12-07T17:00:00.000+05:30",
                "custom_data": "ORDER123456"
            }
        ]
    }
}
{
    "rcs": {
        "messages": [
            {
                "callback_type": "dlr",
                "sid": "1234",
                "to": "236556496",
                "exo_status_code": 40003,
                "exo_detailed_status": "EX_MESSAGE_SEEN",
                "description": "Message delivered",
                "timestamp": "2022-14-07T17:00:00.000+05:30",
                "custom_data": "ORDER123456"
            }
        ]
    }
}
{
  "sms": {
    "messages": [
      {
        "callback_type": "dlr",
        "sid": "112f34e42fc338d14d52af17de13175p",
        "message_sid": "f95b66263806e5b577bc002aa458175p",
        "to": "236556496",
        "exo_status_code": 20005,
        "exo_detailed_status": "DELIVERED_TO_HANDSET",
        "description": "DELIVERED_TO_HANDSET",
        "sms_units": 1,
        "timestamp": "2024-12-18 23:18:30"
      }
    ]
  }
}
{
  "sms": {
    "messages": [
      {
        "callback_type": "dlr",
        "sid": "0efaecd0e1611b325456ea4e1d54175a",
        "message_sid": null,
        "to": "236556496",
        "exo_status_code": 23286,
        "exo_detailed_status": "EX_EMTPY_BODY",
        "description": "message body cannot be empty.",
        "sms_units": null,
        "timestamp": "2024-12-18T13:54:52+05:30",
        "custom_data": "ORDER123456"
      }
    ]
  }
}