Atualizado em 25/10/2026
Um template do WhatsApp é reprovado quando a Meta encontra problema de formato (variáveis mal escritas, fora de sequência, demais para o tamanho do texto ou nas pontas da mensagem), conteúdo que viola as políticas (pedido de dados sensíveis, ameaça, golpe, produto proibido), categoria errada ou texto duplicado. Para corrigir, leia o motivo no WhatsApp Manager ou no webhook message_template_status_update, edite o template e reenvie, ou abra um recurso com valores de exemplo. A Meta informa a decisão em até 24 horas.
Abaixo estão os motivos oficiais, como identificar cada um e o que mudar no texto. Se você ainda está montando seus primeiros templates, comece pelo guia de templates da API do WhatsApp.
Como a revisão funciona
Todo template novo, e todo template editado, passa por revisão antes de poder ser enviado. Segundo a documentação de revisão de templates, a análise combina sistemas automáticos e revisão manual e leva até 24 horas. O resultado aparece:
- no WhatsApp Manager, com notificação;
- por e-mail aos administradores do portfólio;
- no Business Support Home, com o detalhe da reprovação;
- no webhook
message_template_status_update, para quem acompanha por API.
Enquanto a revisão não termina, o template fica PENDING e não pode ser usado.
Os motivos de reprovação mais comuns
A Meta lista os motivos abaixo como os mais frequentes. A coluna da direita mostra a correção.
| Motivo | Exemplo do problema | Como corrigir |
|---|---|---|
| Chaves faltando ou trocadas | {{1}, {1}}, {{ 1 }} | Use exatamente {{1}} |
| Caracteres especiais na variável | {{#1}}, {{$valor}}, {{1%}} | Deixe o símbolo fora da variável: R$ {{1}} |
| Variáveis fora de sequência | {{1}}, {{2}}, {{5}}, {{4}} | Numere em ordem: {{1}}, {{2}}, {{3}} |
| Variáveis demais para o tamanho do texto | “Oi {{1}}, {{2}} {{3}} {{4}}.” | Aumente o texto fixo ou reduza as variáveis |
| Mensagem começa ou termina com variável | “{{1}}, seu pedido saiu.” ou “…código {{1}}” | Coloque texto antes e depois |
| Pedido de dados sensíveis | “Envie o número completo do seu cartão” | Peça só os últimos dígitos, nunca documento ou conta completa |
| Conteúdo abusivo ou ameaçador | “Pague hoje ou vamos expor seu nome” | Remova ameaças de processo ou exposição pública |
| Violação da Política de Comércio | Venda de itens proibidos | Confira a política antes de criar |
| Spam ou aparência de golpe | Promessas exageradas, links suspeitos | Texto claro, marca identificada, domínio próprio |
| Limite de caracteres | Corpo muito longo, emojis em excesso | Respeite os limites do componente |
| Duplicidade | Mesmo corpo e rodapé de um template existente | Mude o texto ou reaproveite o template que já existe |
A regra de duplicidade não se aplica a templates de autenticação, que usam texto pré-definido pela Meta.
Variáveis: os erros que mais reprovam
A maioria das reprovações de formato vem das variáveis. Compare:
| Reprovável | Aprovável |
|---|---|
| “{{1}}, seu boleto vence amanhã.” | “Olá, {{1}}. Seu boleto vence amanhã.” |
| “Seu código de rastreio é {{1}}” | “Seu código de rastreio é {{1}}. Acompanhe pelo site da transportadora.” |
| “Valor: {{R$1}}” | “Valor: R$ {{1}}.” |
| “Oi {{1}}! {{2}} {{3}}.” | “Oi, {{1}}. Seu pedido {{2}} foi entregue em {{3}}. Qualquer problema, responda esta mensagem.” |
| “{{1}}{{2}}” | “Pedido {{1}}, entrega prevista para {{2}}. Obrigado pela compra.” |
Variáveis coladas ({{1}}{{2}}) também são reprovadas: a própria Meta usa esse caso como exemplo de INVALID_FORMAT.
Todo parâmetro precisa de um valor de exemplo. No WhatsApp Manager, isso é feito pelo botão Adicionar exemplo; na API, pelo campo example de cada componente. Sem exemplo, o revisor não consegue avaliar a mensagem real. Use exemplos realistas: “Marina” e “48213” dizem mais do que “teste” e “123”.
Como ler o motivo no webhook
Quem acompanha por API recebe o resultado no campo message_template_status_update. Uma reprovação por formato chega assim:
{
"field": "message_template_status_update",
"value": {
"event": "REJECTED",
"message_template_id": 1689556908129835,
"message_template_name": "lembrete_boleto",
"message_template_language": "pt_BR",
"reason": "INVALID_FORMAT",
"message_template_category": "UTILITY",
"rejection_info": {
"reason": "Your template has parameters placed next to each other (like {{1}}{{2}}) without text or punctuation between them.",
"recommendation": "Separate parameters with descriptive text and ensure each parameter is clearly contextualized."
}
}
}
O objeto rejection_info, com explicação e recomendação, só vem quando o motivo é INVALID_FORMAT. Os valores possíveis de reason, segundo a referência do webhook:
reason | Significado | Ação |
|---|---|---|
INVALID_FORMAT | Formato inválido | Ler rejection_info e corrigir variáveis, limites ou estrutura |
INCORRECT_CATEGORY | Conteúdo não combina com a categoria escolhida | Trocar a categoria ou reescrever (veja categorias de template) |
TAG_CONTENT_MISMATCH | Conteúdo não combina com a categoria escolhida | Mesma ação de INCORRECT_CATEGORY |
PROMOTIONAL | Conteúdo viola as políticas | Revisar o texto à luz das políticas |
ABUSIVE_CONTENT | Conteúdo viola as políticas | Remover ameaças, linguagem agressiva ou enganosa |
SCAM | Conteúdo viola as políticas | Remover promessas e elementos com cara de golpe |
CATEGORY_NOT_AVAILABLE | Descontinuado | Não deve aparecer em templates novos |
Um tratador simples, que registra o motivo e avisa o time:
export function tratarStatusTemplate(value, db, alertar) {
db.atualizarTemplate(value.message_template_id, {
status: value.event,
categoria: value.message_template_category,
motivo: value.reason,
});
if (value.event === 'REJECTED') {
const detalhe = value.rejection_info?.recommendation ?? 'ver Business Support Home';
alertar(`Template ${value.message_template_name} reprovado (${value.reason}): ${detalhe}`);
}
}
Fique atento também a outros eventos do mesmo webhook: PAUSED e DISABLED (qualidade baixa), FLAGGED (feedback negativo, risco de desativação), IN_APPEAL (recurso em andamento) e LIMIT_EXCEEDED (a conta atingiu o limite de templates).
Corrigir e reenviar ou recorrer
Você tem dois caminhos quando o template é reprovado.
Editar e reenviar
Se o problema está no texto, edite e reenvie. Pela documentação de gerenciamento, só templates APPROVED, REJECTED ou PAUSED podem ser editados, e cada edição substitui todos os componentes de uma vez. Para templates reprovados, a categoria também pode ser alterada na edição.
Na Cloud API direta, a edição é um POST no ID do template:
curl -X POST "https://graph.facebook.com/v26.0/ID_DO_TEMPLATE" \
-H "Authorization: Bearer TOKEN_DA_META" \
-H "Content-Type: application/json" \
-d '{
"components": [
{
"type": "BODY",
"text": "Olá, {{1}}. O boleto do pedido {{2}} vence em {{3}}. A segunda via está disponível no botão abaixo.",
"example": { "body_text": [["Marina", "48213", "30/10/2026"]] }
}
]
}'
Outra opção é criar um template novo com outro nome. Se você excluir um template aprovado, o mesmo nome fica bloqueado por 30 dias.
Abrir um recurso
Se você acha que a reprovação foi um erro, recorra. Qualquer template reprovado pode ser contestado, e o recurso precisa incluir exemplos. No WhatsApp Manager:
- Passe o mouse no ícone de maleta (Ferramentas da conta) e clique em Modelos de mensagem. Se houver várias contas, escolha a certa no seletor do canto superior direito.
- Clique no template reprovado.
- Ajuste o conteúdo, se necessário.
- Clique em Adicionar exemplo e preencha valores de exemplo e imagens.
- Clique em Enviar.
A Meta responde em até 24 horas. Durante o recurso, o webhook pode trazer o evento IN_APPEAL.
Reprovações de categoria seguem outro caminho: a revisão é pedida no Business Support Home, em até 60 dias. Templates que a Meta identifica como autenticação disfarçada não podem ser revisados; nesse caso, crie um template de autenticação (veja código de verificação pelo WhatsApp).
Erros de envio que parecem reprovação
Alguns erros só aparecem na hora de enviar, com o template já aprovado. Eles costumam ser confundidos com reprovação:
| Código | O que significa | Ação |
|---|---|---|
132000 | Número de parâmetros diferente do template | Conferir quantos parâmetros cada componente espera |
132001 | Template não existe no idioma informado ou não está aprovado | Conferir nome, código de idioma e status |
132007 | Conteúdo do template viola uma política do WhatsApp | Revisar o texto com base nos motivos de reprovação |
132015 | Template pausado por qualidade baixa | Esperar a pausa terminar ou editar |
132016 | Template desativado após pausas repetidas | Criar um template novo com outro conteúdo |
A lista completa, com causas e soluções, está em erros da API do WhatsApp.
Checklist para não ser reprovado
- Variáveis no formato
{{1}}, em sequência, sem símbolos dentro e sem duas coladas. - Texto fixo antes da primeira e depois da última variável.
- Valor de exemplo realista para cada variável e imagem de exemplo no cabeçalho de mídia.
- Nenhum pedido de cartão, conta ou documento completo.
- Nenhuma ameaça, cobrança agressiva ou promessa exagerada.
- Categoria coerente com o conteúdo: aviso é utilidade, oferta é marketing.
- Texto diferente dos templates que já existem na conta.
Como fazer com a Vectalk
Na Vectalk, os templates são criados e editados com os mesmos corpos da Cloud API, usando um token de instância (o WABA é resolvido pelo token). Para corrigir um template reprovado, envie os novos componentes para POST /api/templates/{templateId}; a edição vale para templates APPROVED ou REJECTED. Para conferir o status, use GET /api/templates?name=lembrete_boleto. O webhook message_template_status_update chega no formato da Meta para as URLs que você registrou.
curl -X POST https://apis.vectalk.com.br/api/templates/ID_DO_TEMPLATE \
-H "Authorization: Bearer SEU_TOKEN_DE_INSTANCIA" \
-H "Content-Type: application/json" \
-d '{ "components": [ { "type": "BODY", "text": "Olá, {{1}}. O boleto do pedido {{2}} vence em {{3}}. A segunda via está disponível no botão abaixo.", "example": { "body_text": [["Marina", "48213", "30/10/2026"]] } } ] }'
Veja os endpoints em docs.vectalk.com.br e crie sua conta em apps.vectalk.com.br/register. Para entender o contexto geral, leia o guia da API oficial do WhatsApp.
Perguntas frequentes
Quanto tempo a Meta leva para revisar um template?
Até 24 horas, tanto na revisão inicial quanto no recurso. Muitos templates são aprovados antes, mas planeje lançamentos contando com o prazo máximo.
Posso usar um template reprovado enquanto recorro?
Não. Só templates com status APPROVED podem ser enviados. Se o envio é urgente, crie em paralelo uma versão corrigida com outro nome.
Meu template foi aprovado, mas como marketing. Isso é reprovação?
Não. Desde abril de 2025, templates enviados como utilidade que a Meta considera marketing são aprovados como marketing. A correção é pedir revisão de categoria ou reescrever o texto. Veja categorias de template.
Por que um template idêntico foi aprovado em outra conta e reprovado na minha?
A Meta avisa que os exemplos dela são ilustrativos e que textos parecidos podem ter resultados diferentes conforme o conteúdo exato e os valores de exemplo. A regra de duplicidade também pesa: se já existe um template com o mesmo corpo e rodapé, o novo é reprovado. Ajuste o texto e use exemplos realistas.
Quantas vezes posso editar um template?
Templates aprovados podem ser editados até 10 vezes em 30 dias, ou 1 vez em 24 horas. A documentação não informa limite para templates reprovados.
Fontes oficiais consultadas em 25/10/2026: Revisão de templates, Webhook message_template_status_update, Gerenciamento de templates, Categorização de templates, Códigos de erro, Política de Mensagens do WhatsApp Business.
