Por que a Meta reprova um template de WhatsApp: os motivos oficiais, o que a API devolve em cada caso e como escrever um que passa de primeira
A documentação da WhatsApp Business Platform lista um conjunto fechado de motivos de reprovação, e quase todos são de formatação, não de conteúdo. A decisão sai em até 24 horas e o campo rejected_reason da API devolve oito valores possíveis, entre eles INVALID_FORMAT, INCORRECT_CATEGORY e ABUSIVE_CONTENT.
Por que meu template foi reprovado?
Na maior parte dos casos, por formatação, não por conteúdo. A documentação de revisão de template da WhatsApp Business Platform organiza os motivos de reprovação em quatro blocos, e o primeiro deles, o de parâmetros mal formados, é o que mais aparece: chave desbalanceada, caractere especial dentro da variável, variáveis fora de sequência e texto que começa ou termina com variável. Nenhum desses é julgamento editorial. São regras mecânicas, verificáveis antes de submeter.
Todo template de WhatsApp passa por duas revisões antes de poder ser disparado: uma automática, por aprendizado de máquina, e uma manual. A decisão leva até 24 horas e chega por três canais: notificação no WhatsApp Manager, e-mail para os administradores e o webhook message_template_status_update. Enquanto o status não for APPROVED, o template não envia.
A fonte deste texto é a documentação oficial da Meta para templates, espelhada e traduzida internamente pelo AI Hub Brasil em 21 de maio de 2026, com a página canônica de revisão reconferida ao vivo.
Quais são os motivos de reprovação, um por um
A tabela abaixo reúne o motivo declarado na documentação e a correção correspondente. Ela vale como triagem: antes de abrir recurso, confira se o seu caso não está aqui.
| Motivo de reprovação | O que corrigir |
|---|---|
| Variável com chaves erradas ou faltando | Usar chaves duplas corretas: {{1}} no formato posicional ou {{nome}} no formato nomeado. |
Variável com caractere especial dentro, como #, $ ou % | Tirar o caractere de dentro da variável. |
Variáveis fora de sequência, do tipo {{1}}, {{2}}, {{5}}, {{4}} | Renumerar em ordem a partir de 1, sem pular. |
| Variáveis demais para o tamanho do texto | Reduzir o número de variáveis ou aumentar o texto fixo do corpo. |
| Template que começa ou termina com variável | Reescrever para abrir e fechar com texto fixo. Parâmetro solto não é permitido. |
| Estouro de limite de caracteres | Cortar para caber: cabeçalho de texto 60, corpo 1024, rodapé 60, rótulo de botão 25, código de cópia 15, URL 2000, telefone 20. |
| Template duplicado | Alterar corpo e rodapé para não repetir um template existente. A checagem de duplicidade não se aplica a templates de autenticação. |
| Pedido de dado sensível | Pedir apenas parcial, como os últimos quatro dígitos. Cartão completo, conta bancária e documento de identidade completo são vetados. |
| Conteúdo abusivo ou ameaçador | Remover ameaça de ação legal, tom de cobrança hostil e qualquer promessa de expor o cliente. |
| Violação da Commerce Policy ou da Business Policy | Ajustar oferta, preços e avisos legais à política. |
| Categoria errada | Reclassificar entre marketing, utilidade e autenticação. |
| Falta de exemplo em template com variável | Preencher os valores de exemplo antes de submeter. O recurso também exige exemplo. |
O que significa cada rejected_reason da API
Quando o template é reprovado, a API de template da WhatsApp Business Platform devolve o campo rejected_reason, e o webhook de status traz o mesmo valor. São oito valores possíveis, mais null quando o template está agendado para exclusão. Ler esse campo evita o retrabalho de tentar de novo às cegas.
| Valor | O que indica, conforme a documentação |
|---|---|
INVALID_FORMAT | O template tem formato inválido. Neste caso a API anexa rejection_info, com uma explicação e uma recomendação de correção. |
INCORRECT_CATEGORY | O conteúdo não corresponde à categoria escolhida na criação. |
TAG_CONTENT_MISMATCH | Mesma situação anterior: conteúdo em desacordo com a categoria designada na criação. |
ABUSIVE_CONTENT, PROMOTIONAL e SCAM | Os três trazem a mesma descrição na documentação: o template contém conteúdo que viola as políticas da plataforma. |
NONE | Indica que o template foi pausado, não reprovado na revisão. |
CATEGORY_NOT_AVAILABLE | Valor descontinuado. Indicava template de autenticação em região não suportada. |
Vale a atenção: INVALID_FORMAT é o único que vem acompanhado de instrução de correção. Nos casos de política, a documentação não detalha qual trecho ofendeu qual regra, o que joga a responsabilidade do diagnóstico para quem escreveu a peça.
Como escrever um template que passa de primeira
O caminho mais barato é tratar a submissão como um gate mecânico. Os itens abaixo são os limites duros que a documentação de componentes de template estabelece, e todos podem ser conferidos sem enviar nada para a Meta.
- Um corpo, e apenas um. É o único componente obrigatório do template, com limite de 1024 caracteres.
- No máximo um cabeçalho por template, seja de texto, de mídia ou de localização, nunca dois. Cabeçalho de texto vai até 60 caracteres e aceita uma variável.
- No máximo um rodapé, com até 60 caracteres.
- Até dez botões no total, respeitando dois botões de URL, um de telefone e um de código de cópia.
- Nome do template só com letras minúsculas, números e sublinhado, até 512 caracteres.
confirmacao_pedido_2026passa;confirmação-pedidonão. - Idioma declarado corretamente, com o texto escrito nesse idioma. A Meta não traduz template: português do Brasil é
pt_BR. - Toda variável com valor de exemplo preenchido, e o texto abrindo e fechando com palavra fixa.
Há um detalhe de experiência que não reprova, mas estraga a peça: template com quatro botões ou mais, ou com resposta rápida combinada a outro tipo de botão, não aparece no WhatsApp para computador. E acima de três botões, só dois ficam visíveis na mensagem, com o restante escondido atrás de um botão de ver todas as opções. Quem monta menu longo perde metade do que desenhou.
Fui reprovado. Posso recorrer?
Sim. As opções são editar o template e reenviar para aprovação, ou abrir um recurso. O recurso exige que os valores de exemplo estejam preenchidos, e a decisão também sai em até 24 horas. O status pode ser consultado a qualquer momento pela API pedindo o campo status do template.
A lista de status é mais longa do que o par aprovado e reprovado sugere: a documentação registra, entre outros, APPROVED, PENDING, REJECTED, PAUSED, DISABLED, IN_APPEAL e ARCHIVED. Aprovado, o template ainda recebe uma nota de qualidade que pode pausá-lo depois, o que é um segundo portão, independente da revisão.
O que isso muda para quem opera no Brasil
Reprovação de template custa tempo de campanha. Cada ciclo de correção pode consumir 24 horas de revisão, e uma agência que submete cinco variações de uma promoção na véspera de uma data comercial pode simplesmente perder a data. Rodar a checagem mecânica antes de submeter é a diferença entre uma janela de aprovação e três.
Há ainda um limite de escala que raramente é considerado no planejamento: cada WhatsApp Business Account aceita até 100 templates criados por hora, e o teto de templates por conta é de 250 para portfólio de negócio não verificado. Com portfólio verificado e ao menos um número com nome de exibição aprovado, o teto sobe para 6.000. Quem opera muitos clientes num mesmo portfólio precisa fazer essa conta antes de prometer volume. O contexto completo de como a conta oficial funciona está no nosso guia da API oficial do WhatsApp.
Leitura crítica
A parte formal do processo é justa: os limites são públicos, numéricos e conferíveis. O problema está na parte subjetiva. Três dos oito valores de rejected_reason (ABUSIVE_CONTENT, PROMOTIONAL e SCAM) têm exatamente a mesma descrição na documentação, ou seja, dizem apenas que houve violação de política, sem apontar o trecho ofensor. Para quem recebe esse retorno, o diagnóstico vira tentativa e erro dentro de uma janela de 24 horas por tentativa.
A segunda ressalva é a duplicidade. A regra de que corpo e rodapé não podem repetir um template existente é razoável contra spam, mas atinge em cheio operações legítimas que mantêm variações quase idênticas por segmento ou por unidade. Vale desenhar a biblioteca de templates com diferenciação real de texto desde o início, e não descobrir o limite quando a campanha já está montada.
Por fim, aprovação não é permissão permanente. Um template aprovado pode ser recategorizado, pausado por qualidade ou desabilitado depois. Tratar a aprovação como fim do processo é o erro estratégico mais comum de quem começa a operar templates em escala.