Créditos e Limites
GETTING STARTED - MENU
Componentes Status Page
WhatsApp Interactive API
Documentação técnica de mensagens do tipo Interactive

Mensagens Interactive

Para o envio de mensagens Interactive, vamos seguir o padrão dos outros tipos de mensagens que podem ser vistas aqui.

Message

Campo
Obrigatório
Detalhes
Tipo
interactive
Sim
Campo usado para enviar mensagens do tipo interactive
Interactive Message

Interactive Message

Campo
Obrigatório
Detalhes
Tipo
messageInteractiveType
Sim
Tipo da mensagem Interactive. Opções disponíveis: LIST e REPLY_BUTTON
String
header
Não
Conteúdo do Header
Header
body
Sim
Texto principal
Body
footer
Não
Conteúdo do footer
Footer
listAction
Quando o messageInteractiveType for LIST
Contém os parametros de uma mensagem de lista
ListAction
replyButtonAction
Quando o messageInteractiveType forREPLY_BUTTON
Contém os parametros de uma mensagem de reply buttons
ReplyButtonAction
alternativeText
Não
O texto que sera enviado caso o celular do usuário não suporte mensagens do tipo interactive
String
Caso a mensagem contenha header, exatamente um dos campos abaixo precisa ser preenchido.
Se a mensagem for do tipo LIST apenas o campo text é aceito.
Campo
Detalhes
Tipo
text
Texto do Header. Máximo 60 caracteres. Permite uso de emojis e markdown.
String
document
Objeto complexo do tipo Document.
Document
video
Objeto complexo do tipo Video.
Video
image
Objeto complexo do tipo Image.
Image
location
Objeto complexo do tipo Location.
Location
Image
Campo
Obrigatório
Detalhes
Tipo
type
Sim
Tipo/extensão da imagem que será enviada na mensagem. Opções disponíveis: JPG, JPEG, PNG.
String
url
Sim
URL do conteúdo (imagem) que será enviado.
String
Video
Campo
Obrigatório
Detalhes
Tipo
type
Sim
Tipo/extensão do vídeo que será enviado na mensagem. Opções disponíveis: MP4.
String
url
Sim
URL do conteúdo (vídeo) que será enviado.
String
Document
Campo
Obrigatório
Detalhes
Tipo
type
Sim
Tipo/extensão do documento que será enviado na mensagem. Opções disponíveis: PDF.
String
url
Sim
URL do conteúdo (documento) que será enviado.
String
Location
Campo
Obrigatório
Detalhes
Tipo
name
Não
Nome da localização.
String
address
Não
Endereço da localização.
String
geoPoint
Sim
Coordenadas no formato: latitude,longitude
String
Campo
Obrigatório
Detalhes
Tipo
text
Sim
Não pode ser uma string vazia. É permitido emojis e markdown. Body: Máximo de 1024 caracteres. Footer: Máximo de 60 caracteres.
String

ListAction

Campo
Obrigatório
Detalhes
Tipo
button
Sim
Conteúdo que será escrito no botão.
String
sections
Sim
Lista de sections. Deve haver pelo menos uma section.
Section[]
Section
Campo
Obrigatório
Detalhes
Tipo
rows
Sim
Lista de rows. Deve haver pelo menos uma row e no máximo 10 somando todas as sections.
Row[]
Row
Campo
Obrigatório
Detalhes
Tipo
identifier
Sim
Identificador da row
String
title
Sim
Título da row
String
description
Não
Descrição da row
String

ReplyButtonAction

Campo
Obrigatório
Detalhes
Tipo
buttons
Sim
Lista com 1, 2 ou 3 Buttons
Button[]
Button
Campo
Obrigatório
Detalhes
Tipo
reply
Sim
Estrutura do botão
Reply
Reply
Campo
Obrigatório
Detalhes
Tipo
title
Sim
Texto que vai ser escrito no botão. Máximo 20 caracteres.
String
payload
Sim
Informação que será retornada no callback. Máximo 256 caracteres.
String

Exemplos de requests

LIST
1
{
2
"destinations": [
3
{
4
"correlationId": "MyCorrelationId",
5
"destination": "5519900001111"
6
}
7
],
8
"message": {
9
"interactive": {
10
"messageInteractiveType": "LIST",
11
"header": {
12
"text": "Sample text"
13
},
14
"body": {
15
"text": "Main message text"
16
},
17
"footer": {
18
"text": "Footer text"
19
},
20
"listAction": {
21
"button": "button text",
22
"sections": [
23
{
24
"rows": [
25
{
26
"identifier": "9ab8d65e-d389-4123-b97b-702e658cc9e4",
27
"title": "August 7, 11:00",
28
"description": "Saturday, August 7, 2021. 11:00AM"
29
},
30
{
31
"identifier": "2051afef-e000-47d0-99a5-7d96c17968b2",
32
"title": "August 7, 15:00",
33
"description": "Saturday, August 7, 2021. 3:00PM"
34
},
35
{
36
"identifier": "55baac93-a513-45d0-ad9e-2e2271861fc8",
37
"title": "August 9, 11:00",
38
"description": "Monday, August 9, 2021. 11:00AM"
39
},
40
{
41
"identifier": "e2703f03-689c-4d1e-b0e9-4045d6687605",
42
"title": "August 9, 15:00",
43
"description": "Monday, August 9, 2021. 4:00PM"
44
}
45
]
46
}
47
]
48
},
49
"alternativeText": "Simple message text"
50
}
51
}
52
}
Copied!
REPLY_BUTTON
1
{
2
"destinations": [
3
{
4
"correlationId": "MyCorrelationId",
5
"destination": "5519900001111"
6
}
7
],
8
"message": {
9
"interactive": {
10
"messageInteractiveType": "REPLY_BUTTON",
11
"header": {
12
"text": "Sample text",
13
"image": {
14
"type": "JPG",
15
"url": "http://...jpg"
16
},
17
"video": {
18
"type": "MP4",
19
"url": "http://...mp4"
20
},
21
"document": {
22
"type": "PDF",
23
"url": "http://...pdf"
24
},
25
"location": {
26
"geoPoint": "-22.894180,-47.047960",
27
"name": "Wavy",
28
"address": "Av. Cel. Silva Telles"
29
}
30
},
31
"body": {
32
"text": "Main message text"
33
},
34
"footer": {
35
"text": "Footer text"
36
},
37
"replyButtonAction": {
38
"buttons": [
39
{
40
"reply": {
41
"title": "Display Text 1",
42
"payload": "callback_payload_1"
43
}
44
},
45
{
46
"reply": {
47
"title": "Display Text 2",
48
"payload": "callback_payload_2"
49
}
50
}
51
],
52
},
53
"alternativeText": "Simple message text"
54
}
55
}
56
}
Copied!

Callback de mensagem interactive

Callback

Campos
Detalhes
Tipo
total
Número de callbacks nesse request
Long
data
Lista de mensagens enviadas pelo usuário
Data[]
clientInfo
Informações do cliente que está recebendo as mensagens
ClientInfo

Data

Campos
Detalhes
Tipo
id
Identificador da mensagem
String
source
Número de telefone de quem enviou a mensagem
String
origin
Número de telefone da WhatsApp Account que recebeu a mensagem
String
userProfile
Perfil do usuário que enviou a mensagem
UserProfile
correlationId
ID único enviado pelo cliente no momento do envio da mensagem para ser retornado no callback. Opcional.
String
campaignId
Campanha relacionada ao envio
String
campaignAlias
Alias da campanha relacionada ao envio
String
message
Mensagem recebida
Message
receivedDate
Data que a mensagem foi recebida Formato: yyyy-MM-dd’T'HH:mm:ssZ
String
receivedAt
Data que a mensagem foi recebida, usando o formato Unix_time
Long
extraInfo
Informação extra relacionada a mensagem. Formato: Json
String
session
Informação da sessão
Session

UserProfile

Campo
Detalhes
Tipo
name
Nome do usuário no WhatsApp
String
whatsAppId
Telefone do usuário
String

Session

Campo
Detalhes
Tipo
sessionId
Id da sessão desse usuário
String
createdAt
Timestamp da criação dessa sessão
Long

Message

Campo
Detalhes
Tipo
type
Tipo da mensagem enviada pelo usuário: TEXT - IMAGE - AUDIO - DOCUMENT - STICKER - BUTTON - ORDER
String
messageText
Texto da mensagem enviada pelo usuário. Para respostas de lista é igual ao rowTitle que o usuário clicou
String
mediaUrl
Url para baixar a mídia enviada pelo usuário
String
mimeType
Mime type do arquivo enviado pelo usuário
String
caption
Label da mídia enviada pelo usuário
String
location
Location enviada pelo usuário
Location
contacts
Lista de contatos enviados pelo usuário
Contact[]
interactive
Campos relacionados a mensagens interactive
ReceivedInteractive

ReceivedInteractive

Campo
Detalhes
Tipo
type
Tipo da mensagem interactive. Pode ser: LIST_REPLY ou BUTTON_REPLY
String
listReply
Resposta de lista (LIST)
ListReply
buttonReply
Resposta do botão (REPLY_BUTTON)
ButtonReply
ListReply
Campo
Detalhes
Tipo
rowIdentifier
Identificador da row que o usuário selecionou
String
rowTitle
Título da row que o usuário selecionou
String
ButtonReply
Campo
Detalhes
Tipo
payload
Texto definido no momento do envio
String
title
Título do botão em que o usuário clicou
String

ClientInfo

Campo
Detalhes
Tipo
customerId
customerId do cliente que está recebendo a mensagem
Long
subAccountId
subAccountId do cliente que está recebendo a mensagem
Long
userId
userId do cliente que está recebendo a mensagem
Long