RCS Mobile Originated (MO) Callback Events
RCS Mobile Originated (MO) Callback Events refer to messages or actions initiated by the end user from their device and sent to the customer callback URL. These events represent incoming messages or user interactions that originate from the user's handset.
Field Descriptions
The following list describes the callback payload:
| Field | Type | Description | Example |
|---|---|---|---|
type | string | Type of event (e.g., USER_MESSAGE, SUBSCRIBE, UNSUBSCRIBE). | SUBSCRIBE |
eventId | string | Unique identifier for the event. | Mx0g83M74OQgSXGK60iZM7Hg |
from | string | Sender's identifier (usually a phone number). | 19XXXXXXXX7 |
to | string | Recipient or service identifier. | kio_rcs |
sentAt | string | ISO 8601 timestamp indicating when the event occurred. | 2026-04-20T08:58:17.240Z |
messageId | string | Unique identifier for the message. | 6a25ff08-42e4-4f07-984a-4dXXXXXc7709 |
carrierId | String | Identifier of the carrier/network operator. | VZ |
MO messages with predefined Keyword
End users can send RCS MO messages containing predefined keywords as text to request specific actions, such as subscribing or unsubscribing from RCS communications.
The following predefined keywords and corresponding actions are supported in the Kaleyra RCS service:
| Keyword | Meaning | Expected Behaviour |
|---|---|---|
START/SUBSCRIBE | User Opt-In | User gives consent to start receiving messages from the brand. |
STOP/UNSUBSCRIBE | User Opt-Out | User revokes consent; agent must stop all future messaging. |
Sample Payloads
UNSUBSCRIBE Event:
{
"code": "4006",
"message": "Unsubscription request received from the carrier",
"data": {
"type": "UNSUBSCRIBE",
"from": "19XXXXXXXXX",
"to": "kio_rcs",
"sentAt": "2026-04-20T09:01:28.667Z",
"messageId": "e467ccda-179b-472f-9c73-6XXXXXXXX0XX",
"carrierId": "VZ"
},
"error": {}
}FOLLOWED Event for UNSUBSCRIBE:
{
"code": "4007",
"message": "Mobile-originated message received from the carrier",
"data": {
"type": "USER_MESSAGE",
"eventId": "Mx4S-xOe57S8aXXXXXXXXC94",
"from": "19782412456",
"to": "kio_rcs",
"sentAt": "2026-04-20T09:01:28.671Z",
"messageId": "79d81bcb-1747-4c5f-bb18-a32XXXXXXXX2",
"userMessage": {
"type": "TEXT",
"text": "STOP"
},
"carrierId": "VZ"
},
"error": {}
}SUBSCRIBE Event:
{
"code": "4005",
"message": "Subscription request received from the carrier",
"data": {
"type": "SUBSCRIBE",
"from": "19XXXXXXXXX",
"to": "kio_rcs",
"sentAt": "2026-04-20T08:58:17.239Z",
"messageId": "bba968a8-62f6-44a9-9291-8XXXXXXXX2a5579f8b37",
"carrierId": "VZ"
},
"error": {}
}FOLLOWED EVENT for SUBSCRIBE:
{
"code": "4007",
"message": "Mobile-originated message received from the carrier",
"data": {
"type": "USER_MESSAGE",
"eventId": "Mx0g83M74OQgSXGK60iZM7Hg",
"from": "19XXXXXXXX7",
"to": "kio_rcs",
"sentAt": "2026-04-20T08:58:17.240Z",
"messageId": "6a25ff08-42e4-4f07-984a-4dXXXXXc7709",
"userMessage": {
"type": "TEXT",
"text": "START"
},
"carrierId": "VZ"
},
"error": {}
}MO Callback against Suggestions
The following MO callbacks are sent from the carrier to the brand when end users take actions after reading an RCS message, such as replying with a message or clicking on a CTA (for example, dial).
USER REPLY
{
"code": "2007",
"message": "Mobile-originated message received from the carrier",
"data": {
"type": "USER_MESSAGE",
"eventId": "Mxj1-Cl49JSHekXXXXXMSlYw",
"from": "17XXXXXXXXX",
"to": "kio_rcs",
"sentAt": "2026-04-16T13:28:41.124Z",
"messageId": "bdf242e6-817c-4656-b433-2aXXXXXXXXba",
"userMessage": {
"type": "RESPONSE",
"response": {
"text": "Avail-Offer",
"postbackData": "flight_offer",
"type": "REPLY",
"mo_type": "REPLY"
}
},
"carrierId": "ATT"
},
"error": {}
}DIAL
{
"code": "2007",
"message": "Mobile-originated message received from the carrier",
"data": {
"type": "USER_MESSAGE",
"eventId": "Mx8GTVJBK8TwmXXXXXWsZ9g8",
"from": "17XXXXXXXXX",
"to": "kio_rcs",
"sentAt": "2026-04-16T12:58:24.275Z",
"messageId": "1f72cbfd-c072-4674-a2de-a09XXXXX2c6a",
"userMessage": {
"type": "RESPONSE",
"response": {
"text": "Customer Support",
"postbackData": "postback_data_1234",
"type": "ACTION",
"mo_type": "DIAL"
}
},
"carrierId": "ATT"
},
"error": {}
}Open_URL
{
"code": "4007",
"message": "Mobile-originated message received from the carrier",
"data": {
"type": "USER_MESSAGE",
"eventId": "Mxxo2zJ39jRCXXXXXXXXyMsq",
"from": "19XXXXXXXXX",
"to": "kio_rcs",
"sentAt": "2026-04-16T10:53:53.301Z",
"messageId": "951d8e87-d9dc-4141-bd8c-46cXXXXXXXX0",
"userMessage": {
"type": "RESPONSE",
"response": {
"text": "Round Trip",
"postbackData": "one_way_trip",
"type": "ACTION",
"mo_type": "OPEN_URL"
}
},
"carrierId": "VZ"
},
"error": {}
}VIEW_LOCATION
{
"code": "2007",
"message": "Mobile-originated message received from the carrier",
"data": {
"type": "USER_MESSAGE",
"eventId": "MxkBa65KRLT8XXXXXXXXaH25",
"from": "91XXXXXXXXXX",
"to": "rcs-stage-vg-21",
"sentAt": "2026-04-14T19:09:02.218Z",
"messageId": "aff0e099-4b74-4423-887d-5eXXXXX966b8",
"userMessage": {
"type": "RESPONSE",
"response": {
"text": "View in Maps",
"postbackData": "View in Maps",
"type": "ACTION",
"mo_type": "VIEW_LOCATION"
}
},
"carrierId": "ATT"
},
"error": {}
}ASK LOCATION
{
"code": "2007",
"message": "Mobile-originated message received from the carrier",
"data": {
"type": "USER_MESSAGE",
"eventId": "Mx2WkzJMdFRXXXXXXXX0ScZA",
"from": "91XXXXXXXXXX",
"to": "rcs-stage-vg-21",
"sentAt": "2026-04-14T19:00:11.001Z",
"messageId": "3d27f981-d06a-4b8e-ad5d-536XXXXX6089",
"userMessage": {
"type": "RESPONSE",
"response": {
"text": "Share your location",
"postbackData": "Ask location",
"type": "ACTION",
"mo_type": "ASK_LOCATION"
}
},
"carrierId": "ATT"
},
"error": {}
}
CALENDAR_EVENT
{
"code": "2007",
"message": "Mobile-originated message received from the carrier",
"data": {
"type": "USER_MESSAGE",
"eventId": "Mxe7uDZWzLTM2-QqXXXXXdrg",
"from": "91XXXXXXXXXX",
"to": "rcs-stage-vg-21",
"sentAt": "2026-04-14T18:59:03.590Z",
"messageId": "b13fa61f-c599-4427-b022-9fXXXXXea7de",
"userMessage": {
"type": "RESPONSE",
"response": {
"text": "Add Reminder",
"postbackData": "postback_data_1234",
"type": "ACTION",
"mo_type": "CREATE_CALENDAR_EVENT"
}
},
"carrierId": "ATT"
},
"error": {}
}
USER_LOCATION
{
"code": "2007",
"message": "Mobile-originated message received from the carrier",
"data": {
"type": "USER_MESSAGE",
"eventId": "MxHg11LNgLR1XXXXXeigpfPQ",
"from": "91XXXXXXXXXX",
"to": "rcs-stage-vg-21",
"sentAt": "2026-04-14T19:05:55.685Z",
"messageId": "68dbbb1d-2470-4cf4-85ba-529a5XXXXX16",
"userMessage": {
"type": "LOCATION",
"location": {
"latitude": 28.658577,
"longitude": 77.4736007
}
},
"carrierId": "ATT"
},
"error": {}
}COMPOSING
{
"code": "4003",
"message": "Composing notification received from the carrier",
"data": {
"type": "COMPOSING",
"from": "19XXXXXXXXXXX",
"to": "kio_rcs",
"sentAt": "2026-04-16T16:57:46.515Z",
"messageId": "90e4d680-2a03-4ef2-abf8-013XXXXX4cde",
"carrierId": "VZ"
},
"error": {}
}Updated about 4 hours ago
