APEX Messaging
  • Home
  • About
  • Channels
    • SMS
    • WhatsApp
  • Contact
  • Developer Hub
    • Developer Introduction
    • Developer SMS API
    • Developer WhatsApp API
    • Developers Webhooks
    • Developer Error
  • Legal hub
    • Terms & Policies
    • Website Privacy Policy
    • DPA Messaging
    • WhatsApp Service Terms of Use
Get Started
Login

Developer Hub

  • Developer Introduction
  • SMS API
  • SMPP API
  • WhatsApp Business Guide
  • WhatsApp API
  • CRM Integrations
  • Error Codes (ALL)
  • Contact

WhatsApp Business API

The APEX Messaging WhatsApp API allows you to send and receive WhatsApp messages, including OTPs, template-based promotions and notifications, using a secure HTTP interface.

The API is built on top of the official WhatsApp Business Platform and supports both immediate and scheduled messaging, delivery reports, and template management.

Please note that there are requirements of registration and verification requirements before being able to execute messaging on the WhatsApp Business API. For more information about the prerequisites, please visit the WhatsApp Business Platform Access page of the Developer Hub.

Base API URL

All WhatsApp API requests are made to:

https://papi.apex-messaging.com/whatsapp

Authentication

All requests require a valid API key.

The API key is passed using the ApiToken parameter in each request.

API keys are created and managed from the APEX Dashboard under Manage API.
IP whitelisting is required for all API keys.

WhatsApp Messaging Model

WhatsApp messages are sent using approved templates.
Templates are created, submitted, and approved before they can be used for outbound messaging.

Common use cases include:

  • OTP Authentication
  • Account notifications
  • Transactional Alerts
  • Utility messages

Sending an OTP Message

This endpoint is designed specifically for OTP delivery over WhatsApp.

Endpoint

https://papi.apex-messaging.com/whatsapp/SendOtp

Request Body (JSON)

{
  "PhoneNumber": "35699999999",
  "OtpCode": "1234",
  "ApiToken": "YOUR_API_KEY",
  "CallbackUrl": "https://yourdomain.com/whatsapp-dlr",
  "TemplateId": "3"
}

Parameters

ParameterDescriptionNotes
PhoneNumberRecipient WhatsApp number in international formateg. 44xxxxx, do not include a + symbol
OtpCodeOTP value to be sent
ApiTokenYour API authentication tokenFound in the dashboard under Manage API
CallbackUrlOptional URL for delivery status updates
TemplateIdApproved WhatsApp OTP template IDFound in: Dashboard → WhatsApp → Manage Templates

Success Response

{
  "IsSuccess": true,
  "ErrorCode": 0,
  "ErrorDescription": "Message Accepted",
  "ReturnData": 001
}

ReturnData contains the generated WhatsAppCampaignId, which can be used to fetch delivery reports.

Sending a Template Message (Non-OTP)

Template messages allow you to send approved WhatsApp templates to one or more recipients.

This endpoint supports both application/json and multipart/form-data

Use JSON when sending template messages without media or file-based recipient lists.
Use multipart/form-data when uploading template media or bulk recipient files.

Messages can be sent:

  • Immediately
  • or scheduled for a future date and time

Endpoint

https://papi.apex-messaging.com/whatsapp/SendMessage

Sending a Template Message (With Media)

multipart/form-data is an HTTP-standard request encoding that allows structured fields and binary files to be transmitted in a single request.

Use this format whenever uploading template media (images, documents) or recipient files (CSV).

Parameter NameTypeDescription
ApiTokenStringRequired. API token used for authentication.
TemplateIdStringRequired. ID of the WhatsApp template to be used.
QuickNumberStringRequired if QuickNumberFile is not provided.
CallbackUrlStringOptional. Callback URL for delivery status.
CampaignNameStringOptional. Name of the campaign.
SampleStringOptional. Sample data to populate the template.
ButtonExampleStringOptional. URL for template button (if any).
TemplateFileFileOptional. Template media file.
TemplateFileExtensionStringOptional. File extension of template file.
QuickNumberFileFileRequired if QuickNumber is not provided.
QuickNumberFileExtensionStringOptional. File extension of quick number file.
QuickNumberFileColumnStringRequired if QuickNumberFile is provided.
IsScheduledBooleanOptional. Schedule message delivery.
TimeZoneIdByteRequired if IsScheduled is true.
FinalEffectiveDateDateTimeRequired if IsScheduled is true.
FinalEffectiveTimeTimeSpanRequired if IsScheduled is true.

Request Body (multipart/form-data)


curl -X POST https://papi.apex-messaging.com/whatsapp/sendmessage \
  -H "Authorization: YOUR_API_TOKEN" \
  -F "TemplateId=template_12345" \
  -F "QuickNumber=971501234567" \
  -F "CallbackUrl=https://client.example.com/whatsapp/dlr" \
  -F "CampaignName=April Promo Campaign" \
  -F "Sample=John Doe,Order12345" \
  -F "ButtonExample=https://www.example.com/track" \
  -F "TemplateFile=@promo-image.jpg" \
  -F "TemplateFileExtension=jpg" \
  -F "IsScheduled=true" \
  -F "TimeZoneId=2" \
  -F "FinalEffectiveDate=2025-04-28" \
  -F "FinalEffectiveTime=23:12:00"

Bulk send example (using a number file)


curl -X POST https://papi.apex-messaging.com/whatsapp/sendmessage \
  -H "Authorization: YOUR_API_TOKEN" \
  -F "TemplateId=template_12345" \
  -F "QuickNumberFile=recipients.csv" \
  -F "QuickNumberFileExtension=csv" \
  -F "QuickNumberFileColumn=phonenumber" \
  -F "CampaignName=Bulk WhatsApp Campaign" \
  -F "Sample=Jane,Invoice9981" \
  -F "TemplateFile=@document.pdf" \
  -F "TemplateFileExtension=pdf"

Sending Template Message (No Media)

You can use JSON or multipart/form-data when sending template messages without media or file-based recipient lists.

{
  "ApiToken": "YOUR_TOKEN_HERE",
  "TemplateId": "873646267282931",
  "QuickNumber": "35699384535",
  "CallbackUrl": "https://webhook.site/DLRS",
  "CampaignName": "ABC",
  "Sample": "Variable 1, Variable 2",
  "ButtonExample": "https://apex-messaging.com/example",
}

Please note that this API document is a work in progress; we will be adding the responses and error codes in due course. If you require further details, please do not hesitate to contact your account manager or our general support.

You’re viewing the first release of our new website.
Further updates and enhancements will be rolling out soon. Feel free to share your feedback via the contact page.

APEX Messaging

© 2025 MCJ GROUP FZCO T/A APEX Messaging. All rights reserved.

  • LinkedIn
  • WhatsApp
  • Facebook
  • Instagram

Products

  • SMS
  • WhatsApp
  • Telegram
  • OTP

Company

  • About
  • Policy

Support

  • Contact
  • Get Started

Dashboard

  • Sign In
  • Get Started