Skip to main content
The Connexease Gateway exposes a single endpoint for all outbound WhatsApp messages. You send one HTTP request — the Gateway authenticates you, checks your rate limits and balance, and forwards the payload to Meta on your behalf. The response contains a wamid that you can use to track delivery status via webhooks. This page covers every supported message type with full parameter references and runnable examples.

Endpoint

string
required
API key in Bearer sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx format.
string
required
Always application/json.

Query Parameters

boolean
default:"false"
When true, routes the request through the Meta Marketing Messages Lite endpoint. Use for high-volume broadcast campaigns.
boolean
default:"false"
Sandbox mode. When true, auth, rate limiting, and billing checks run normally; the Meta API call is skipped and a fake wamid is returned. Ideal for development and load testing.

Request Body

string
required
Always "whatsapp".
string
required
Recipient phone number including country code, without +, spaces, or dashes. E.g. 905321234567, 14155552671.
string
required
Message type. Values: text, image, audio, document, template, interactive.

Message Types

string
required
Message text. Maximum 4096 characters.
boolean
default:"false"
Show a link preview if the message contains a URL.
Publicly accessible image URL. Maximum 5 MB. Supported formats: JPG, PNG.
string
Caption text displayed below the image.
Publicly accessible audio file URL. Maximum 16 MB. Supported formats: MP3, AAC, AMR, OGG (Opus codec).
Publicly accessible file URL. Maximum 100 MB.
string
Caption text displayed above the document.
string
File name shown to the recipient (e.g. invoice_march_2025.pdf).
Templates must be pre-approved in Meta Business Manager. They are required for initiating new conversations or contacting users outside the 24-hour service window.
string
required
The approved template name in Meta Business Manager.
string
required
The language code the template was approved for. E.g. en_US, tr, de. Must exactly match the value in Meta.
array
Array of components that fill in template variables. Not required if the template has no variables ({{1}}, {{2}}).
Each component:Each parameter:Simple template (no variables):
Template with body variables:
Template with header image + body variables + CTA button:
OTP / Authentication template:
Presents up to 3 tappable buttons. When a user taps a button, an interactive.button_reply webhook event is sent to your endpoint.
string
required
For buttons: "button"
string
required
Message body text.
array
required
Maximum 3 buttons. Each button: type: "reply", reply.id (unique ID, max 256 chars), reply.title (max 20 chars).
Displays a scrollable, sectioned list of options. When a user selects an option, an interactive.list_reply webhook event is sent.
string
required
For lists: "list"
string
required
Description text shown above the list.
string
required
Label for the button that opens the list. Maximum 20 characters.
array
required
Array of sections. Each section has a title and rows (options). Row id max 200 chars, title max 24 chars.
For high-volume promotional campaigns, add ?mmlite=true. The request body structure is identical to regular template messages.

Response

Success (HTTP 200)

Response Fields:
boolean
true = message accepted. Does not mean the message was delivered.
string
Always "whatsapp".
string
The phone number you sent in the request.
string
The WhatsApp-normalized phone number. Usually the same as input.
string
The unique wamid for this message. Store this to correlate with incoming delivery status webhooks.

Error Response

See Error Codes for the full list.

Key Notes

HTTP 200 ≠ Delivered. The response confirms the message was accepted, not that it reached the recipient. Listen to message_status webhook events for actual delivery confirmation.
Store data.messages[0].id in your database. You’ll need this wamid to match it against incoming message_status and read webhooks.
24-hour window: Non-template messages (text, image, etc.) can only be sent within 24 hours of the last message from the user. Outside this window, you must use type: "template".
Template variables: The number and type of items in components[].parameters must exactly match the approved template in Meta Business Manager. Extra or missing parameters will result in a GW_001 error.