WhatsApp Business Prerequisites
Before you can send or receive WhatsApp messages through the EnableX API, several platform-level requirements must be satisfied. WhatsApp Business messaging is governed by Meta's policies and requires account verification, phone number registration, and content approval steps that are distinct from other messaging channels.
Work through this checklist in order — each step builds on the previous one. Most setup is completed once, through the EnableX Portal and in coordination with the EnableX onboarding team.
EnableX Account and Project
All EnableX APIs — including WhatsApp — are scoped to a Project. A project holds your API credentials and channel configuration.
Create a Project and Obtain Credentials
1. Sign up or log in at portal.enablex.io.
2. Navigate to My Projects and click CREATE PROJECT.
3. Enter a project name and description.
4. In the Channels section, enable WhatsApp.
5. Click CREATE PROJECT to confirm.
On successful creation, the portal displays your APP ID and APP Key. These credentials are also emailed to your registered address. Save them securely — every API call requires them.
Using APP ID and APP Key
The APP ID and APP Key are used for authentication in every WhatsApp API call. EnableX supports two authentication methods:
| Method | How to Use |
|---|---|
| HTTP Basic | Base64-encode APP_ID:APP_KEY and pass as Authorization: Basic <encoded> |
| Bearer Token | Exchange APP ID and APP Key for a short-lived token via POST /whatsapp/v1/token, then pass as Authorization: Bearer <token> |
See the WhatsApp API — Authentication section for full details and example requests.
WhatsApp Business Account (WABA)
A WhatsApp Business Account (WABA) is a Meta-managed account that grants your business permission to use the WhatsApp Business Platform. It is the foundation of all WhatsApp API access — without it, no messages can be sent or received.
What Is a WABA?
A WABA is different from the WhatsApp Business App that individuals and small businesses use on their phones. The WABA is a cloud-side account managed through Meta's Business Platform and accessed programmatically via the API. It holds your business phone number, approved message templates, and usage limits.
Obtaining a WABA Through EnableX
EnableX is a Meta Business Solution Provider (BSP). Rather than going directly to Meta, you obtain your WABA through EnableX as part of your onboarding. The EnableX team manages the WABA provisioning process on your behalf.
To initiate the WABA application:
1. Contact the EnableX sales or support team via portal.enablex.io.
2. Provide your business details: legal name, country, industry, and intended use case.
3. EnableX submits the WABA application to Meta and guides you through any additional Meta review steps.
Facebook Business Manager Requirement
Meta requires a verified Facebook Business Manager (FBM) account before a WABA can be created. This is a Meta policy requirement that cannot be waived.
To set up and verify your Facebook Business Manager:
1. Go to business.facebook.com and create a Business Manager account if you do not already have one.
2. Add your business details: legal name, business email, and website.
3. Complete Meta's business verification process — this typically involves uploading official business registration documents.
4. Once verified, share your Business Manager ID with the EnableX onboarding team so they can link your WABA to your account.
Business Phone Number
Every WhatsApp Business account requires a dedicated phone number that serves as your business's WhatsApp identity. This number appears as the sender in all conversations your business initiates.
Number Requirements
| Requirement | Details |
|---|---|
| Dedicated number | The number must be dedicated to your WhatsApp Business profile. It cannot be shared with another WhatsApp account. |
| Not on personal WhatsApp | A number currently registered on the personal WhatsApp app or WhatsApp Business App cannot be used for the API without first deregistering it from those apps. |
| Capable of receiving calls or SMS | During verification, Meta sends a one-time PIN to the number via voice call or SMS. The number must be able to receive one of these. |
| Country code included | The number must include the full country code (e.g., +65 for Singapore, +91 for India). |
Number Verification Process
After the WABA is created and the phone number is associated with it, Meta verifies ownership of the number:
1. EnableX initiates the number registration in the Meta system.
2. Meta sends a 6-digit One-Time PIN (OTP) to the number — either via SMS or voice call, depending on the number type.
3. You provide the OTP to EnableX (or enter it through the EnableX Portal if self-serve is enabled).
4. Upon successful verification, the number is registered on the WhatsApp Business Platform and associated with your WABA.
Display Name Approval
Your business display name is the name shown to WhatsApp users when they receive messages from your number. It appears in the chat header and contact card. This name must be submitted to Meta and approved before your WABA becomes active.
Approval Guidelines
Meta reviews display names against the following guidelines. Names that violate these rules are rejected.
| Guideline | Details |
|---|---|
| Must reflect your business | The display name must clearly represent the business or brand sending the messages. Generic or vague names (e.g., "Company", "Support") are not accepted. |
| Must match registered business | The name should align with your legal business name or a widely recognised brand name associated with your business. |
| No misleading names | Names that impersonate other companies, famous individuals, or Meta itself are rejected. |
| No prohibited content | Display names must not contain adult content, profanity, or references to prohibited products. |
| Language restrictions | Meta may require display names to be in the local language of the country the number is registered in, depending on the market. |
Submission and Review
Display name submission is handled as part of the WABA onboarding process managed by EnableX. The EnableX team submits the display name on your behalf. Meta's review typically takes between a few hours and several business days.
Message Template Approval
All business-initiated messages sent outside an active 24-hour session window must use a pre-approved Message Template. Templates are reviewed and approved by Meta before they can be used.
Why Templates Are Required
WhatsApp's platform is designed to prevent unsolicited business messages. Templates give Meta visibility into the kinds of messages businesses send to users who have not recently interacted with them. This protects users from spam and ensures businesses communicate with clear, pre-vetted content.
Template Categories
Every template must be assigned a category. The category affects how Meta reviews the template and how it is charged:
| Category | Purpose | Examples |
|---|---|---|
| Utility | Transactional messages tied to an agreed-upon customer action or relationship | Order confirmations, shipment updates, appointment reminders, payment receipts, account alerts |
| Marketing | Promotional content, offers, and business announcements sent to opted-in users | Sale announcements, discount codes, product launches, loyalty offers, re-engagement campaigns |
| Authentication | One-time passwords and verification codes | OTPs for login, transaction verification, account recovery |
Submitting Templates via EnableX Portal
Templates are created and submitted for Meta approval through the EnableX Portal or via the WhatsApp Templates API. To submit through the portal:
1. Navigate to your WhatsApp project in the EnableX Portal.
2. Go to WhatsApp → Templates and click CREATE TEMPLATE.
3. Enter a unique template name (lowercase, underscores only — no spaces).
4. Select the category: UTILITY, MARKETING, or AUTHENTICATION.
5. Select the language.
6. Define the template components: HEADER (optional), BODY (required), FOOTER (optional), and BUTTONS (optional).
7. For any placeholder variables ({{1}}, {{2}}, etc.) in the body or header, provide example values so Meta can review the template with realistic content.
8. Submit for review.
Meta's review typically completes within a few minutes to 24 hours. You receive a notification (via webhook and portal) when the template is approved or rejected.
POST /whatsapp/v1/templates API endpoint. See the WhatsApp API — Template Messaging section for the full payload reference.
Template Content Guidelines
Templates that violate Meta's content policies are rejected. Key rules:
| Rule | Details |
|---|---|
| No prohibited content | Templates cannot promote alcohol, tobacco, adult content, gambling, weapons, or other products prohibited by Meta's Commerce Policy. |
| No deceptive content | Templates must not make false claims, impersonate other brands, or use misleading language. |
| Variables must be filled | All placeholder variables must have example values at submission. Templates with empty or vague examples (e.g., "variable1") are typically rejected. |
| Relevant category | The template content must match the selected category. Promotional content submitted under Utility will be recategorised or rejected. |
| Opt-out instruction (Marketing) | Marketing templates should include a way for users to opt out of future messages, such as a "Reply STOP" instruction in the footer. |
24-Hour Session Window
Understanding the 24-hour session window is essential before integrating — it determines which message types your business can send at any given moment. This is a Meta platform rule, not an EnableX limitation.
How the Session Window Works
When a user sends a message to your business number, a 24-hour session window opens. During this window, your business can send any content freely — text, images, video, documents, interactive messages — without using a pre-approved template. These are called Session Messages or free-form messages.
Each time the user sends a new message, the 24-hour clock resets from that moment. Once the window expires — or if the user has never messaged your business — you must use a pre-approved template to initiate contact.
| Situation | Message Type Allowed |
|---|---|
| User sends a message to your business number | Session window opens — any content allowed |
| Replying within 24 hours of user's last message | Any content allowed (session is active) |
| More than 24 hours since user's last message | Pre-approved template messages only |
| User has never messaged your business | Pre-approved template messages only |
Practical Implications
Design your integration to check whether a session is active before sending. If the 24-hour window has expired and you attempt to send a non-template message, the API returns error code 131047. Your application should handle this by falling back to an appropriate template.
Webhook Configuration
Webhooks are required for receiving real-time events from WhatsApp. Without a configured webhook, your application cannot receive incoming messages, delivery notifications, or template status updates.
What WhatsApp Delivers to Your Webhook
| Event Type | Description |
|---|---|
| Delivery notifications | Status updates as messages move through states: sent, delivered, read, failed |
| Incoming messages | Messages sent by users to your business number — text, media, location, contacts, interactive replies |
| Template status updates | Notifications when a submitted template is approved or rejected by Meta |
| Read receipts | Confirmation that a user has read a message your business sent (when the user has read receipts enabled) |
Webhook Requirements
Your webhook endpoint must meet the following technical requirements:
| Requirement | Details |
|---|---|
| HTTPS only | Webhook URLs must use HTTPS. HTTP endpoints are not accepted. |
| Valid TLS certificate | The SSL/TLS certificate must be issued by a trusted Certificate Authority. Self-signed certificates are not supported. |
| Publicly accessible | The endpoint must be reachable from the internet. Localhost or private network URLs cannot receive webhook deliveries. |
| HTTP 200 response | Your endpoint must return HTTP 200 OK promptly to acknowledge receipt. Failure to do so may result in retries. |
| JSON payload support | All webhook payloads are delivered as JSON via HTTP POST. |
Configuring the Webhook URL
Configure your webhook URL in the EnableX Portal:
1. Log in to the EnableX Portal and navigate to your WhatsApp project.
2. Go to WhatsApp → Settings → Webhook.
3. Enter your HTTPS webhook URL.
4. Save the configuration.
EnableX will begin routing WhatsApp events to your configured URL. You can update the webhook URL at any time from the portal.
Setup Checklist
Use this checklist to verify all prerequisites are complete before making your first API call:
| # | Step | Status |
|---|---|---|
| 1 | EnableX account created and WhatsApp channel enabled on a project | Required |
| 2 | APP ID and APP Key obtained from the project dashboard | Required |
| 3 | Facebook Business Manager account created and verified with Meta | Required |
| 4 | WhatsApp Business Account (WABA) provisioned through EnableX | Required |
| 5 | Dedicated business phone number registered and OTP verification completed | Required |
| 6 | Business display name submitted to Meta and approved | Required |
| 7 | At least one message template created and approved by Meta | Required for business-initiated messages |
| 8 | Webhook URL configured in the EnableX Portal (HTTPS, publicly accessible) | Required |
What's Next
Once all prerequisites are complete, you are ready to send and receive WhatsApp messages through the API:
- WhatsApp API → — Full API reference for sending text, media, templates, interactive messages, and managing templates.
- WhatsApp Webhooks → — Webhook payload reference for incoming messages, delivery notifications, read receipts, and template status updates.