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.

Important: The Unified Messaging API does not bypass channel-level requirements. Every channel you include in your 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.

Note: You can also enable messaging services on an existing project. Navigate to the project summary, click EDIT, enable the required channels in the Channels section, and save.

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)
CredentialDescriptionWhere to Find
APP_IDUnique identifier for your projectProject dashboard or creation confirmation email
APP_KEYSecret key paired with the APP IDProject 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 ValueMessaging Channel
"sms"SMS (text message to any mobile number)
"whatsapp"WhatsApp Business Messaging
"rcs"RCS (Rich Communication Services)
Important: Every channel listed in the 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:

RequirementDetails
SMS Service EnabledEnable SMS in your project's Channels section via the EnableX Portal.
Campaign SetupCreate an SMS campaign linked to your project. The campaign_id is required in Unified API payloads that route through SMS.
Sender ID or Phone NumberObtain an approved Sender ID (alphanumeric, up to 11 characters) or a virtual number (Long Code or Short Code) through the portal.
Message TemplateCreate 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:

RequirementDetails
WhatsApp Business Account (WABA)Apply through EnableX. Requires an active Facebook Business Manager account that has completed Meta business verification.
Meta Business VerificationYour business must be verified by Meta as part of the WABA approval process. Verification requires submission of official business documents.
Business Phone NumberA dedicated phone number registered exclusively for your WhatsApp Business profile. This number cannot be simultaneously registered on the personal WhatsApp app.
Display Name ApprovalYour WhatsApp business display name must be reviewed and approved by Meta before the account is activated.
Template ApprovalAll 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:

RequirementDetails
RBM Agent RegistrationRegister your business as an RBM (Rich Business Messaging) Agent through EnableX. The agent represents your brand identity on the RCS network.
Carrier VerificationYour 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 ConfigurationConfigure 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.

Important: Your webhook endpoint must use HTTPS with a valid TLS/SSL certificate. Self-signed certificates are not supported. The endpoint must return HTTP 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 TypeChannelsDescription
Delivery notificationSMS, WhatsApp, RCSStatus update when a message is delivered, failed, or undeliverable. Includes the channel used for delivery.
Incoming messageSMS, WhatsApp, RCSInbound message from a user — reply to a business-initiated message or a new user-initiated conversation.
Read receiptWhatsApp, RCSNotification that the recipient has read the message (where supported by the channel).
Template status updateWhatsApp, RCSNotification when a submitted template is approved, rejected, or paused.
Channel fallback eventSMS, WhatsApp, RCSNotification that the primary channel was unavailable and delivery was attempted on the next channel in the array.
Note: Each webhook payload includes a 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.

#StepRequired For
1Create an EnableX account and verify your emailAll channels
2Create a project with messaging services enabledAll channels
3Obtain APP_ID and APP_KEYAll channels
4Configure webhook URL on the project (HTTPS, valid certificate)All channels
5Create SMS campaign, obtain approved Sender ID and templateSMS in channels array
6Complete DLT / 10DLC / country-specific sender registrationSMS — India, US, and other regulated markets
7Apply for WABA, complete Meta business verification, obtain display name approvalWhatsApp in channels array
8Submit and obtain approval for WhatsApp message templatesWhatsApp business-initiated messages
9Register RBM agent, complete carrier verificationRCS in channels array
10Submit 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 channels array, 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.