Variáveis de template do WhatsApp: {{1}} vs nomeados
Como funcionam as variáveis de template do WhatsApp: {{1}} posicional vs nomeadas, onde usar, valores de exemplo, regras de rejeição da Meta e payload.
Por OmniChannels.ai Editorial Team · Revisado por BroadNet Messaging Solutions Team
Resposta curta
Uma variável de template do WhatsApp é um marcador, escrito {{1}} nos templates posicionais ou {{first_name}} nos nomeados, que você preenche a cada envio. Escolha o formato com parameter_format ao criar o template; o posicional é o padrão. Toda variável precisa de um valor de exemplo. Variáveis são permitidas no corpo, em um cabeçalho de texto (uma) e no sufixo da URL de um botão (uma), e a Meta rejeita templates que começam ou terminam com uma variável.
Nesta página
- O que são variáveis de template do WhatsApp?
- Qual é a diferença entre parâmetros posicionais e nomeados?
- Onde as variáveis são permitidas?
- Como informo os valores de exemplo?
- O que a Meta diz sobre as regras e rejeições de variáveis?
- Como envio os parâmetros na chamada de API?
- Exemplo prático: um template de pedido enviado
- Como personalizo um template a partir de um CSV?
- Como escolho entre posicional e nomeado?
- Quais são os erros mais comuns?
- Como a OmniChannels.ai ajuda
Pontos principais
- Variáveis posicionais são numeradas {{1}}, {{2}} e devem ser preenchidas em ordem; variáveis nomeadas usam nomes em minúsculas com sublinhados e podem ser preenchidas em qualquer ordem.
- O template deve incluir um valor de exemplo para cada variável na criação; a Meta usa os exemplos durante a análise.
- O cabeçalho de texto aceita uma variável, o corpo aceita várias e um botão de URL aceita uma variável anexada ao final da URL.
- As causas de rejeição documentadas pela Meta incluem variáveis malformadas ou fora de sequência, template que começa ou termina com variável, variáveis demais para o tamanho do texto e caracteres especiais como #, $ ou %.
- Personalizar a partir de um CSV significa uma linha por destinatário, com um valor limpo para cada variável.
Este guia é para desenvolvedores e profissionais de marketing que criam templates do WhatsApp com conteúdo personalizado. Ele explica os dois formatos de variável, onde elas podem ficar, o que a Meta diz sobre a análise e como enviar os valores pela API ou por uma planilha.
O que são variáveis de template do WhatsApp?
Uma variável é um marcador no texto do template que você substitui por um valor real no envio. A Meta as chama de parâmetros. O WhatsApp Manager as chama de variáveis. O texto do template e os valores de exemplo são analisados uma única vez; os valores reais são informados a cada mensagem.
Por exemplo, o corpo de um template diz Hi {{1}}! Your order number is {{2}}. Thank you. e você envia Hi Layla! Your order number is OM-4821. Thank you. a um cliente e outro par de valores ao seguinte.
A Meta não traduz o texto do template nem os valores das variáveis. Você os fornece no idioma correto para cada versão de idioma do template.
Qual é a diferença entre parâmetros posicionais e nomeados?
Você escolhe o formato ao criar o template, com o campo parameter_format. Se omitir, a Meta usa positional.
| Posicional | Nomeado | |
|---|---|---|
| Marcador | {{1}}, {{2}} |
{{first_name}}, {{order_number}} |
| Regra de nomenclatura | Numerado a partir de 1, em ordem | Letras minúsculas e sublinhados, únicos |
| Valores de envio | Devem seguir a ordem dos marcadores | Podem aparecer em qualquer ordem |
| Valores de exemplo | Array body_text |
body_text_named_params com param_name |
| Ideal para | Templates curtos com uma ou duas variáveis | Templates com várias variáveis que outras pessoas precisam manter |
Parâmetros nomeados ficam mais legíveis em uma biblioteca de templates, e uma ordem trocada não coloca silenciosamente um número de pedido onde deveria haver um nome. Templates posicionais são mais curtos de escrever e continuam sendo o padrão.
Onde as variáveis são permitidas?
A documentação de componentes da Meta lista estes lugares:
| Componente | Variáveis |
|---|---|
| Cabeçalho de texto | Um parâmetro |
| Corpo | Vários parâmetros |
| Botão de URL | Uma variável, anexada ao final da URL |
| Cabeçalho de mídia (imagem, vídeo, documento) | Nenhuma; o arquivo de exemplo é informado na criação e o arquivo real no envio |
| Rodapé, resposta rápida e botões de telefone | Não constam como compatíveis com variáveis |
Limites de tamanho documentados: cabeçalho de texto de até 60 caracteres, corpo de até 1.024, rodapé de até 60, rótulo de botão de até 25 e URL de botão de até 2.000 caracteres. Se o valor de um botão de URL contiver caracteres especiais, a Meta orienta a codificá-los com percent-encoding.
Como informo os valores de exemplo?
A regra da Meta é que, se o template usa variáveis, você deve incluir valores de exemplo ao criá-lo, um para cada parâmetro. Um cabeçalho com variável também precisa de um example.
Corpo posicional com exemplos:
{
"type": "BODY",
"text": "Hi {{1}}! Your order {{2}} ships on {{3}}.",
"example": { "body_text": [["Layla", "OM-4821", "12 November"]] }
}
Corpo nomeado com exemplos:
{
"type": "BODY",
"text": "Hi {{first_name}}! Your order {{order_number}} ships on {{ship_date}}.",
"example": {
"body_text_named_params": [
{ "param_name": "first_name", "example": "Layla" },
{ "param_name": "order_number", "example": "OM-4821" },
{ "param_name": "ship_date", "example": "12 November" }
]
}
}
Na segunda forma, o próprio template define "parameter_format": "named". Use exemplos realistas para que os analistas vejam o que a mensagem real vai dizer.
O que a Meta diz sobre as regras e rejeições de variáveis?
As diretrizes de análise de templates da Meta listam estes motivos de rejeição ligados a variáveis:
- Variáveis ausentes ou com chaves desencontradas. A forma posicional correta é
{{1}}. - Variáveis fora de sequência, por exemplo
{{1}},{{2}},{{5}},{{4}}. - O template começa ou termina com uma variável. A Meta chama isso de parâmetros pendentes (dangling).
- O template tem variáveis demais em relação ao tamanho da mensagem. A Meta não informa uma proporção, então coloque texto fixo ao redor de cada variável.
- Variáveis com caracteres especiais como
#,$ou%.
Não encontramos uma declaração oficial sobre duas variáveis coladas uma na outra, por isso não damos uma regra para esse caso. Separe-as com palavras, o que também deixa a leitura melhor.
Para as regras de categoria e outras causas de rejeição, veja categorias de template do WhatsApp e aprovação. Para textos prontos, veja exemplos de templates de mensagem do WhatsApp.
Como envio os parâmetros na chamada de API?
Você envia o nome do template, o idioma e um array components com os valores. Este é o formato para um template posicional:
{
"messaging_product": "whatsapp",
"to": "971500000000",
"type": "template",
"template": {
"name": "order_shipped",
"language": { "code": "en" },
"components": [
{ "type": "body", "parameters": [
{ "type": "text", "text": "Layla" },
{ "type": "text", "text": "OM-4821" },
{ "type": "text", "text": "12 November" }
] }
]
}
}
Em um template nomeado, cada entrada também leva parameter_name, que deve corresponder ao marcador:
{ "type": "text", "parameter_name": "order_number", "text": "OM-4821" }
Como funcionam os parâmetros de mídia no cabeçalho?
Um cabeçalho de mídia não tem variável de texto. Na criação, o cabeçalho guarda um identificador de arquivo de exemplo, obtido no fluxo de upload da Meta, e o exemplo é analisado junto com o template. No envio, você informa o arquivo, por exemplo uma imagem pelo ID de mídia:
{ "type": "header", "parameters": [ { "type": "image", "image": { "id": "1558081531584829" } } ] }
O ID acima é o exemplo da documentação da Meta, não um arquivo real.
Como isso funciona na API da OmniChannels.ai?
Nosso endpoint sendbulk recebe o template como campos de formulário, conforme a documentação da API do WhatsApp:
| Recurso do template | Campos |
|---|---|
| Variável do corpo | bodyTemplateVariables |
| Parâmetro nomeado | bodyTemplateVariables={"parameter_name":"order_id","text":"ORD-12345"} |
| Variável de texto do cabeçalho | headerTemplateVariables |
| Imagem, vídeo ou documento no cabeçalho | mediaUrl (substitui a mídia do cabeçalho) |
| Botão de URL dinâmico | buttonsTemplateVariable |
Exemplo prático: um template de pedido enviado
A "Souq Rafiq" (fictícia), uma varejista dos Emirados Árabes Unidos, quer um aviso de envio com imagem do produto e um botão de rastreamento.
- Escreva o template de modo que ele não comece nem termine com uma variável: "Hi {{1}}, your order {{2}} has shipped and should arrive on {{3}}. Tap the button to follow it."
- Adicione o cabeçalho como imagem, o rodapé como texto simples e um botão de URL
https://shop.example/track/{{1}}com um exemplo comoOM-4821. - Envie para análise com exemplos realistas para cada variável e aguarde o status de aprovação.
- Dispare com os três valores do corpo, o sufixo de rastreamento e, se quiser substituí-la, a imagem do cabeçalho.
curl -X POST https://api.broadnet.me/whatsapp/message/sendbulk \
-H "Authorization: Bearer $BROADNET_TOKEN" \
-F batchId=0 \
-F campaignName=order-shipped \
-F destinationNo=971500000000 \
-F messageType=TEMPLATE \
-F templateName=order_shipped \
-F templateLanguage=en \
-F bodyTemplateVariables=Layla \
-F buttonsTemplateVariable=OM-4821
Este trecho mostra os nomes dos campos para um único valor. Para várias variáveis de corpo por destinatário, use um upload personalizado em vez de repetir o comando. Confirme a codificação com a nossa equipe na primeira campanha.
Como personalizo um template a partir de um CSV?
Use uma linha por destinatário e uma coluna por variável e envie o arquivo em um disparo personalizado.
- Coloque o número do destinatário no formato internacional na primeira coluna. Veja formato E.164 de número de telefone.
- Adicione uma coluna por variável e confirme o layout das colunas com a nossa equipe na primeira campanha.
- Limpe os dados antes: remova espaços, corrija maiúsculas e minúsculas, use um único formato de data e elimine valores vazios, pois uma variável vazia gera uma mensagem quebrada ou um envio com falha.
- Confira a prévia de várias linhas e envie primeiro para o seu próprio número.
As etapas de limpeza de dados estão em enviar SMS em massa a partir do Excel ou CSV; elas valem igualmente para o WhatsApp.
Como escolho entre posicional e nomeado?
Decida pelo número de pessoas que vão mexer no template e pela quantidade de variáveis.
- Uma ou duas variáveis, um único responsável: o posicional serve e é o padrão.
- Três ou mais variáveis, ou várias equipes editando templates: use nomeado, para que cada marcador se explique sozinho.
- Mesmo texto em vários idiomas: mantenha os mesmos nomes ou números em todas as versões, para que uma única rotina de envio preencha todos os idiomas.
- Mantenha sempre um registro de qual coluna de origem alimenta cada variável, para que uma edição posterior do template não desloque os dados.
Antes de enviar para análise, leia em voz alta a mensagem final com os valores de exemplo. Se soar artificial, os analistas e os clientes vão achar o mesmo.
Quais são os erros mais comuns?
- Começar ou terminar com uma variável, que a Meta lista como motivo de rejeição.
- Pular números ou repetir o mesmo número fora de ordem em um template posicional.
- Exemplos genéricos como "test", que não dizem nada aos analistas.
- Caracteres especiais como
#,$ou%dentro das variáveis. - Ordem errada no envio em um template posicional, o que coloca o dado certo no lugar errado.
parameter_namediferente do marcador em um template nomeado.- Usar uma variável para esconder a finalidade real da mensagem. Um template cuja categoria não corresponde ao conteúdo pode ser rejeitado ou recategorizado; veja o guia de categorias.
- Limites: este guia relata o que a documentação da Meta afirma no momento da redação. As decisões de análise cabem à Meta e as regras mudam, então confira as páginas linkadas.
Como a OmniChannels.ai ajuda
A BroadNet é uma Meta Business Solution Provider oficial. Na OmniChannels.ai você pode criar templates do WhatsApp com variáveis, mídia e botões, visualizá-los e acompanhar o status de aprovação, e depois enviá-los com valores personalizados pela API ou por um upload de Excel ou CSV em uma campanha. Filtro de duplicados e relatórios de entrega estão incluídos. Veja a página da API do WhatsApp Business e a plataforma de campanhas.
Perguntas frequentes
Qual é a diferença entre parâmetros posicionais e nomeados?
Templates posicionais usam marcadores numerados, como {{1}}, e exigem que os valores de envio sigam a mesma ordem. Templates nomeados usam nomes em minúsculas com sublinhados, como {{order_number}}, e os valores podem aparecer em qualquer ordem no payload de envio. Se você não definir parameter_format ao criar o template, a Meta usa o posicional.
Onde posso usar variáveis em um template do WhatsApp?
A documentação da Meta lista o corpo, que aceita vários parâmetros, o cabeçalho de texto, que aceita um parâmetro, e o botão de URL, que aceita uma variável anexada ao final da URL. Cabeçalhos de mídia levam um arquivo em vez de uma variável. Rodapés, botões de resposta rápida e botões de telefone não constam como compatíveis com variáveis.
Por que meu template foi rejeitado por causa das variáveis?
As diretrizes de análise da Meta listam várias causas ligadas a variáveis: chaves ausentes ou desencontradas, variáveis fora de sequência, mensagem que começa ou termina com variável, variáveis demais em relação ao tamanho da mensagem e caracteres especiais como #, $ ou %. Corrija o texto, adicione exemplos realistas e envie de novo.
Preciso de valores de exemplo?
Sim. A Meta diz que, se um template usa variáveis, você deve incluir valores de exemplo ao criá-lo, um para cada parâmetro. Use valores realistas, não marcadores como test, para que os analistas vejam como a mensagem final vai ficar. Os exemplos servem só para a análise; os valores reais são informados no envio.
Uma variável pode conter quebra de linha ou link?
Este guia cobre apenas o que verificamos na documentação da Meta, e as páginas consultadas não trazem regra sobre quebras de linha dentro dos valores das variáveis. Teste com um envio real para o seu próprio número e fale com a nossa equipe se pretende passar valores longos ou formatados. O valor de um botão de URL é anexado ao final da URL do botão.
Como personalizo um template a partir de uma planilha?
Mantenha uma linha por destinatário e uma coluna para cada variável, com valores limpos: nomes sem espaços sobrando, datas em um único formato, números no formato internacional. Envie o arquivo ao disparar uma campanha personalizada e confira a prévia. Confirme com a nossa equipe o layout exato das colunas antes da primeira campanha.
Fontes
Continue lendo
Mais guiasWhatsApp
Melhor provedor de API do WhatsApp Business na África (2026)
Como escolher o melhor provedor de API do WhatsApp Business na África: mercados de preço da Meta, NDPA, POPIA, consentimento no Quênia, templates e fallback por SMS.
10 min de leitura
WhatsApp
Melhor provedor de API do WhatsApp Business no Brasil
Como escolher o melhor provedor de API do WhatsApp Business no Brasil e em São Paulo: app ou API, checklist neutro, LGPD e ANPD, templates pt_BR e fallback por SMS.
9 min de leitura
Integração
Formato E.164 de telefone: como converter e validar números
Formato E.164 de telefone: regras, como converter números locais com tabela de exemplos, exigências das APIs de WhatsApp e SMS, regex e libphonenumber.
9 min de leitura
