Skip to main content
The WhatsApp API lets you send messages to, and receive messages from, a WhatsApp number connected to meetergo. Address messages by phone number, get inbound messages via webhook (or polling), and read conversation history. It is built for teams that want to run their own messaging or business AI on top of WhatsApp.
Requires the WhatsApp add-on and an API Platform subscription, and a WhatsApp Business number connected in your meetergo dashboard. Calls without the add-on return 403.

The 24-hour window (read this first)

WhatsApp only lets businesses send free-form messages within 24 hours of the contact’s last inbound message (the “customer-service window”). Outside that window you may only send pre-approved templates. The window opens (and re-opens) whenever the contact messages you. Every conversation reports windowOpen and windowExpiresAt so you can decide client-side. This is a WhatsApp platform rule — meetergo enforces it the same way via the API and the dashboard.

Send a message

One endpoint sends all three kinds; pick with type. The conversation for the number is created or reused automatically — you never manage conversation ids to send.

Text (within the window)

Template (anytime)

Media (within the window)

The response is the created message, including its id, conversationId, waMessageId, and status. The media url must be HTTPS and publicly reachable by WhatsApp.

Finding your templates

To send a template you need its exact name, language, and how many positional params it takes. List them:
Each entry returns name, language, status (only APPROVED can be sent), category, variableCount (the length of the params array), and the body text with its {{n}} placeholders.

Delivery & read receipts

After you send, the message’s status moves sentdeliveredread (or failed). Subscribe to the whatsapp_message_status webhook to track it — the payload carries the waMessageId you got back from the send call, so you can correlate without polling.

Receive messages

Subscribe a webhook to the whatsapp_message_received event. meetergo POSTs every inbound message to your URL with the conversation id, sender, text, and whether the 24h window just (re)opened. No polling, no new infrastructure beyond an HTTPS endpoint.
Reply by calling POST /v4/whatsapp/messages with the from number. Because the contact just messaged you, the window is open, so a free-form text reply is allowed.
For media messages (type of image, document, audio, …), the webhook signals arrival but does not embed the file. Fetch it, with a fresh time-limited URL, via GET /v4/whatsapp/conversations/{conversationId}/messages.

Polling (fallback)

If you can’t host a webhook, poll GET /v4/whatsapp/messages?since=<ISO timestamp>. It returns messages created after since, oldest first, defaulting to inbound only. Persist the returned nextSince and pass it back each cycle. since is millisecond-granular; for guaranteed no-skip delivery, prefer the webhook.

Read conversation history

Endpoints

Full schemas and a request playground are in the API Reference under WhatsApp V4.

Authentication

Use an API key (Authorization: Bearer ak_live:...) or a Personal Access Token. With an API key, you may target a specific sending user with the x-meetergo-api-user-id header; omit it to act as the company owner.
Allowed use. WhatsApp permits business-scoped AI (customer service, order/contract/logistics Q&A) but bans general-purpose AI assistants. Keep any AI you connect scoped to your business process. You must have opt-in to message a contact, and WhatsApp message data must not be used to train third-party AI models. These are Meta WhatsApp Business Platform rules.