Skip to main content
The POST /project/{project_id}/messages endpoint is your single entry point for sending every type of WhatsApp message — plain text, rich media, interactive product cards, and more. Choose the right type value and supply the matching payload object, and Convo routes the message to the recipient over WhatsApp Business API.

Endpoint

Required fields

Phone numbers must include the country code with no + sign. For example, use 917089379345 for the Indian number +91 70893 79345.
WhatsApp’s 24-hour session window means you can only send non-template (session) messages to users who have messaged you within the last 24 hours. Sending a session message outside that window will fail. Use an approved template message to re-engage contacts.

Message Types

Send a plain text message using type: "text" and a text.body string.

Interactive Messages

Interactive messages let you embed product cards directly in the chat, turning a conversation into a mini storefront. There are two interactive sub-types for catalogue commerce:

Single product example

See the Commerce Catalogues guide for full details on setting up your catalogue and sending multi-product messages.

Success Response

A successful request returns HTTP 200 with a JSON body that includes the WhatsApp message ID (wamid). Store this ID if you want to correlate delivery status webhooks back to the original send.

WhatsApp Flows

WhatsApp Flows let you send rich, multi-screen interactive forms inside a chat — ideal for lead capture, appointment booking, surveys, and onboarding sequences. You send a Flow using type: "interactive" with interactive.type: "flow". Flows have two modes:

Published flow example

To use draft mode for testing, set "flow_action": "navigate" and add "mode": "draft" inside the parameters object.