Skip to content

RCS

RCS (Rich Communication Services) enables rich messaging on Android devices with features like quick replies, suggested actions, and rich cards. Jina Connect supports two RCS providers with automatic SMS fallback:

ProviderAuthSuggestionsStatus
Google RBMService account JSONQuick replies, dial, URL actionsProduction
Meta RCSAccess tokenQuick repliesProduction
  1. Create an RCS App

    Terminal window
    curl -X POST http://localhost:8000/rcs/v1/apps/ \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json" \
    -d '{
    "name": "My RCS Agent",
    "provider": "GOOGLE_RBM",
    "agent_id": "your-rbm-agent-id",
    "provider_credentials": {
    "service_account": { ... }
    },
    "sms_fallback_enabled": true,
    "sms_fallback_app": "sms-app-uuid"
    }'
  2. Register webhook URL

    https://your-domain.com/rcs/v1/webhooks/{rcs_app_id}/
MethodEndpointDescription
GET/rcs/v1/apps/List RCS apps
POST/rcs/v1/apps/Create RCS app
GET/rcs/v1/apps/{id}/Get RCS app details
PUT/rcs/v1/apps/{id}/Update RCS app
DELETE/rcs/v1/apps/{id}/Delete RCS app
GET/rcs/v1/messages/List outbound messages
POST/rcs/v1/messages/send/Send RCS message (#129)
POST/rcs/v1/messages/{id}/revoke/Revoke a sent message (#112)
GET/rcs/v1/messages/{id}/Get message details
Terminal window
curl -X POST http://localhost:8000/rcs/v1/messages/send/ \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "+1234567890",
"text": "Your order has been shipped!"
}'
Terminal window
curl -X POST http://localhost:8000/rcs/v1/messages/send/ \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "+1234567890",
"text": "Your order has been shipped! Track it?",
"suggestions": [
{"type": "reply", "text": "Track Order"},
{"type": "reply", "text": "Contact Support"}
]
}'
send_rcs_message(
api_key="your-api-key",
phone="+1234567890",
text="Hello from RCS!",
suggestions=[
{"type": "reply", "text": "Yes"},
{"type": "reply", "text": "No"}
]
)

When sms_fallback_enabled=True on an RCS app:

  1. Message is first attempted via RCS
  2. If RCS delivery fails (device doesn’t support RCS, user offline, etc.)
  3. Message automatically retries via the linked SMSApp
  4. Both attempts are logged for analytics
RCS Send → Success → Done
→ Failure → SMS Fallback → Success/Failure
SettingDefault
RCS_RATE_LIMIT300/min
Daily counter resetMidnight (via Celery cron)
FeatureGoogle RBMMeta RCS
SuggestionsQuick replies, dial, URL, map locationQuick replies
Rich CardsYesLimited
File SharingImages, videos, documentsImages
Read ReceiptsYesYes
Typing IndicatorsYesNo
CoverageAndroid (carrier-dependent)Android