Skip to main content

Send text with action buttons

Method#

/send-button-actions#

POST https://api.z-api.io/instances/YOUR_INSTANCE/token/YOUR_TOKEN/send-button-actions

Header#

KeyValue
Client-TokenACCOUNT SECURITY TOKEN

Warning

Button sending is currently available, but there are some decisive factors for operation. For more details visit the Button Status topic.

Concept#

In this method, you will be able to send text messages with action buttons. You can redirect to links, make calls, and also provide standard responses


Attributes#

Required#

AttributesTypeDescription
phonestringRecipient (or group ID in case you want to send it to a group) telephone number in the format DDI DDD NUMERS Ex: 551199999999. IMPORTANT only send numbers without formatting or a mask
messagestringText to be sent
buttonActionsbuttonActions[]Type array of buttonActions

buttonActions#

AttributesTypeDescription
typestringTypes of buttons to be sent (CALL, URL, REPLY)
phonestringNumber assigned to the button if it is of type CALL
urlstringLink assigned to the button if it is of type URL.
labelstringText for the button
Dica:

The WhatsApp has a specific link for copying texts. By using this link in the 'url' attribute, your button becomes a copy button (https://www.whatsapp.com/otp/code/?otp_type=COPY_CODE&code=otpyourcode)

Optional buttons#

AttributesTypeDescription
idstringButton identifier

Optional#

AttributesTypeDescription
delayMessagenumberIn this attribute a delay is added to the message. You can decide between a range of 1 - 15 secs (this is for how many seconds it will wait to send the next message EX: “delayMessage”:5,). The default delay is between 1 - 3 secs
titlestringIf you want to send a title
footerstringIf you want to send a footer

Observation:

Currently, when sending the three types of buttons simultaneously, WhatsApp Web generates an error, which also occurs when using Meta's own API. An alternative is to send only the CALL and URL buttons together, and always send the REPLY button separately.

Request Body#

{
"phone": "551199999999",
"message": "A message",
"title": "If you want to link a title",
"footer": "If you want to link a top footer",
"buttonActions": [
{
"id": "1",
"type": "CALL",
"phone": "554498398733",
"label": "Contact us"
},
{
"id": "2",
"type": "URL",
"url": "https://z-api.io",
"label": "Visit our website"
}
]
}
{
"phone": "551199999999",
"message": "A message",
"title": "If you want to link a title",
"footer": "If you want to link a top footer",
"buttonActions": [
{
"id": "3",
"type": "REPLY",
"label": "Speak to an agent"
}
]
}

Response#

200#

AttributesTypeDescription
zaapIdstringid on z-api
messageIdstringid on whatsapp
idstringAdded for compatibility with Zapier, it has the same value as the messageId

Example

{
"zaapId": "3999984263738042930CD6ECDE9VDWSA",
"messageId": "D241XXXX732339502B68",
"id": "D241XXXX732339502B68"
}

405#

In this case certify that you are sending the correct specification of the method. This means, verify if you sent a POST or GET as specified at the beginning of this topic.

415#

In case you receive 415 error, make sure to add the “Content-Type” of the object you are sending in the request headers, mostly “application/json”


Webhook Response#

Link for webhooks response (upon receiving)

Webhook


Code#