We've launched Rich Communication Services (RCS) messaging with intelligent SMS fallback and enhanced delivery tracking.
β What's New
POST/v2/rcs
A powerful new API endpoint for sending rich, interactive messages via RCS with automatic SMS fallback capabilities.
Key features:
Dual Message Types:
Send Basic RCS messages (160 characters, SMS format) or Simple RCS messages (3072 characters with full UTF-8 and emoji support).
RCS Agent-Based Delivery:
Messages are sent through registered RCS Agent IDs rather than phone numbers, providing better brand identity and compliance with RCS standards.
Intelligent SMS Fallback (optional):
Include an SMS fallback message that automatically delivers if the recipient's device doesn't support RCS or if carrier delivery fails.
Enhanced Webhook Support:
Track message delivery with RCS-specific webhook events including RCS_STATUS with statuses: SENT, DELIVERED, FAILED, and READ (unique to RCS).
Message Tracking via message_ref:
Tag each message with a custom message_refβthis ID will be included in delivery webhooks, making it easy to track message delivery status in your systems.
Traffic Type Classification:
Specify message traffic types (authentication, transaction, promotion, serviceRequest, acknowledgement) for better carrier routing and compliance.
Clean and Compliant Formatting:
All phone numbers must be in E.164 international format.
RCS Agent IDs must be pre-registered with your account.
Currently available for Australian recipients.
π― Key Benefits
Rich Messaging: Send longer messages with emoji and UTF-8 support
Read Receipts: Know when recipients actually read your messages (RCS-specific feature)
Intelligent Fallback: Ensure message delivery even to non-RCS devices
Brand Identity: Use registered RCS Agent names instead of phone numbers
π§ Technical Details
Request Format
{
"sender": "DemoSender",
"recipient": "+447903749662",
"content_type": "text",
"content": {
"text": {
"message": "Hi Michael,\nJust a quick reminder. You are amazing!!\nReply STOP to opt out."
}
},
"sms_fallback": {
"message": "Hi Michael, just a quick reminder. You are amazing!! Reply STOP to opt out."
},
"message_ref": "order-12345"
}
Response Format
{
"data": {
"id": "6fdae71c-dad7-4c36-9734-a69693ecf3b4",
"message_ref": "order-12345",
"sender": "DemoSender",
"recipient": "+447903749662",
"message_traffic_type": "default",
"content_type": "text",
"content": {
"text": {
"message": "Hi Michael,\nJust a quick reminder. You are amazing!!\nReply STOP to opt out."
}
},
"created_at": "2025-01-07T05:16:07Z"
}
}
Webhook Support
RCS webhooks include the new RCS_STATUS event type with enhanced status tracking:
Contact Support: Reach out to register your RCS Agent ID
API Integration: Use the new /v2/rcs endpoint
Webhook Setup: Configure webhooks to track RCS_STATUS events
Test Messages: Start with Basic RCS messages, then explore Simple RCS features
π Message Types Comparison
Feature
Basic RCS
Simple RCS
SMS Fallback
Character Limit
160 characters
3,072 characters
160 characters
UTF-8 Support
β
β
β
Emoji Support
β
β
β
Read Receipts
β
β
β
Rich Formatting
Limited
β
β
π¬ Questions or Need Help?
Ready to start sending RCS messages? Contact our support team to get your RCS Agent registered and begin integrating this powerful new messaging channel into your applications.
Weβre introducing enhanced webhook subscriptions that allow for more granular filtering, reducing unnecessary noise and improving third-party integrations.
π― Key Features
When creating a new webhook, you can now provide filters on the following fields:
Event Type (e.g. LINK_HIT, SMS_INBOUND)
Sender (e.g. 61400000000)
Message Reference (e.g. msg_abc)
Status (e.g. DELIVERED)
π§ Filter Logic
Within each individual filter field, multiple values are combined with OR logic. Example: event_type == LINK_HIT OR event_type == SMS_INBOUND
Across different filter fields, conditions are combined with AND logic. Example: (event_type == LINK_HIT OR SMS_INBOUND) AND sender == 61400000000
π Context-Sensitive Filtering
The filters are applied differently based on the event type:
For status events (SMS_STATUS, MMS_STATUS, etc.): sender, status, and message_ref filters are applied to the status payload.
For LINK_HIT events: sender and message_ref filters are applied to the source_message in the link hit payload.
For OPT_OUT events: sender and message_ref filters are applied to the source_message in the opt-out payload.
For inbound events (SMS_INBOUND, MMS_INBOUND, etc.): sender and message_ref filters are applied to the last_message in the inbound payload.
π¨ Legacy Support
You can still use the existing webhook creation format for now, but it will be deprecated in a future release.
We are slightly modifying the datetime format used in the webhook API.
Old Format
New Format
2025-05-14T01:05:15.728779000Z
2025-05-14T01:05:15.728779Z
Why this matters:
Both formats conform to RFC 3339, a subset of ISO 8601.
This change removes nanosecond precision (9 digits) in favor of microsecond precision (6 digits).
Most datetime parsers will handle this gracefully unless you are doing exact string matching or have schema constraints.
π webhook_id and webhook_name in Payloads
Weβve added two new fields to webhook payloads for better traceability:
Weβve just launched a brand new endpoint to support templated notification messages via WhatsApp using registered WhatsApp Business accounts.
β Whatβs New
POST /v2/whatsapp
A robust API endpoint for sending pre-approved templated messages to users on WhatsApp.
Key features:
Template-Based Messaging:
Send messages using WhatsApp-approved templates. Each template must be pre-configured in your WhatsApp Business account and supports text-based dynamic parameters.
SMS Fallback Support (optional):
Include an SMS fallback message that gets delivered if the WhatsApp message fails.
Message Tracking via message_ref:
Tag each message with a custom message_refβthis ID will be included in delivery webhooks, making it easy to track message delivery status in your systems.
Locale-Specific Messaging (optional):
Customize the message by specifying a locale (e.g., en_US, pt_BR) to reach users in their preferred language.
Clean and Compliant Formatting:
All phone numbers must be in E.164 international format.
Templates must adhere to WhatsAppβs strict format and approval process.