Mensagem de Template
O tipoTEMPLATE envia uma mensagem baseada em um template pré-aprovado do WhatsApp Business, referenciado por id. É útil para notificações transacionais e mensagens iniciadas pela empresa fora da janela de atendimento de 24 horas, cenários em que o WhatsApp só permite conteúdo aprovado.
O envio funciona como uma Mensagem de Texto: o destinatário vai em to e o template é identificado por templateId. Quando o template possui variáveis ou componentes estruturados (cabeçalho, corpo, botões, carrossel), os valores são informados em components.
Esta página trata apenas do envio de uma mensagem de template. Para criar, listar e
acompanhar a aprovação de templates, veja
Gerenciar Templates.
Payload
Campos
string
required
Deve ser
"TEMPLATE".Address
required
Endereço do destinatário. Veja formatos de endereço.
uuid
required
Id do template pré-aprovado que será enviado.
object[]
Lista de componentes do template que serão preenchidos com os valores das variáveis. Cada componente possui um
type que indica a seção do template (header, body, button ou carousel) e uma lista parameters com os valores que preenchem as variáveis daquela seção. Obrigatório apenas quando o template exigir variáveis ou componentes estruturados; omita quando o template não tiver nenhum.Além dos campos acima, a mensagem aceita os campos comuns de envio:
quotedMessage, deliveryStrategy, priority e deliveryDeadline. Veja Campos Comuns.Componentes (components)
Cada item de components é um objeto com type discriminando a seção do template. Os valores de type são em minúsculas.
header — Cabeçalho
Preenche o cabeçalho do template. Aceita um único parâmetro, compatível com o formato declarado no template: texto para HEADER TEXT, ou mídia (image, video, document) para cabeçalho de mídia.
body — Corpo
Preenche as variáveis do corpo do template. Os parâmetros vão na mesma ordem das variáveis ({"{{1}}"}', {{2}}, …) definidas no corpo do template. Quando o template usa variáveis nomeadas ({{nome}}), cada parâmetro identifica a sua em parameter_name.
button — Botão
Preenche um botão específico do template. É necessário um componente por botão, identificado pela posição em index (começando em 0, na ordem em que foram declarados no template). O campo sub_type indica o tipo do botão: quick_reply, url, copy_code ou flow.
carousel — Carrossel
Preenche os cartões de um template carrossel. Cada cartão é identificado por card_index e possui sua própria lista de components (seguindo a mesma estrutura: header, body, button).
Parâmetros (parameters)
Cada item de parameters tem um type que determina o tipo de valor enviado. Os valores de type são em minúsculas.
string
required
Tipo do parâmetro. Valores:
"text", "currency", "date_time", "image", "video", "document", "location", "payload", "coupon_code".text
Valor de texto — o caso mais comum, usado no cabeçalho TEXT e no corpo.
string
Valor de texto que preenche a variável.
string
Nome da variável, quando o template usa variáveis nomeadas (
{{nome}}) em vez de posicionais. Omita no caso posicional.currency
Valor monetário. O provedor formata o valor conforme o locale de quem recebe.
string
Texto exibido quando o locale do destinatário não é suportado.
string
Código ISO 4217 da moeda (ex.:
"BRL", "USD").integer
Valor multiplicado por 1000 — R$ 12,34 vai como
12340. Evita ponto flutuante.date_time
Data/hora. O provedor exibe o valor de fallback informado.
string
Texto de data/hora exibido ao destinatário.
image, video, document
Mídia para cabeçalho. Informe link (URL pública) ou id (id de mídia já carregada).
string
URL pública do arquivo. O provedor baixa o conteúdo deste endereço.
string
Id de mídia já carregada no provedor. Alternativa a
link.string
Nome exibido do arquivo. Usado apenas em
document.location
Localização para cabeçalho do tipo LOCATION. Latitude e longitude vão como string.
string
Latitude como string (ex.:
"-23.5505").string
Longitude como string (ex.:
"-46.6333").string
Nome do local.
string
Endereço do local.
payload
Payload do botão quick_reply — o valor é devolvido no webhook quando o cliente clica no botão.
string
Valor retornado no webhook de clique do botão.
coupon_code
Código do botão copy_code — o código que o cliente copia.
string
Código que será copiado pelo cliente ao tocar no botão.
Exemplos
Template com variáveis no corpo
Template com cabeçalho de mídia
Template com botão
Template sem variáveis
Quando o template não possui variáveis nem componentes estruturados, omita o campocomponents:
Com prioridade e estratégia de entrega
Resposta
packageId identifica o pacote aceito para envio. Acompanhe a entrega pelos webhooks de status (MESSAGE_SENT, MESSAGE_DELIVERED, MESSAGE_READ).