WhatsApp Conversations
When a customer messages your WhatsApp sender, a conversation opens a 24-hour service window during which you can reply with free-form text. Inbound messages and delivery receipts arrive on the inbound webhook.
List Conversations
/v1/whatsapp/conversationsList conversations with their window state (windowOpen), most recently active first.
Get Conversation
/v1/whatsapp/conversations/{id}Retrieve a conversation and its full message thread (inbound + outbound).
Reply
/v1/whatsapp/conversations/{id}/replySend a free-form text reply. Only valid while the 24h window is open (otherwise 422 — send a template instead).
Parameters
| Parameter | Type | Description |
|---|---|---|
bodyrequired | string | The reply text. |
Inbound Webhook
/v1/whatsapp/webhooks/inboundProvider-called endpoint for inbound messages and delivery-status receipts. HMAC-signed; no API key.
The body is HMAC-SHA256 signed with your configured webhook secret and supplied in the X-Signature: sha256=<hex> header. Three event types: a message event opens/extends the conversation window; a status event advances the matching outbound message; a template_status event applies Meta's template review (approved/rejected/disabled, resolved by WhatsApp Business Account ID + template name + language). Redelivered events are de-duplicated (idempotent).
Example Body
{
"events": [
{ "type": "message", "phoneNumberId": "pn-1", "from": "+61411111111",
"text": "Hi there", "providerMessageId": "wamid.inbound1" },
{ "type": "status", "providerMessageId": "wamid.outbound1", "status": "read" }
]
}