Documentation
API reference, guides, and integration snippets to launch WhatsApp Business messaging in under 5 minutes.
Getting Started
MSGTODAY provides access to the official Meta WhatsApp Business Cloud API. Integrate high-speed messaging into your sign-up flows, tracking mechanisms, alerts, or customer support workflows.
Integration Workflow
- Create your account and complete verification on our console.
- Claim test credits and configure your Sandbox phone number to test incoming and outgoing message loops.
- Link your official Meta WhatsApp Business account to move into Production and acquire dedicated API keys.
Authentication
Every API call must present credentials via the Authorization header using standard Bearer Token authorization. Secure your API key like you would a password.
Authorization: Bearer msg_live_79a2bbd73c...
Send Message API
Send messages programmatically using the unified message sending endpoint. This API dynamically handles text, replies, location coordinates, contact cards, media files, and interactive templates.
Fetch Messages API
Fetch workspace message records. You can filter the history logs using specific recipient phone numbers.
Media Upload API
Acquire secure presigned upload gateway links to host your images, documents, and videos directly prior to sending media messages.
Webhooks Integration
Configure Webhooks to listen for status reports (sent, delivered, read status updates) and customer-initiated message events. Register your webhook URL inside the console settings page.
All Webhook payload structures contain an action event key along with timestamps:
{ "event": "message.status_update", "message_id": "msg_99b0c27384a2", "status": "read", "timestamp": "2026-06-29T20:25:01Z" }
Error Codes
Standard error responses return an HTTP status code alongside a JSON body error payload containing diagnostic info.
WhatsApp Flows
WhatsApp Flows allow customers to complete multi-step actions (such as booking appointments, lead capture forms, or feedback surveys) directly inside the WhatsApp chat thread without opening external browsers.
Learn About WhatsApp Flows
A WhatsApp Flow is represented as a flowchart consisting of one or more interactive screens. The entry point of a Flow must have the ID screen-welcome. You can build these Flows inside the MsgToday Flow Editor and test their transitions in real-time.
Flow screen structure:
{ "id": "screen-welcome", "title": "Appointment Details", "body": "Welcome! Please select a service below:", "components": [ { "id": "service-dropdown", "type": "dropdown", "label": "Select Service", "options": ["🦷 Dental Cleaning", "🏥 Consultation"] }, { "id": "next-btn", "type": "button", "label": "Continue", "targetScreenId": "screen-schedule" } ], "position": { "x": 80, "y": 150 } }
Integration & Production Publishing
To trigger an interactive Flow in production, send a message of type interactive referencing the template ID or use our API. When the user interacts with the Flow screens, the selections are dispatched as a webhook event of type interactive to your configured endpoints.
WhatsApp Carousel Templates
Media card carousel templates let you showcase multiple products or offers in a single scrollable marketing template message on WhatsApp. Each product appears as a horizontally scrollable card, allowing users to browse, compare, and act on offers without leaving the chat thread.
Components of a Carousel
Each carousel consists of a parent message body text and a horizontally scrollable carousel of up to 10 product media cards.
- Header (Required): An image or video asset representing the product.
- Body Text (Optional): Short descriptive text, such as a product name, price, or description.
- Buttons (Optional, up to 2 per card): Mixable card actions including URL buttons, Call buttons, and Quick Reply buttons.
Template Registration JSON Payload
Below is the standard JSON layout required when registering a carousel template via our APIs:
{ "name": "sample_carousel_template10", "language": "en", "category": "MARKETING", "components": [ { "type": "BODY", "text": "Hi *{{1}}*. Check out our recommendations:", "example": { "body_text": [["Pablo"]] } }, { "type": "CAROUSEL", "cards": [ { "components": [ { "type": "HEADER", "format": "IMAGE", "example": { "header_handle": ["4::aW1hZ2UvanBn..."] } }, { "type": "BODY", "text": "Video API: as low as {{1}} USD/min.", "example": { "body_text": [["0.00395"]] } }, { "type": "BUTTONS", "buttons": [ { "type": "URL", "text": "Docs", "url": "https://tokbox.com/developer/" }, { "type": "QUICK_REPLY", "text": "Tell me more!" } ] } ] } ] } ] }