Text messages
To send text messages, specify text
in the type
field. A text message can be a maximum of 4096 characters long. It's recommended to keep the message length under 1600 characters for optimal rendering on most devices.
How to send a text message
POST
https://waba-v2.360dialog.io/messages
To send a message, use the request URL and the following body parameters.
Request example
{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "PHONE_NUMBER",
"type": "text",
"text": {
"body": "Hello, dear customer!"
}
}
Request Body
recipient_type
string
individual
to
string
wa_id
of the contact you want to message
type
string
text
text
object
contains body field
messaging_product
string
context
object
Required if replying to any message in the conversation.
An object containing the ID of a previous message you are replying to. For example:
{"message_id":"MESSAGE_ID"}
A successful response includes a messages
object with an ID for the newly created message.
{
"messaging_product": "whatsapp",
"contacts": [
{
"input": "16505076520",
"wa_id": "16505076520"
}
],
"messages": [
{
"id": "wamid.HBgLMTY1MDUwNzY1MjAVAgARGBI5QTNDQTVCM0Q0Q0Q2RTY3RTcA"
}
]
}
Formatting in Text Messages
WhatsApp allows some formatting in messages. To format all or part of a message, use these formatting symbols:
Bold
Asterisk (*)
Your total is *$10.50*.
Italics
Underscore (_)
Welcome to _WhatsApp_!
Strike-through
Tilde (~)
This is ~better~ best!
Code
Three backticks (```)
```print 'Hello World';```
How to send URLs in Text Messages
By default, the mobile WhatsApp application recognizes URLs and makes them clickable. To include a URL preview, include "preview_url": true
and make sure the URL begins with http://
or https://
. A hostname is required; IP addresses are not matched.
When sending a preview URL with Cloud API hosting, the preview-url
should be inside the text object.
Example:
"text": {// the text object
"preview_url": true,
"body": You have to check out this amazing messaging service https://www.whatsapp.com/"
}
The majority of the time when you send a URL, whether with a preview or not, the receiver of the message will see a URL that they can click on.
URL previews are only rendered after one of the following has happened:
The business has sent a message template to the user.
The user initiates a conversation with a "click to chat" link.
The user adds the business phone number to their address book and initiates a conversation.
If the end user did not initiate the conversation with you - you must use a Template message instead.
Replies
You can send any message as a reply to a previous message in a conversation by including the previous message's ID in the context
object. The recipient will receive the new message along with a contextual bubble that displays the previous message's content.

Recipients will not see a contextual bubble if:
replying with a template message (
"type":"template"
)replying with an image, video, PTT, or audio, and the recipient is on KaiOS
Sample request:
POST https://waba-v2.360dialog.io/messages
{
"messaging_product": "whatsapp",
"context": {
"message_id": "MESSAGE_ID"
},
"to": "<phone number> or <wa_id>",
"type": "text",
"text": {
"preview_url": False,
"body": "your-text-message-content"
}
}
A successful response includes an object with an identifier prefixed with wamid
. Use the ID listed after wamid
to track your message status.
Sample response:
{
"messaging_product": "whatsapp",
"contacts": [{
"input": "PHONE_NUMBER",
"wa_id": "WHATSAPP_ID",
}]
"messages": [{
"id": "wamid.ID",
}]
}
Last updated
Was this helpful?