Guia de tipos de mensagens WhatsApp On-Premise | WOZTELL

Tipos de mensagens do WhatsApp

Aqui está a lista dos tipos de mensagem suportados que podem ser enviados com WhatsApp On-Premise:

Texto

Mensagem de texto WhatsApp
Mensagem de texto WhatsApp
{
"type": "TEXT",
"text": "Olá Mundo!",
}
Copiar
Propriedade Descrição Obrigatório
type TEXT S
text String; Limitado a 2000 caracteres S


Imagem

Imagem WhatsApp
Imagem WhatsApp
Imagem WhatsApp
Imagem WhatsApp
{
"type": "IMAGE",
"text": "Eu sou Sanuker!",
"attachment_id": "289832336612941",
}
Copiar
Propriedade Descrição Obrigatório
type IMAGE S
text String; legenda para imagem N
attachment_id ID do mídia da imagem S (ou url)
url URL da imagem S (ou attachment_id)
Ideia
dica
  • A imagem deve ser num formato válido de arquivo de imagem: .jpeg ou .png
  • A imagem deve ser 8-bit, RGB ou RGBA
  • O tamanho máximo do arquivo é 5MB


Áudio

Mensagem de áudio WhatsApp
Mensagem de áudio WhatsApp
{
"type": "AUDIO",
"attachment_id": "668795277867495"
}
Copiar
Propriedade Descrição Obrigatório
type AUDIO S
attachment_id ID do mídia do áudio S (ou url)
url URL do áudio S (ou attachment_id)
Ideia
dica
  • O áudio deve ser um formato válido de arquivo de áudio, incluindo .aac, mp4, mpeg, amr, ogg (apenas códigos opus, base ogg não é suportado)
  • O tamanho máximo do arquivo é 16MB


Vídeo

Vídeo WhatsApp
Vídeo WhatsApp
Vídeo WhatsApp
Vídeo WhatsApp
{
"type": "VIDEO",
"attachment_id": "496729438556614",
"text": "TEXTO"
}
Copiar
Propriedade Descrição Obrigatório
type VIDEO S
text String; legenda para vídeo N
attachment_id ID do mídia do vídeo S (ou url)
url URL do vídeo S (ou attachment_id)
Ideia
dica
  • O vídeo deve ser um formato válido de arquivo de vídeo, incluindo mp4 e 3gp.
  • O tamanho máximo do arquivo é 16MB.
  • Suporta apenas o codec de vídeo H.264 e codec de áudio AAC.
  • Suporta vídeo com um único fluxo de áudio ou sem áudio


Figurinha

Figurinha WhatsApp
Figurinha WhatsApp
{
"type": "STICKER",
"attachment_id": "1030335650902052"
}
Copiar
Propriedade Descrição Obrigatório
type STICKER S
url URL da figurinha S (ou attachment_id)
attachment_id ID do mídia da figurinha S (ou url)
Ideia
dica
  • O formato da figurinha deve ser webp e 512x512 px em dimensão
  • O tamanho máximo do arquivo para figurinha estática: 100KB
  • O tamanho máximo do arquivo para figurinha animada: 500KB


Arquivo

Arquivo WhatsApp
Arquivo WhatsApp
Arquivo WhatsApp
Arquivo WhatsApp
{
"type": "FILE",
"filename": "TEXTO",
"attachment_id": "496729438556614"
}
Copiar
Propriedade Descrição Obrigatório
type FILE S
filename String; nome do arquivo para visualização N
url URL do arquivo S (ou attachment_id)
attachment_id ID do mídia do arquivo S (ou url)
Ideia
dica
  • O arquivo deve ser um formato válido, incluindo plain, pdf, vnd.ms-powerpoint, msword1, vnd.ms-excel, vnd.openxmlformats-officedocument.wordprocessingml.document, vnd.openxmlformats-officedocument.presentationml.presentation, vnd.openxmlformats-officedocument.spreadsheetml.sheet.
  • O tamanho máximo do arquivo é 100MB


Localização

Localização WhatsApp
Localização WhatsApp
{
"type": "LOCATION",
"location": {
"name": "Empresa ABC",
"address": "Sala C, 1º andar, prédio DFG, Rua Arco-íris 101",
"lat": "22.31586918460027",
"long": "114.20883121469535"
}
}
Copiar
Propriedade Descrição Obrigatório
type LOCATION S
name String; Nome da localização N
address String; Endereço da localização N
lat Latitude S
long Longitude S


Contato

{
"type": "CONTACTS",
"contacts": [
{
"id": "YXpJfusT",
"name": {
"formatted_name": "John Lee",
"first_name": "John",
"last_name": "Lee",
"prefix": "Sr"
},
"addresses": [
{
"type": "work",
"city": "Hong Kong",
"street": "Rua Arco-íris 131, Edifício ABC"
}
],
"emails": [
{
"type": "work",
"email": "workmail123@gmail.com"
}
],
"phones": [
{
"type": "main",
"phone": "+1 413-252-1446",
"wa_id": "14132521446"
}
],
"urls": [
{
"type": "work",
"url": "www.sanuker.com"
}
],
"org": {
"company": "Sanuker"
}
}
]
}
Copiar
Propriedade Descrição Obrigatório
name String; nome do contato S
address String; endereço do contato N
birthday String; data N
emails String; endereço de email N
org String; nome da empresa N
phones String; número de telefone N
urls String; URL N
Ideia
NOTA

Dentro do objeto phones, os campos phone e wa_id devem ser preenchidos para que o WhatsApp reconheça como uma conta comercial válida para contato.

Caso contrário, será exibido apenas o texto "Convidar para WhatsApp".

"phones": [
{
"type": "main",
"phone": "+1 413-252-1446",
"wa_id": "14132521446"
}
]
Copiar


Cada objeto em Contact contém um ou vários parâmetros opcionais. Você pode consultar os detalhes aqui.



Reação

Reação WhatsApp
Reação WhatsApp
{
"type": "REACTION",
"message_id": "wamid.HBgLODUyNTQwNjM1OTgVAgASGBQzRUIwOTVERkZCRDIwODg5REQwMAA=",
"emoji": "😊"
}
Copiar
Propriedade Descrição Obrigatório?
type REACTION S
message_id ID para identificar a mensagem a ser reagida S
emoji Emoji usado como reação; a entrada pode ser o próprio emoji ou em Unicode escapado, por exemplo, \uD83D\uDE0A S
Ideia
NOTA

O message ID de uma mensagem anterior pode ser obtido a partir do evento da mensagem nos logs ou usando o ApiScope.chat na Open API.

Por exemplo:

query chat {
apiViewer{
conversationHistory (first: 10, platform: "whatsapp-cloud", memberId: "999abe6524f9db0009963008") {
edges{
node{
memberId
messageEvent
}
}
}
}
}
Copiar


Mensagens interativas

Mensagens interativas permitem que os usuários respondam rapidamente fornecendo botões para clicar. Os usuários não podem selecionar mais de uma opção ao mesmo tempo em uma mensagem de lista ou botão, mas podem voltar e reabrir uma mensagem anterior.

Mensagens de lista

Mensagem de lista - 1
Mensagem de lista - 1
Mensagem de lista - 2
Mensagem de lista - 2
{ 
  "type": "WHATSAPP_LIST",
  "header": {
    "type": "text",
    "text": "Olá 👋🏻"
  },
  "body": {
    "text": "Sanuker fornece soluções de chatbot."
  },
  "footer": {
    "text": "Parceiro oficial de negócios do Facebook e WhatsApp"
  },
  "action": {
    "button": "Menu",
    "sections": [
      {
        "title": "título da seção",
        "rows": [
          {
            "payload": "GREETINGS",
            "title": "Menu principal",
            "description": "Olá!"
          },
          {
            "payload": "ABOUT_SANUKER",
            "title": "Sobre Sanuker",
            "description": "Quem é você?"
          }
        ]
      }
    ]
  }
}
Copiar
Propriedade Descrição Obrigatório?
Cabeçalho O cabeçalho da sua mensagem de lista, apenas texto é permitido para mensagem de lista N
Corpo O conteúdo do corpo da mensagem (máximo de 1024 caracteres) S
Rodapé O conteúdo do rodapé (máximo de 60 caracteres) N
Ação Dentro da ação, você deve aninhar:
- um campo de botão com o conteúdo do botão e
- pelo menos um objeto seção (máximo de 10)

Dentro da seção, você deve adicionar pelo menos um objeto de linhas
S

action Objeto

Propriedade Descrição Obrigatório?
button Conteúdo do botão. Não pode ser uma string vazia e deve ser único dentro da mensagem (máximo de 20 caracteres) S
sections Array de objetos de seção. Há um mínimo de 1 e máximo de 10 S

section Objeto

Propriedade Descrição Obrigatório?
title Título da seção S (se a mensagem tiver mais de uma seção)
rows Contém uma lista de linhas. Cada linha deve ter um título e um ID. Você pode adicionar uma descrição, mas é opcional S

Botões de resposta

Botão de resposta
Botão de resposta
{ 
  "type": "WHATSAPP_REPLY_BUTTONS",
  "header": {
    "type": "image",
    "image": {
      "id": "2e5a7aad-e8c7-43ba-ad5e-b298bb32f8af"
    }
  },
  "body": {
    "text": "Sanuker fornece soluções de chatbot."
  },
  "footer": {
    "text": "Parceiro oficial de negócios do Facebook e WhatsApp"
  },
  "action": {
    "buttons": [
      {
        "type": "reply",
        "reply": {
          "payload": "GREETINGS",
          "title": "Menu principal"
        }
      },
      {
        "type": "reply",
        "reply": {
          "payload": "ABOUT_SANUKER",
          "title": "Sobre Sanuker"
        }
      }
    ]
  }
}
Copiar
Propriedade Descrição Obrigatório
Cabeçalho O cabeçalho da sua mensagem de lista; pode ser texto ou mídia: "Imagem", "Vídeo", "Documento" N
Corpo O conteúdo do corpo da mensagem (máximo de 1024 caracteres) S
Rodapé O conteúdo do rodapé (máximo de 60 caracteres) N
Ação Você deve adicionar pelo menos um botão, incluindo tipo e título. Não pode adicionar mais de 3 botões S

action Objeto

Propriedade Descrição Obrigatório
buttons Um botão pode conter os seguintes parâmetros:
type: o único tipo suportado é reply (para mensagens de botões de resposta)
title: título do botão. Não pode ser uma string vazia e deve ser único dentro da mensagem (máximo de 20 caracteres)
S


Mensagem de produto único

{
"type": "PRODUCT",
"action": {
"type": "single",
"catalog_id": "1134377510532066",
"product_retailer_id": "03-Pack"
},
"body": {
"text": "Confira nossa bolsa do dia"
}
}
Copiar
Propriedade Descrição Obrigatório
body O conteúdo do corpo da mensagem (máximo de 1024 caracteres) N
footer O conteúdo do rodapé (máximo de 60 caracteres) N
action Deve conter
- Deve ser single para mensagem de produto único.
- catalogId: um ID do catálogo que você quer usar para esta mensagem. Recupere este ID via Commerce Manager.
- productId: um identificador único do produto (Content ID).
S

Mensagem de múltiplos produtos

Ideia
dica

Mensagem de múltiplos produtos pode conter até 30 produtos selecionados do inventário.


{ 
  "type": "PRODUCT",
  "header": {
    "type": "text",
    "text": "Coleção de outono"
  },
  "action": {
    "type": "multi",
    "catalog_id": "1134377510532066",
    "sections": [
      {
        "title": "Essenciais urbanos",
        "product_items": [
          "01-Pack",
          "02-Bag"
        ]
      },
      {
        "title": "Essenciais para trilhas",
        "product_items": [
          "03-Pack"
        ]
      }
    ]
  },
  "body": {
    "text": "Clique em ver itens para ver nossa coleção de outono"
  }
}
Copiar
Propriedade Descrição Obrigatório
cabeçalho type deve ser text. Contém um objeto texto com o conteúdo desejado S
ação Array de objetos seção. Você deve incluir pelo menos uma seção S
seções Array de objetos seção. Deve incluir pelo menos uma seção S
corpo Texto do corpo da mensagem (máximo 1024 caracteres) S


Template de mensagem WhatsApp

Template de mensagem WhatsApp
Template de mensagem WhatsApp
{ 
  "type": "TEMPLATE",
  "components": [
    {
      "parameters": [
        {
          "image": {
            "id": "57ec1287-6915-4a44-8dc9-9caa620385e1"
          },
          "type": "image"
        }
      ],
      "type": "header"
    }
  ],
  "languagePolicy": "deterministic",
  "languageCode": "pt",
  "namespace": "bc3ac5dd_6dfd_2345_d5f7_123456789bf",
  "elementName": "multiple_button_test_1",
  "accountId": "1234567890"
}
Copiar

Detalhes do template

Propriedade Descrição Obrigatório?
Nome Pode conter apenas caracteres alfanuméricos minúsculos e sublinhados (_); Não são permitidos outros caracteres ou espaços em branco S
Categoria Selecione a categoria correta do seu template; Veja a lista de categorias suportadas S
Idioma Selecione o idioma correto do seu template; O nome do template será o mesmo para todas as traduções; Você especificará o campo de idioma ao enviar o template; Veja a lista de idiomas suportados S
Conteúdo O conteúdo do seu template de mensagem; Suporta espaços reservados de parâmetro no formato {{1}} S
Cabeçalho O cabeçalho do seu template de mensagem; Pode ser texto ou mídia: "Imagem", "Vídeo", "Documento" N
Corpo O corpo do seu template de mensagem (limite de caracteres: 1024) S
Rodapé O texto do rodapé do seu template de mensagem N
Botões Os botões do seu template de mensagem; Call-to-action ou resposta rápida; máximo de 3 botões. N

Limite máximo de caracteres

Propriedade Limite de caracteres
Corpo (Sem Cabeçalho/Rodapé) Até 1024 caracteres
Corpo (Com Cabeçalho/Rodapé) Até 160 caracteres
Cabeçalho 60 caracteres
Rodapé 60 caracteres

Por favor, observe que, dentro de um Template de mensagem WhatsApp, o limite de caracteres não se aplica à variável.

Procedimento de configuração

  1. Abra "Response Builder" e escolha o tipo de resposta "Template de mensagem WhatsApp".
Criar uma resposta de template de mensagem WhatsApp
Criar uma resposta de template de mensagem WhatsApp
  1. Escolha qualquer "Template de mensagem" existente. Por favor, certifique-se de que você completou o processo de envio de template de mensagem para visualizar seus templates existentes.

  2. Defina a Política de idioma como Determinística.

  3. Escolha o Idioma do seu Template de mensagem.

  1. Veja as configurações opcionais abaixo:
  • Adicione payload se o seu Template de mensagem tiver um botão de Resposta rápida.
Adicionar botões de payload ao template de mensagem WhatsApp
Adicionar botões de payload ao template de mensagem WhatsApp
  • Adicione ID de mídia ou URL se o seu Cabeçalho possuir arquivos multimídia como imagem ou vídeo.
Adicionar mídia ao template de mensagem WhatsApp
Adicionar mídia ao template de mensagem WhatsApp


Responder a

Você pode enviar uma mensagem como resposta a uma mensagem anterior na conversa. A mensagem anterior será citada na bolha contextual e exibida junto com a mensagem de resposta.

Ao enviar qualquer mensagem para um usuário do WhatsApp, você precisa adicionar a propriedade reply_to e identificar a mensagem contextual com o Message ID.

{ 
  "type": "TEXT",
  "text": "Olá! Como vai?",
  "reply_to": "wamid.HBgLODUyNTQwNjM1OTgVAgASGBQzRUIwQjBGOTBBREU1QTgzQkRFQwA="
}
Copiar
Propriedade Descrição Obrigatório
reply_to ID da mensagem a ser respondida S
Ideia
NOTAS
  • Somente mensagens com até 30 dias podem ser citadas na bolha contextual. Caso contrário, a mensagem será enviada normalmente, sem ser como resposta.
  • Destinatários não verão a bolha contextual se a mensagem de resposta for um template de mensagem.
  • Destinatários no KaiOS não verão a bolha contextual se a mensagem de resposta for imagem, vídeo, áudio ou PTT.
  • O ID da mensagem de uma mensagem anterior pode ser obtido a partir do evento de mensagem nos logs ou usando o ApiScope.chat na Open API.

Por exemplo:

query chat {
    apiViewer{
        conversationHistory (first: 10, platform: "whatsapp-cloud", memberId: "999abe6524f9db0009963008") {
            edges{
                node{
                    memberId
                    messageEvent
                }
            }
        }
    }
}
Copiar