GETTING STARTED - MENU
Créditos e Limites
Componentes Status Page
TES

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

{
"destinations": [
{
"correlationId": "MyCorrelationId",
"destination": "5519900001111"
}
],
"message": {
"interactive": {
"messageInteractiveType": "LIST",
"header": {
"text": "Sample text"
},
"body": {
"text": "Main message text"
},
"footer": {
"text": "Footer text"
},
"listAction": {
"button": "button text",
"sections": [
{
"rows": [
{
"identifier": "9ab8d65e-d389-4123-b97b-702e658cc9e4",
"title": "August 7, 11:00",
"description": "Saturday, August 7, 2021. 11:00AM"
},
{
"identifier": "2051afef-e000-47d0-99a5-7d96c17968b2",
"title": "August 7, 15:00",
"description": "Saturday, August 7, 2021. 3:00PM"
},
{
"identifier": "55baac93-a513-45d0-ad9e-2e2271861fc8",
"title": "August 9, 11:00",
"description": "Monday, August 9, 2021. 11:00AM"
},
{
"identifier": "e2703f03-689c-4d1e-b0e9-4045d6687605",
"title": "August 9, 15:00",
"description": "Monday, August 9, 2021. 4:00PM"
}
]
}
]
},
"alternativeText": "Simple message text"
}
}
}

REPLY_BUTTON

{
"destinations": [
{
"correlationId": "MyCorrelationId",
"destination": "5519900001111"
}
],
"message": {
"interactive": {
"messageInteractiveType": "REPLY_BUTTON",
"header": {
"text": "Sample text",
"image": {
"type": "JPG",
"url": "http://...jpg"
},
"video": {
"type": "MP4",
"url": "http://...mp4"
},
"document": {
"type": "PDF",
"url": "http://...pdf"
},
"location": {
"geoPoint": "-22.894180,-47.047960",
"name": "Wavy",
"address": "Av. Cel. Silva Telles"
}
},
"body": {
"text": "Main message text"
},
"footer": {
"text": "Footer text"
},
"replyButtonAction": {
"buttons": [
{
"reply": {
"title": "Display Text 1",
"payload": "callback_payload_1"
}
},
{
"reply": {
"title": "Display Text 2",
"payload": "callback_payload_2"
}
}
],
},
"alternativeText": "Simple message text"
}
}
}

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