RCS capabilities of destination phones
Phone handsets can vary in their RCS capabilities. They might not support RCS at all or only support a subset of possible RCS capabilities. Telnyx API provides two convenient endpoints to query destination handset capabilities.
Single number capability query
curl -H 'Authorization: Bearer ***` \
https://api.telnyx.com/v2/messaging/rcs/capabilities/Agent007/+13135551234
{
"data": {
"record_type": "rcs.capabilities",
"phone_number": "+13125551234",
"agent_id": "Agent007",
"agent_name": "Test Agent",
"features": [
"ACTION_CREATE_CALENDAR_EVENT",
"ACTION_DIAL",
"ACTION_OPEN_URL",
"ACTION_OPEN_URL_IN_WEBVIEW",
"ACTION_SHARE_LOCATION",
"ACTION_VIEW_LOCATION",
"RICHCARD_CAROUSEL",
"RICHCARD_STANDALONE"
],
"status": "Success"
}
}
The URL must have two in-path parameters:
- RCS agent ID (
Agent007
in this example) - Phone number (
+13125551234
in this example).
Here's a list of possible capabilities:
- ACTION_COMPOSE
- ACTION_CREATE_CALENDAR_EVENT
- ACTION_DIAL
- ACTION_OPEN_URL
- ACTION_OPEN_URL_IN_WEBVIEW
- ACTION_SHARE_LOCATION
- ACTION_VIEW_LOCATION
- RICHCARD_CAROUSEL
- RICHCARD_STANDALONE
- GENERIC_RCS_FEATURE
Sometimes we are able to determine that a given destination is RCS-enabled, but we cannot determine exactly which features are supported. In such cases we return only GENERIC_RCS_FEATURE:
{
"data": {
"record_type": "rcs.capabilities",
"phone_number": "+13125551234",
"agent_id": "Agent007",
"agent_name": "Test Agent",
"features": [
"GENERIC_RCS_FEATURE"
],
"status": "Success"
}
}
If the destination is not RCS-enabled we return empty or null
features
:
{
"data": {
"record_type": "rcs.capabilities",
"phone_number": "+13125551234",
"agent_id": "Agent007",
"agent_name": "Test Agent",
"features": null,
"status": "RCS is disabled or agent is not provisioned for the carrier"
}
}
Bulk number query
It is possible to query for RCS capabilities for up to 100 numbers:
curl -X POST -H 'Authorization: Bearer ***' \
-H 'Content-Type: application/json' \
https://api.telnyx.com/v2/messaging/rcs/bulk_capabilities \
-d'{
"agent_id": "Agent007",
"phone_numbers": ["+13125551234", "+18655551234"]
}'
{
"data": [
{
"record_type": "rcs.capabilities",
"phone_number": "+18655551234",
"agent_id": "Agent007",
"agent_name": "Test Agent",
"features": [
"GENERIC_RCS_FEATURE"
]
},
{
"record_type": "rcs.capabilities",
"phone_number": "+13125551234",
"agent_id": "Agent007",
"agent_name": "Test Agent",
"features": [
"ACTION_CREATE_CALENDAR_EVENT",
"ACTION_DIAL",
"ACTION_OPEN_URL",
"ACTION_OPEN_URL_IN_WEBVIEW",
"ACTION_SHARE_LOCATION",
"ACTION_VIEW_LOCATION",
"RICHCARD_CAROUSEL",
"RICHCARD_STANDALONE"
]
}
]
}
Please note that RCS capability query can be slow.