Skip to main content

RCS Messaging

RCS (Rich Communication Services) is the SMS upgrade for Android phones. It delivers rich cards with images, carousels, suggested actions, and read receipts—all natively on Android without requiring an app.

What is RCS?

RCS is like iMessage for your brand. Instead of plain text SMS, you can send:

  • Rich cards — Images, descriptions, action buttons
  • Carousels — Swipeable product catalogs
  • Suggested actions — Quick reply buttons
  • Read receipts — Know when messages are read
  • Typing indicators — Show when you're responding

RCS is delivered natively on Android (70%+ of global phones) without requiring an app download.

RCS Setup

RCS requires carrier partnership. Contact us to set up RCS for your business.

  1. Go to Settings → Channels → RCS
  2. Click Request RCS Setup
  3. Our team will guide you through carrier registration
  4. Once approved, you can start sending RCS messages

Sending RCS Messages

Rich Card

A rich card is a single card with an image, title, description, and action buttons.

curl -X POST \
https://your-msghub.com/api/v1/messages/send \
-H "X-API-Key: mk_live_..." \
-H "Content-Type: application/json" \
-d '{
"channel": "rcs",
"to": "+919876543210",
"type": "card",
"card": {
"title": "Sony WH-1000XM5",
"description": "Industry-leading noise cancellation. 30-hour battery.",
"media": {
"url": "https://example.com/headphones.jpg",
"type": "image"
},
"suggestions": [
{
"action": "OPEN_URL",
"text": "Buy Now",
"url": "https://example.com/product/headphones"
},
{
"action": "OPEN_URL",
"text": "See More Colors",
"url": "https://example.com/product/headphones/colors"
}
]
}
}'

A carousel is multiple cards that users can swipe through.

curl -X POST \
https://your-msghub.com/api/v1/messages/send \
-H "X-API-Key: mk_live_..." \
-H "Content-Type: application/json" \
-d '{
"channel": "rcs",
"to": "+919876543210",
"type": "carousel",
"carousel": {
"cards": [
{
"title": "Laptop",
"description": "15-inch display, 16GB RAM",
"media": {
"url": "https://example.com/laptop.jpg",
"type": "image"
},
"suggestions": [
{
"action": "OPEN_URL",
"text": "View",
"url": "https://example.com/product/laptop"
}
]
},
{
"title": "Phone",
"description": "6.7-inch AMOLED, 128GB storage",
"media": {
"url": "https://example.com/phone.jpg",
"type": "image"
},
"suggestions": [
{
"action": "OPEN_URL",
"text": "View",
"url": "https://example.com/product/phone"
}
]
}
]
}
}'

Suggested Actions

Add quick reply buttons to any message.

curl -X POST \
https://your-msghub.com/api/v1/messages/send \
-H "X-API-Key: mk_live_..." \
-H "Content-Type: application/json" \
-d '{
"channel": "rcs",
"to": "+919876543210",
"type": "text",
"body": "Do you want to confirm your order?",
"suggestions": [
{
"action": "REPLY",
"text": "Yes, confirm",
"postbackData": "order_confirmed"
},
{
"action": "REPLY",
"text": "No, cancel",
"postbackData": "order_cancelled"
}
]
}'

RCS Message Types

TypeDescriptionUse Case
textPlain text with optional suggestionsQuick messages, confirmations
cardSingle rich card with image and buttonsProduct showcase, offers
carouselMultiple swipeable cardsProduct catalog, recommendations
fileDocument, PDF, or media fileReceipts, invoices, reports

Suggested Actions

Suggested actions are quick reply buttons that users can tap.

Action Types

  • REPLY — Send a text reply
  • OPEN_URL — Open a URL
  • DIAL — Call a phone number
  • COPY_CODE — Copy a code to clipboard
  • CREATE_CALENDAR_EVENT — Add event to calendar

Example: REPLY Action

{
"action": "REPLY",
"text": "Yes, confirm",
"postbackData": "order_confirmed"
}

When the user taps "Yes, confirm", Msghub receives:

{
"event": "message.received",
"channel": "rcs",
"from": "+919876543210",
"message": {
"type": "text",
"text": "Yes, confirm",
"postbackData": "order_confirmed"
}
}

Example: OPEN_URL Action

{
"action": "OPEN_URL",
"text": "Buy Now",
"url": "https://example.com/product"
}

Example: DIAL Action

{
"action": "DIAL",
"text": "Call us",
"phoneNumber": "+1-800-EXAMPLE"
}

CTR Tracking

RCS provides click-through rate (CTR) tracking. Know exactly which users clicked which buttons.

Receiving Click Events

{
"event": "message.clicked",
"messageId": "msg_abc123",
"channel": "rcs",
"from": "+919876543210",
"action": "OPEN_URL",
"url": "https://example.com/product",
"clickedAt": "2024-04-08T10:30:05Z"
}

CTR Analytics

View CTR in the dashboard:

  1. Go to Campaigns → [Campaign Name]
  2. Scroll to Analytics
  3. See:
    • Total sent — Number of messages sent
    • Delivered — Number delivered
    • Clicked — Number of clicks
    • CTR — Click-through rate (%)

Delivery Status

RCS provides detailed delivery status:

{
"event": "message.delivered",
"messageId": "msg_abc123",
"channel": "rcs",
"status": "delivered",
"deliveredAt": "2024-04-08T10:30:05Z"
}

Possible statuses:

  • sent — Message sent to carrier
  • delivered — Message delivered to phone
  • read — Message read by recipient
  • failed — Message delivery failed

RCS Campaigns

Send RCS messages to multiple contacts using campaigns.

Create a Campaign

curl -X POST \
https://your-msghub.com/api/v1/campaigns \
-H "X-API-Key: mk_live_..." \
-H "Content-Type: application/json" \
-d '{
"name": "Product Launch",
"channel": "rcs",
"message": {
"type": "carousel",
"carousel": {
"cards": [
{
"title": "New Laptop",
"description": "15-inch display, 16GB RAM",
"media": {
"url": "https://example.com/laptop.jpg",
"type": "image"
},
"suggestions": [
{
"action": "OPEN_URL",
"text": "Buy Now",
"url": "https://example.com/product/laptop"
}
]
}
]
}
},
"recipients": {
"segment": "tech_enthusiasts"
},
"sendAt": "2024-04-08T18:00:00Z"
}'

Monitor Campaign

curl -X GET \
https://your-msghub.com/api/v1/campaigns/camp_xyz789 \
-H "X-API-Key: mk_live_..."

Response includes:

  • Sent — Number of messages sent
  • Delivered — Number delivered
  • Clicked — Number of clicks
  • CTR — Click-through rate

Best Practices

Rich Card Design

  • Use high-quality images — 1200x628px recommended
  • Keep descriptions short — 2-3 sentences max
  • Clear call-to-action — "Buy Now", "Learn More", "View Details"
  • Mobile-first — Design for small screens
  • Limit to 3-5 cards — More than 5 is overwhelming
  • Consistent styling — Same layout for all cards
  • Swipeable — Make it obvious users can swipe
  • Clear navigation — Show which card is active

Suggested Actions

  • Limit to 3 buttons — More than 3 is confusing
  • Clear labels — "Yes/No", "Buy/Cancel", "Call/Email"
  • Relevant actions — Match the message context
  • Mobile-friendly — Large enough to tap easily

Timing

  • Send during business hours — 9 AM - 6 PM
  • Respect time zones — Schedule for recipient's local time
  • Avoid weekends — Unless it's time-sensitive

Troubleshooting

Messages not sending

  1. Check phone number — Must be E.164 format (+919876543210)
  2. Check RCS setup — Is RCS connected in Settings?
  3. Check carrier — Is the recipient's carrier RCS-enabled?
  4. Check content — Is the message properly formatted?

Low delivery rate

  1. Check carrier coverage — RCS is not available on all carriers
  2. Check phone — Is the recipient using an Android phone?
  3. Check network — Is there a connectivity issue?

Low CTR

  1. Check design — Is the card visually appealing?
  2. Check CTA — Is the call-to-action clear?
  3. Check timing — Are you sending at the right time?
  4. Check relevance — Is the message relevant to the recipient?

See Also