惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Blog — PlanetScale
Blog — PlanetScale
小众软件
小众软件
F
Fortinet All Blogs
博客园 - 叶小钗
博客园_首页
D
DataBreaches.Net
Apple Machine Learning Research
Apple Machine Learning Research
U
Unit 42
爱范儿
爱范儿
aimingoo的专栏
aimingoo的专栏
博客园 - Franky
Martin Fowler
Martin Fowler
酷 壳 – CoolShell
酷 壳 – CoolShell
The Cloudflare Blog
A
About on SuperTechFans
Google DeepMind News
Google DeepMind News
Microsoft Security Blog
Microsoft Security Blog
IT之家
IT之家
M
MIT News - Artificial intelligence
有赞技术团队
有赞技术团队
博客园 - 【当耐特】
S
SegmentFault 最新的问题
Hugging Face - Blog
Hugging Face - Blog

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
RCS Business Messaging: 5 Templates You Can Use Today (JS...
Dr. Agentic · 2026-05-12 · via DEV Community

RCS Business Messaging: 5 Templates You Can Use Today

Building for RCS? The GSMA Universal Profile is 200+ pages. Most developers just need working templates and a validation checklist.

After building RCS X — an RCS emulator for developers — we distilled the most useful patterns into this guide.


Template 1: Text Message with Suggested Actions

The most useful RCS message type. Adds quick-reply buttons to guide user interaction.

{
  "contentMessage": {
    "text": "What would you like to do today?",
    "suggestions": [
      {
        "action": {
          "text": "📦 Track Order",
          "postbackData": "track_order"
        }
      },
      {
        "action": {
          "text": "🛒 Place Order",
          "postbackData": "place_order"
        }
      },
      {
        "action": {
          "text": "📞 Contact Support",
          "postbackData": "contact_support"
        }
      },
      {
        "action": {
          "text": "📍 Find Store",
          "postbackData": "find_store"
        }
      }
    ]
  }
}

Enter fullscreen mode Exit fullscreen mode

Key rules:

  • Max 4 suggestions per message
  • Suggestion text: max 25 characters
  • postbackData: max 200 characters
  • Use emoji sparingly for visual hierarchy

Template 2: Rich Card (Vertical + Media)

The workhorse of RCS messaging. Image + title + description + buttons.

{
  "contentMessage": {
    "richCard": {
      "standaloneCard": {
        "cardOrientation": "VERTICAL",
        "cardContent": {
          "title": "Coffee Time ☕",
          "description": "Start your morning with the perfect cup. Fresh roasted beans delivered to your door.",
          "media": {
            "height": "MEDIUM",
            "contentInfo": {
              "fileUrl": "https://your-cdn.com/images/coffee-hero.jpg",
              "mimeType": "image/jpeg"
            }
          },
          "suggestions": [
            {
              "action": {
                "text": "Order Now",
                "postbackData": "order_coffee"
              }
            },
            {
              "action": {
                "text": "View Menu",
                "postbackData": "view_menu"
              }
            }
          ]
        }
      }
    }
  }
}

Enter fullscreen mode Exit fullscreen mode

Media height options:

  • SHORT — 112dp (thumbnail/icon)
  • MEDIUM — 168dp (standard, recommended)
  • TALL — 280dp (hero/feature image)

Image specs: Max 3.5MB JPEG, 1MB PNG. Recommended 600x340px for MEDIUM.


Template 3: Carousel (2 Cards)

Multiple cards in a swipeable carousel. Max 10 cards per carousel.

{
  "contentMessage": {
    "richCard": {
      "carouselCard": {
        "cardWidth": "MEDIUM",
        "cardContents": [
          {
            "title": "Eiffel Tower",
            "description": "Iconic landmark of Paris.",
            "media": {
              "height": "MEDIUM",
              "contentInfo": {
                "fileUrl": "https://your-cdn.com/images/eiffel.jpg",
                "mimeType": "image/jpeg"
              }
            },
            "suggestions": [
              {
                "reply": {
                  "text": "Book Eiffel Tour",
                  "postbackData": "book_eiffel"
                }
              }
            ]
          },
          {
            "title": "Louvre Museum",
            "description": "Worlds largest art museum.",
            "media": {
              "height": "MEDIUM",
              "contentInfo": {
                "fileUrl": "https://your-cdn.com/images/louvre.jpg",
                "mimeType": "image/jpeg"
              }
            },
            "suggestions": [
              {
                "reply": {
                  "text": "Book Louvre Tour",
                  "postbackData": "book_louvre"
                }
              }
            ]
          }
        ]
      }
    }
  }
}

Enter fullscreen mode Exit fullscreen mode

Carousel rules: cardWidth is SMALL or MEDIUM. All cards must have the same width. Best engagement: 2-5 cards.


Template 4: Calendar Action

Add events directly to the users calendar from an RCS message.

{
  "contentMessage": {
    "text": "Join our product launch event!",
    "suggestions": [
      {
        "action": {
          "text": "Add to Calendar",
          "postbackData": "add_launch_calendar",
          "fallbackUrl": "https://your-site.com/event.ics",
          "createCalendarEventAction": {
            "startTime": "2026-06-15T10:00:00Z",
            "endTime": "2026-06-15T12:00:00Z",
            "title": "Product Launch 2026",
            "description": "Join us for the live launch of our new product line."
          }
        }
      }
    ]
  }
}

Enter fullscreen mode Exit fullscreen mode

Always include fallbackUrl for devices that dont support calendar actions.


Template 5: AI Agent Message (MCP-Compatible)

For AI agents sending to RCS via MCP server.

{
  "rcsMessage": {
    "messageId": "msg_agent_001",
    "conversationId": "conv_abc123",
    "participantId": "+1234567890",
    "type": "text",
    "text": "Hello from your AI assistant! 🤖 How can I help you today?",
    "suggestions": [
      { "action": { "text": "Ask a Question", "postbackData": "ask_question" } },
      { "action": { "text": "View Options", "postbackData": "view_options" } }
    ]
  }
}

Enter fullscreen mode Exit fullscreen mode


GSMA Validation Quick Checklist

Before carrier submission, verify:

  • [ ] contentMessage wrapper is present
  • [ ] Valid JSON (no trailing commas, proper quotes)
  • [ ] Text length ≤ 3072 characters
  • [ ] UTF-8 encoding throughout
  • [ ] cardOrientation is VERTICAL or HORIZONTAL (required for rich cards)
  • [ ] title max 200 chars, description max 2000 chars
  • [ ] Media height is SHORT, MEDIUM, or TALL
  • [ ] fileUrl is HTTPS (HTTP is rejected)
  • [ ] Image max 3.5MB JPEG, 1MB PNG
  • [ ] Video max 100MB, MP4 H.264
  • [ ] Max 4 suggestions per message/card
  • [ ] Suggestion text max 25 characters
  • [ ] postbackData max 200 characters
  • [ ] No duplicate postbackData within same message
  • [ ] messageId is unique (UUID recommended)
  • [ ] Brand is registered with carrier
  • [ ] Fallback SMS message prepared

Need Your Campaign Validated?

RCS Campaign Validation Service — $49/campaign

We validate your RCS payloads against GSMA specs, test rendering across devices on our emulator, and send you a detailed report with fixes.

  • ✓ GSMA compliance check
  • ✓ Cross-device rendering test
  • ✓ Carrier submission review
  • ✓ Detailed fix report with code corrections
  • ✓ 24-hour turnaround
  • ✓ 2 free re-validations

Email morsy@specialized.live to get started.


SMS → RCS Migration: The 3 Patterns That Matter Most

Pattern 1: Text → Rich Card

SMS: "Your order shipped! Track: https://..."
RCS:  Rich card with tracking image + Track Package button

Enter fullscreen mode Exit fullscreen mode

Pattern 2: Keyword → Suggested Action

SMS: "Reply YES to confirm"
RCS:  Suggestion button (one tap, zero parsing errors)

Enter fullscreen mode Exit fullscreen mode

Pattern 3: Plain Date → Calendar Action

SMS: "Appointment at 3pm on Friday"
RCS:  Calendar Action (one tap to add to calendar)

Enter fullscreen mode Exit fullscreen mode

Key principle: Replace typed input with suggested actions wherever possible. This eliminates parsing errors, reduces user effort, and captures intent precisely.


Free Templates on GitHub

All 5 templates are available on GitHub: Dr-Agentic/rcs-templates

Test Your Payloads Free

Use RCS X to verify rendering, test interactions, and validate payloads — without burning carrier API quotas.


Built by the team behind RCS X — the professional RCS emulator for developers.