Skip to main content
Esta página é a referência definitiva para todas as regras estruturais que o Switchbord verifica antes de enviar um template à Meta. Cada seção está associada ao código de erro que o validador do lado do cliente emite (veja BORD-335), para que você possa ir direto do aviso vermelho no editor até a correção. Todas as regras são aplicadas tanto pelo linter do lado do cliente do Switchbord quanto pelo validador de envio da Meta. O revisor humano da Meta adiciona uma segunda camada de verificações de conteúdo além dessas (veja Templates de marketing).

name-regex

Os nomes de templates são usados como identificadores estáveis em toda a Meta, nos webhooks e no nosso banco de dados. A Meta exige apenas caracteres minúsculos para que os nomes sejam seguros para URLs e fáceis de comparar (diff) entre diferentes BSPs. Regra: ^[a-z][a-z0-9_]{0,511}$ — apenas letras minúsculas, dígitos e underscores. Sem espaços, hífens, letras maiúsculas, pontos ou caracteres acentuados. Deve ser único por WABA e por idioma. FAÇA
NÃO FAÇA
Documentação da Meta: Diretrizes de templates — nomenclatura.

leading-variable

A Meta rejeita textos de corpo que começam com um placeholder porque isso é exibido de forma estranha no celular e não dá ao modelo nenhuma âncora para a classificação de categoria. Um corpo que começa com um nome ou saudação parece uma mensagem; um que começa com {{1}} parece um vazamento de template. FAÇA
NÃO FAÇA
Documentação da Meta: Diretrizes de templates de mensagem.

trailing-variable

O espelho da regra leading-variable. Um corpo que termina em {{N}} — mesmo com um ponto final depois — é rejeitado. Adicione pelo menos uma palavra fixa após o último placeholder, idealmente uma frase completa de contexto. FAÇA
NÃO FAÇA
Documentação da Meta: Diretrizes de templates de mensagem.

adjacent-variables

Dois placeholders com apenas espaço em branco ou pontuação entre eles são rejeitados. A Meta não consegue renderizar a fronteira de forma limpa nem classificar a intenção quando o corpo é efetivamente uma lista de parâmetros. Coloque pelo menos uma palavra real entre cada par. FAÇA
NÃO FAÇA
Documentação da Meta: Diretrizes de templates de mensagem.

missing-example

Todo {{n}} em um HEADER, BODY ou botão de URL dinâmico deve ter um exemplo realista correspondente. A Meta usa os exemplos para renderizar a pré-visualização mostrada aos revisores e para classificar a categoria do template. Um template com placeholders e sem exemplos é rejeitado no momento do envio. FAÇA
NÃO FAÇA
Documentação da Meta: Criar e enviar um template.

example-count-mismatch

O tamanho do array de exemplos deve ser igual ao número de placeholders distintos. Três tokens {{n}} exigem exatamente três strings de exemplo — nem duas, nem quatro. Essa verificação é executada por componente (corpo, texto do cabeçalho, botão de URL). FAÇA
NÃO FAÇA
Documentação da Meta: Parâmetros de template.

numeric-only-example

Os valores de exemplo devem ser realistas — ou seja, devem conter caracteres alfabéticos ou um token alfanumérico claramente significativo (valor monetário com símbolo, uma data, um código de pedido). Um número isolado, um único símbolo ou uma string parecida com código sem contexto é rejeitado porque não representa como um destinatário real verá a mensagem. FAÇA
NÃO FAÇA
Incorpore a unidade ao exemplo — escreva "20%", e não "20" com o % ao lado no corpo. Isso elimina a heurística de “número isolado” e é renderizado da mesma forma. Documentação da Meta: Valores de exemplo.

sequential-numbering

Os placeholders devem começar em {{1}} e seguir sequencialmente, sem lacunas e sem duplicatas. {{1}}, {{2}}, {{3}} é válido; {{1}}, {{3}} não é; {{2}}, {{3}} não é (deve começar em 1). O validador extrai os índices únicos, os ordena e verifica se a lista resultante é igual a [1..N]. FAÇA
NÃO FAÇA
Documentação da Meta: Parâmetros de template.

params-words-ratio

Um template no qual os placeholders dominam o texto fixo se assemelha a um despejo de dados brutos e é sinalizado durante a revisão de conteúdo. O linter do Switchbord alerta quando a proporção de variáveis em relação ao total de palavras excede aproximadamente 1 em 4 — um template com três tokens {{n}} deve ter pelo menos doze palavras de texto fixo ao redor deles. FAÇA
(12 palavras fixas em torno de 3 placeholders) NÃO FAÇA
(3 placeholders, 2 tokens fixos) Documentação da Meta: Qualidade do template.

length-caps

Cada componente tem um limite rígido de caracteres. Conte a string bruta do template, incluindo os placeholders — a expansão em tempo de execução não conta para o limite. FAÇA
NÃO FAÇA
Documentação da Meta: Componentes do template.

button-limits

Os botões têm limites rígidos por tipo. Exceder qualquer um desses limites rejeita o template inteiro no momento do envio. Botões de URL dinâmicos devem ter {{1}} como única variável, aparecendo no final do caminho da URL ou do valor de consulta — nunca no hostname. FAÇA
NÃO FAÇA
Documentação da Meta: Botões de template.

component-ordering

Os componentes de um template devem aparecer na ordem HEADER → BODY → FOOTER → BUTTONS. Cada componente pode aparecer no máximo uma vez, exceto BODY, que é obrigatório exatamente uma vez. A Meta normaliza a ordem em alguns casos, mas rejeita duplicatas e tipos desconhecidos com o código 100. FAÇA
NÃO FAÇA
Documentação da Meta: Componentes do template. Os rodapés servem para texto estático e legalmente relevante — a identidade do remetente, a instrução de opt-out, um aviso legal. Eles não podem conter placeholders {{n}}. Coloque os dados dinâmicos no corpo. FAÇA
NÃO FAÇA
Documentação da Meta: Componentes do template — rodapé.

Conjunto de regex de referência rápida

Se você estiver escrevendo seu próprio validador ou criando scripts para verificações em massa, os regex canônicos são:

Veja também