Unified Messaging Prerequisites
The EnableX Unified Messaging API is an abstraction layer that lets you send messages across SMS, WhatsApp, and RCS using a single API call. A channels array in each request specifies which channels to try and in what order. This page describes everything you need to set up before making your first Unified Messaging API call.
channels array must be independently provisioned. If a channel's prerequisites are not met, that channel will fail and the API will fall through to the next channel in the array, or return an error if no fallback succeeds.
1. EnableX Account and Project
All EnableX messaging — including Unified Messaging — requires an active account and a project with messaging services enabled.
Create an Account
Sign up at portal.enablex.io. A verified email address is required to activate your account.
Create a Project
After signing in:
1. Navigate to My Projects in the portal.
2. Click CREATE PROJECT.
3. Enter a project name and description.
4. In the Channels section, enable the messaging services you intend to use (SMS, WhatsApp, RCS, or any combination).
5. Click CREATE PROJECT to confirm.
On successful creation, a confirmation popup displays your APP ID and APP Key. These credentials are also emailed to your registered address. Store them securely — they authenticate every Unified Messaging API call.
API Credentials
Every Unified Messaging API request is authenticated using HTTP Basic Authentication. Construct your credentials as follows:
Authorization: Basic base64(APP_ID:APP_KEY)
| Credential | Description | Where to Find |
|---|---|---|
APP_ID | Unique identifier for your project | Project dashboard or creation confirmation email |
APP_KEY | Secret key paired with the APP ID | Project dashboard or creation confirmation email |
2. Understanding the channels Array
The channels array is the central concept of the Unified Messaging API. It controls which channels are attempted and the fallback order when a channel is unavailable or fails delivery.
{
"to": "+919876543210",
"channels": ["whatsapp", "sms"],
"message": {
"text": "Your OTP is 482910. Valid for 10 minutes."
}
}
In the example above, the API first attempts to deliver via WhatsApp. If the recipient does not have WhatsApp, the message is not delivered through WhatsApp, or an error occurs, the API automatically falls back to SMS. Channels are tried left to right in the array.
| Supported Channel Value | Messaging Channel |
|---|---|
"sms" | SMS (text message to any mobile number) |
"whatsapp" | WhatsApp Business Messaging |
"rcs" | RCS (Rich Communication Services) |
channels array must have its own prerequisites completed independently. The Unified Messaging API will only attempt a channel for which your account is correctly provisioned. An unprovisioned channel in the array causes that attempt to fail, and the API falls through to the next channel.
3. Per-Channel Prerequisites
The sections below describe what must be completed for each channel before it can be used in a Unified Messaging request.
SMS Prerequisites
SMS is the most broadly supported fallback channel. Before including "sms" in your channels array, complete the following:
| Requirement | Details |
|---|---|
| SMS Service Enabled | Enable SMS in your project's Channels section via the EnableX Portal. |
| Campaign Setup | Create an SMS campaign linked to your project. The campaign_id is required in Unified API payloads that route through SMS. |
| Sender ID or Phone Number | Obtain an approved Sender ID (alphanumeric, up to 11 characters) or a virtual number (Long Code or Short Code) through the portal. |
| Message Template | Create and obtain approval for at least one SMS template. The template_id is required when routing through SMS. |
| DLT Registration (India) | Mandatory for all SMS sent to Indian numbers. Register your Principal Entity ID, Sender ID (header), and message templates on a DLT platform (e.g., Jio, Airtel, Vodafone Idea). Provide your DLT Principal Entity ID when requesting a Sender ID through the portal. |
| 10DLC Registration (US) | Required for SMS to US numbers. Register your brand and campaign on a Campaign Registry and obtain a 10-digit long code. Unregistered traffic is blocked by US carriers. |
| Approved Sender (Other Countries) | Sender ID support and registration requirements vary by country. Some countries require pre-registration; others replace Sender IDs with short codes. Check country-specific requirements before sending. |
WhatsApp Prerequisites
WhatsApp Business Messaging requires approval from Meta before you can send any messages. Before including "whatsapp" in your channels array, complete the following:
| Requirement | Details |
|---|---|
| WhatsApp Business Account (WABA) | Apply through EnableX. Requires an active Facebook Business Manager account that has completed Meta business verification. |
| Meta Business Verification | Your business must be verified by Meta as part of the WABA approval process. Verification requires submission of official business documents. |
| Business Phone Number | A dedicated phone number registered exclusively for your WhatsApp Business profile. This number cannot be simultaneously registered on the personal WhatsApp app. |
| Display Name Approval | Your WhatsApp business display name must be reviewed and approved by Meta before the account is activated. |
| Template Approval | All business-initiated messages sent outside an active 24-hour customer service window must use Meta-approved message templates. Submit templates for approval through the EnableX Portal before using them in API calls. |
RCS Prerequisites
RCS (Rich Communication Services) delivers rich messaging experiences — including images, carousels, and quick-reply buttons — over carrier networks. Before including "rcs" in your channels array, complete the following:
| Requirement | Details |
|---|---|
| RBM Agent Registration | Register your business as an RBM (Rich Business Messaging) Agent through EnableX. The agent represents your brand identity on the RCS network. |
| Carrier Verification | Your RBM agent must be verified and launched by the carrier (or carrier aggregator) before production messaging is permitted. This process is managed through EnableX on your behalf. |
| Template Approval (India) | Business-initiated RCS messages sent to Indian numbers require pre-approved templates. Template approval is managed through the portal. Outside India, templates are optional for conversational flows. |
| Fallback Text Configuration | Configure a plain-text fallback message for recipients whose devices or carriers do not support RCS. The Unified Messaging API can automatically fall back to SMS when RCS is unavailable if SMS is also included in your channels array. |
4. Webhook Configuration
Configure a single webhook URL on your EnableX project to receive delivery notifications and incoming messages across all channels used by the Unified Messaging API.
Setting Up the Webhook
1. Navigate to your project settings in the EnableX Portal.
2. Locate the Webhook / Notification URL field.
3. Enter your publicly accessible HTTPS endpoint URL.
4. Save the project settings.
200 to acknowledge every notification; non-200 responses trigger retries.
Events Delivered to the Webhook
The Unified Messaging API delivers all channel events to the same webhook URL configured on your project:
| Event Type | Channels | Description |
|---|---|---|
| Delivery notification | SMS, WhatsApp, RCS | Status update when a message is delivered, failed, or undeliverable. Includes the channel used for delivery. |
| Incoming message | SMS, WhatsApp, RCS | Inbound message from a user — reply to a business-initiated message or a new user-initiated conversation. |
| Read receipt | WhatsApp, RCS | Notification that the recipient has read the message (where supported by the channel). |
| Template status update | WhatsApp, RCS | Notification when a submitted template is approved, rejected, or paused. |
| Channel fallback event | SMS, WhatsApp, RCS | Notification that the primary channel was unavailable and delivery was attempted on the next channel in the array. |
channel field indicating which channel generated the event. Use this field in your webhook handler to route events appropriately within your application.
Setup Checklist
Use the checklist below to verify all prerequisites are complete before making your first Unified Messaging API call.
| # | Step | Required For |
|---|---|---|
| 1 | Create an EnableX account and verify your email | All channels |
| 2 | Create a project with messaging services enabled | All channels |
| 3 | Obtain APP_ID and APP_KEY | All channels |
| 4 | Configure webhook URL on the project (HTTPS, valid certificate) | All channels |
| 5 | Create SMS campaign, obtain approved Sender ID and template | SMS in channels array |
| 6 | Complete DLT / 10DLC / country-specific sender registration | SMS — India, US, and other regulated markets |
| 7 | Apply for WABA, complete Meta business verification, obtain display name approval | WhatsApp in channels array |
| 8 | Submit and obtain approval for WhatsApp message templates | WhatsApp business-initiated messages |
| 9 | Register RBM agent, complete carrier verification | RCS in channels array |
| 10 | Submit and obtain approval for RCS templates (mandatory for India) | RCS business-initiated messages |
What's Next
Once all prerequisites for your intended channels are in place, proceed to:
- Unified Messaging API — Full API reference including request structure, the
channelsarray, payload parameters, response codes, and channel-specific message formatting. - Messaging Prerequisites Overview — Combined prerequisites page covering SMS, WhatsApp, RCS, and Unified Messaging in a single reference.