Send Transactional WhatsApp Message with Button Reply
- 07 Aug 2023
- 4 Minutes to read
Send Transactional WhatsApp Message with Button Reply
- Updated on 07 Aug 2023
- 4 Minutes to read
Article Summary
Share feedback
Thanks for sharing your feedback!
Overview
This API enables you to send targeted transactional WhatsApp messages to your users. You can send media and text content in this message type.
Your title goes here
You can send this message type if the user has sent a message to your number in the last 24 hours.
Endpoint and Headers
Headers
Header | Sample Value | Description |
---|---|---|
X-INS-AUTH-KEY | 1a2b3c4d5e6f | This key is required to authorize your request. Refer to API Authentication Tokens to generate your token. |
Content-Type | application/json | This header specifies the media type of the resource. |
Body parameters
Column | Description | Data Type | Required |
---|---|---|---|
messages | All messages are contained in the messages key. You can send multiple messages with a single request | Array | Yes |
phoneNumber | Phone number for the person you want to send a message to. | String | Yes |
message | Message object | Object | Yes |
type | Must be a “interactive” for this message type. | String | Yes |
interactive | An interactive object. The components of each interactive object generally follow a consistent pattern: header, body, footer, and action. | Object | Yes |
type (in interactive) | Must be a “button” for this message type. | String | Yes |
header | Object | No | |
type | The header type you would like to use. Supported values are:
| String | Yes |
text | Text for the header. Formatting allows emojis, but not markdown. Maximum length is 60 characters. | String | Yes if the type is text. |
image | Contains the media object for this image | String | Yes if the type is image. |
link | Required when the type is audio, document, image, sticker, or video and you are not using an uploaded media ID. The file types are image/jpeg, image/png. Max 5 MB. | String | Yes if there is no id. |
id | Required when the type is audio, document, image, sticker, or video and you are not using a link. | URL | Yes is there is no link. |
caption | Describes the specified image, document, or video media. Do not use with audio or sticker media. | String | No |
audio | Object | Yes if the type is audio. | |
link | Required when the type is audio, document, image, sticker, or video and you are not using an uploaded media ID. The file types are audio/mp4, audio/mpeg, audio/amr, audio/ogg. Max 16 MB. | URL | Yes if there is no id. |
id | Required when the type is audio, document, image, sticker, or video and you are not using a link. | URL | Yes is there is no link. |
document | Object | Yes is the type is document. | |
link | Required when type is audio, document, image, sticker, or video and you are not using an uploaded media ID. The File Types are:
Max 100 MB. | URL | Yes if there is no id. |
id | Required when the type is audio, document, image, sticker, or video and you are not using a link. | URL | Yes if there is no link. |
caption | Describes the specified image, document, or video media. Do not use with audio or sticker media. | String | No |
filename | Describes the filename for the specific document. Use only with document media. | String | No |
video | Object | Yes if the type is video. | |
link | Required when type is audio, document, image, sticker, or video and you are not using an uploaded media ID. File Types are video/mp4, video/3gp. Max 16 MB. | URL | Yes if there is no id. |
id | Required when type is audio, document, image, sticker, or video and you are not using a link. | URL | Yes if there is no link. |
caption | Describes the specified image, document, or video media. Do not use with audio or sticker media. | String | No |
body | The body object contains the following field: textstring – Required if body is present. The content of the message. Emojis and markdown are supported. Maximum length: 1024 characters | Object | Yes |
text | The content of the message. | String | Yes |
action | Object | Yes | |
buttons | You can use Min:1, Max:3 buttons. | Array | Yes |
type | Must be a “reply” for this message type. | String | Yes |
reply | Object | Yes | |
id | Id of the button. | String | Yes |
title | Title of the button | String | Yes |
Sample Example
Sample Request
curl --location 'https://whatsapp.useinsider.com/v1/send' \
--header 'Content-Type: application/json' \
--header 'x-ins-auth-key: INS.1a2b3c4d5e6f' \
--data '{
"messages": [
{
"phoneNumber": "+1**********",
"message": {
"type": "interactive",
"interactive": {
"type": "button",
"header": {
"type": "text",
"text": "HEADER_TEXT"
},
"body": {
"text": "BUTTON_TEXT"
},
"action": {
"buttons": [
{
"type": "reply",
"reply": {
"id": "UNIQUE_BUTTON_ID_1",
"title": "BUTTON_TITLE_1"
}
},
{
"type": "reply",
"reply": {
"id": "UNIQUE_BUTTON_ID_2",
"title": "BUTTON_TITLE_2"
}
}
]
}
}
}
}
]
}'
Sample Responses
One key information will be returned for each message to be sent. This key will be added to all events related to the message.
{
"keys": [
"whatsapp-*************************"
]
}
401 Unauthorized
If you use the wrong key, you will see the following error.
{
"message": "unauthorized"
}
Limitations
- All functions must be executed with a simple HTTPS POST request.
- Only new WhatsApp messages can be sent via this API. No data can be retrieved.
- The API Key should be provided as the authorization key on the request header. If the key is incorrect, the operation will not be executed and an authorization error will return in the response.
- Transactional API cannot be used for sending bulk/promotional WhatsApp messages. It is designed only to set transactional WhatsApp messages.
- The rate limit is 10 requests per second.
Was this article helpful?