RCS
Overview
Section titled “Overview”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:
| Provider | Auth | Suggestions | Status |
|---|---|---|---|
| Google RBM | Service account JSON | Quick replies, dial, URL actions | Production |
| Meta RCS | Access token | Quick replies | Production |
-
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"}'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": "META_RCS","agent_id": "your-meta-agent-id","provider_credentials": {"access_token": "your-access-token"},"sms_fallback_enabled": true,"sms_fallback_app": "sms-app-uuid"}' -
Register webhook URL
https://your-domain.com/rcs/v1/webhooks/{rcs_app_id}/
API Endpoints
Section titled “API Endpoints”| Method | Endpoint | Description |
|---|---|---|
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 |
Sending Messages
Section titled “Sending Messages”Basic Text Message
Section titled “Basic Text Message”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!" }'With Quick Reply Suggestions
Section titled “With Quick Reply Suggestions”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"} ] }'Via MCP Tool
Section titled “Via MCP Tool”send_rcs_message( api_key="your-api-key", phone="+1234567890", text="Hello from RCS!", suggestions=[ {"type": "reply", "text": "Yes"}, {"type": "reply", "text": "No"} ])SMS Fallback
Section titled “SMS Fallback”When sms_fallback_enabled=True on an RCS app:
- Message is first attempted via RCS
- If RCS delivery fails (device doesn’t support RCS, user offline, etc.)
- Message automatically retries via the linked
SMSApp - Both attempts are logged for analytics
RCS Send → Success → Done → Failure → SMS Fallback → Success/FailureRate Limits
Section titled “Rate Limits”| Setting | Default |
|---|---|
RCS_RATE_LIMIT | 300/min |
| Daily counter reset | Midnight (via Celery cron) |
Provider Comparison
Section titled “Provider Comparison”| Feature | Google RBM | Meta RCS |
|---|---|---|
| Suggestions | Quick replies, dial, URL, map location | Quick replies |
| Rich Cards | Yes | Limited |
| File Sharing | Images, videos, documents | Images |
| Read Receipts | Yes | Yes |
| Typing Indicators | Yes | No |
| Coverage | Android (carrier-dependent) | Android |