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.

Note: You can also enable WhatsApp on an existing project. Navigate to the project summary, click EDIT, enable WhatsApp in the Channels section, and save your changes.

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:

MethodHow to Use
HTTP BasicBase64-encode APP_ID:APP_KEY and pass as Authorization: Basic <encoded>
Bearer TokenExchange 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.

Important: Business verification by Meta can take several business days. Start this process early — it is the most common cause of delays in WhatsApp API onboarding.

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

RequirementDetails
Dedicated numberThe number must be dedicated to your WhatsApp Business profile. It cannot be shared with another WhatsApp account.
Not on personal WhatsAppA 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 SMSDuring 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 includedThe 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.

Tip: If you are using a VoIP number or a number that cannot receive SMS, ensure it can receive automated voice calls. Let the EnableX team know in advance so the correct verification method is used.

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.

GuidelineDetails
Must reflect your businessThe 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 businessThe name should align with your legal business name or a widely recognised brand name associated with your business.
No misleading namesNames that impersonate other companies, famous individuals, or Meta itself are rejected.
No prohibited contentDisplay names must not contain adult content, profanity, or references to prohibited products.
Language restrictionsMeta 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.

Note: If your display name is rejected, Meta provides a reason. You can resubmit with a revised name. EnableX will assist you through this process.

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:

CategoryPurposeExamples
UtilityTransactional messages tied to an agreed-upon customer action or relationshipOrder confirmations, shipment updates, appointment reminders, payment receipts, account alerts
MarketingPromotional content, offers, and business announcements sent to opted-in usersSale announcements, discount codes, product launches, loyalty offers, re-engagement campaigns
AuthenticationOne-time passwords and verification codesOTPs for login, transaction verification, account recovery
Important: Meta may recategorise a template during review if they determine the content does not match the submitted category. If the recategorised template does not suit your use case, you can edit and resubmit.

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.

Note: Templates can also be created programmatically via the 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:

RuleDetails
No prohibited contentTemplates cannot promote alcohol, tobacco, adult content, gambling, weapons, or other products prohibited by Meta's Commerce Policy.
No deceptive contentTemplates must not make false claims, impersonate other brands, or use misleading language.
Variables must be filledAll placeholder variables must have example values at submission. Templates with empty or vague examples (e.g., "variable1") are typically rejected.
Relevant categoryThe 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.

SituationMessage Type Allowed
User sends a message to your business numberSession window opens — any content allowed
Replying within 24 hours of user's last messageAny content allowed (session is active)
More than 24 hours since user's last messagePre-approved template messages only
User has never messaged your businessPre-approved template messages only

Practical Implications

Tip: You can always send a template message — even during an active session window. Templates are only mandatory outside a session. Many businesses use templates for proactive notifications (order updates, appointment reminders) and session messages for live customer support conversations.

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 TypeDescription
Delivery notificationsStatus updates as messages move through states: sent, delivered, read, failed
Incoming messagesMessages sent by users to your business number — text, media, location, contacts, interactive replies
Template status updatesNotifications when a submitted template is approved or rejected by Meta
Read receiptsConfirmation 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:

RequirementDetails
HTTPS onlyWebhook URLs must use HTTPS. HTTP endpoints are not accepted.
Valid TLS certificateThe SSL/TLS certificate must be issued by a trusted Certificate Authority. Self-signed certificates are not supported.
Publicly accessibleThe endpoint must be reachable from the internet. Localhost or private network URLs cannot receive webhook deliveries.
HTTP 200 responseYour endpoint must return HTTP 200 OK promptly to acknowledge receipt. Failure to do so may result in retries.
JSON payload supportAll 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.

Important: Test your webhook endpoint before going live. Use a tool such as webhook.site or a local tunnel (e.g., ngrok) during development. Ensure your production webhook can handle the event volume expected from your user base.

Setup Checklist

Use this checklist to verify all prerequisites are complete before making your first API call:

#StepStatus
1EnableX account created and WhatsApp channel enabled on a projectRequired
2APP ID and APP Key obtained from the project dashboardRequired
3Facebook Business Manager account created and verified with MetaRequired
4WhatsApp Business Account (WABA) provisioned through EnableXRequired
5Dedicated business phone number registered and OTP verification completedRequired
6Business display name submitted to Meta and approvedRequired
7At least one message template created and approved by MetaRequired for business-initiated messages
8Webhook 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.