whatslink.top

Erros da Cloud API do WhatsApp: códigos e soluções

·7 min de leitura

Resposta rápida

A maioria dos erros da Cloud API cai em três famílias: janela de 24 horas fechada (131047), problema no template (132000, 132001, 132015) e credencial ou identificador errado (190, 33, 100). O código vem no campo error.code da resposta, e quase sempre a mensagem que o acompanha descreve o sintoma, não a causa.

A resposta da Cloud API quando algo falha é curta e pouco generosa: um número e uma frase em inglês que costuma descrever o sintoma, não a causa. Message undeliverable pode significar cinco coisas diferentes, e nenhuma delas está escrita ali.

Esta é a tradução. Os códigos estão agrupados por família, porque diagnosticar por família é mais rápido do que decorar número por número.

Onde o código aparece

Todo erro vem no corpo da resposta HTTP, dentro de error. O campo que importa é code; o error_data.details costuma trazer a informação real, e é o que a maioria dos logs joga fora.

{
  "error": {
    "message": "(#131047) Re-engagement message",
    "type": "OAuthException",
    "code": 131047,
    "error_data": {
      "messaging_product": "whatsapp",
      "details": "Message failed to send because more than 24 hours have passed since the customer last replied to this number."
    },
    "fbtrace_id": "A1bCdEfGhIjKlMnOpQr"
  }
}
Guarde o fbtrace_id. É o único identificador que o suporte da Meta aceita para investigar um caso específico.

Registre code, details e fbtrace_id juntos. Log que guarda só a mensagem em inglês transforma um diagnóstico de dois minutos numa tarde de tentativa e erro.

Família 1: a janela de 24 horas

É a causa mais comum de mensagem que não sai, e a que mais confunde quem está começando — porque o mesmo código funciona de manhã e falha à tarde.

CódigoO que significaCorreção
131047Passaram mais de 24h desde a última mensagem do clienteEnviar um template aprovado. Texto livre não sai fora da janela
131026Mensagem não entregável: número sem WhatsApp, ou que não pode receberConferir o número; não insistir, porque a falha é do destinatário
131021Remetente e destinatário são o mesmo númeroErro de teste. Use outro número para receber
Se o erro é 131047, o código está certo e a regra é que não foi entendida — o mecanismo está em janela de 24 horas.
  1. 1

    Mensagem falhou

    Comece pelo error.code

  2. 2

    131047?

    Janela fechada — envie template

  3. 3

    13200x?

    Problema no template

  4. 4

    190, 33, 100?

    Credencial ou identificador

Três perguntas resolvem a maioria dos casos. Só depois disso vale abrir a documentação.

Família 2: templates

A segunda maior fonte de falha, e a que mais aparece em produção — porque template funciona no teste e quebra quando as variáveis reais chegam.

CódigoO que significaCorreção
132000Número de parâmetros enviados ≠ número de variáveis do templateA causa nº 1: variável vazia. {{2}} com string vazia continua contando
132001Template não existe com esse nome/idiomaConferir o idioma: pt_BR e pt são templates diferentes
132005Texto final passou do limite depois de substituir as variáveisTruncar a variável antes de enviar
132007Violação de formatação: quebra de linha, tab ou espaços seguidos na variávelSanitizar a variável — trocar \n e \t por espaço
132012Formato do parâmetro não bate com o declaradoConferir tipos, especialmente data e moeda
132015Template pausado por baixa qualidadeNão é bug: muita gente bloqueou. Reescrever e reduzir frequência
132016Template desabilitadoFoi reprovado depois de aprovado. Criar nova versão
Sete códigos, uma origem: o que foi aprovado e o que está sendo enviado deixaram de bater.

O 132015 merece leitura diferente dos outros: ele não é erro técnico, é sinal de que as pessoas estão bloqueando. Tratá-lo como bug e reenviar acelera o caminho para a restrição do número. O que fazer está em qualidade do número.

Família 3: credencial e identificador

CódigoO que significaCorreção
190Token expirado ou inválidoToken temporário dura 24h. Produção exige token de usuário do sistema
33Objeto não encontradoQuase sempre phone-number-id trocado pelo ID da conta comercial
100Parâmetro inválidoLer error_data.details: o campo específico está nomeado lá
10 / 200Permissão negadaFaltou whatsapp_business_messaging no app
131008Parâmetro obrigatório ausentemessaging_product: "whatsapp" é o mais esquecido
O 33 responde por metade dos “não funciona” de quem está integrando pela primeira vez.

Família 4: conta, limite e política

CódigoO que significaCorreção
130429Taxa de envio excedida (throughput)Reduzir a velocidade e implementar repetição com espera crescente
131048Limite de qualidade atingidoA conta está restringida por qualidade baixa. Parar o envio ativo
131042Problema de cobrança na conta comercialMétodo de pagamento ausente ou recusado no Meta Business
131031Conta bloqueada por violação de políticaNão é técnico. Ver política comercial e banimento
368Bloqueio temporário por violaçãoAguardar e revisar o que gerou denúncia
133010Número não registradoFaltou concluir o registro do número na Cloud API
Esta família não se resolve no código. São erros de conta, de conteúdo ou de comportamento.

131042 é o erro mais frustrante da lista: tudo está tecnicamente correto e nada sai, porque o cartão da conta comercial venceu. Vale um alerta próprio no seu monitoramento.

Família 5: mídia

CódigoO que significaCorreção
131052Falha ao baixar a mídia recebidaBaixar assim que o webhook chegar; o link expira
131053Falha ao enviar a mídiaFormato ou tamanho fora do aceito
131051Tipo de mensagem não suportadoConferir o type enviado
Mídia não chega pelo webhook: chega um identificador, e o download é uma segunda requisição autenticada.

As faixas de envio, que produzem outra família de falhas, estão em limites de envio.

O diagnóstico, em ordem

Seis passos antes de abrir chamado

  • Ler o error.code — não a mensagem em inglês, que descreve o sintoma.
  • Ler error_data.details, que é onde mora a causa real.
  • Conferir se o cliente respondeu nas últimas 24 horas (elimina toda a família 1).
  • Testar o mesmo envio para outro número, para separar problema de conta de problema de destinatário.
  • Conferir se o token é permanente e se o phone-number-id é o do número, não o da conta.
  • Guardar o fbtrace_id — é o único identificador que o suporte da Meta investiga.

Como evitar metade destes erros

  1. 1Sanitize toda variável de template. Remova quebra de linha, tabulação e espaços seguidos, e trunque o tamanho. Resolve 132007, 132005 e boa parte do 132000.
  2. 2Nunca envie variável vazia. Se o dado não existe, use um valor padrão — string vazia continua contando como parâmetro.
  3. 3Guarde o horário da última mensagem de cada cliente. Antes de enviar, compare com agora: menos de 24h, texto livre; mais, template. Elimina o 131047 na origem.
  4. 4Use token de usuário do sistema desde o primeiro dia de produção. O temporário só serve para o primeiro teste.
  5. 5Implemente repetição com espera crescente para 130429 e 131016 — são transitórios, e insistir na mesma velocidade piora.
  6. 6Monitore 131042 e 132015 como alerta, não como log. Os dois param a operação em silêncio.

Um erro que não é erro

Vale registrar porque gera chamado toda semana: mensagem entregue e não lida não é falha. O webhook de status entrega sent, delivered e read em momentos diferentes, e read só chega se o destinatário tiver a confirmação de leitura ligada. Ausência de read não significa que a mensagem não chegou — significa que você não tem como saber.

Perguntas frequentes

O que significa o erro 131047 do WhatsApp?

Que passaram mais de 24 horas desde a última mensagem do cliente e, portanto, a janela de atendimento fechou. Fora dela só sai template aprovado — texto livre é recusado. Não é falha da integração: é a regra central da plataforma.

Por que recebo 132000 se o template está certo?

Na maioria das vezes porque alguma variável foi enviada vazia. Uma string vazia continua contando como parâmetro, então o número enviado deixa de bater com o declarado no template. Use um valor padrão quando o dado não existir.

Minha integração parou sozinha. O que aconteceu?

Se ninguém mexeu no código, os dois suspeitos são o token temporário, que expira em 24 horas, e o método de pagamento da conta comercial, que gera o erro 131042 quando é recusado. O mesmo vale para automação montada em ferramenta visual — o token é a causa número um, como está em integrar com n8n, Make e Zapier.

O que é o fbtrace_id?

Um identificador único da requisição, devolvido em toda resposta de erro. É o que o suporte da Meta usa para investigar um caso específico — sem ele, o chamado costuma não sair do genérico.

Meu template foi pausado (132015). É bug?

Não. Significa que uma parcela relevante de quem recebeu bloqueou ou denunciou. Reenviar acelera a restrição do número. O caminho é reescrever a mensagem, reduzir a frequência e segmentar melhor a base.

Como testar erros sem afetar clientes reais?

A Meta oferece um número de teste e permite cadastrar alguns destinatários de desenvolvimento, sem custo. É onde se reproduzem os erros de template e de credencial antes de qualquer envio real.

Termos deste artigo

Cloud API
Versão da API oficial do WhatsApp hospedada pela própria Meta, sem custo de hospedagem. É o caminho atual para integrar o WhatsApp a um sistema; a alternativa antiga, On-Premises, foi descontinuada.
Template de mensagem(HSM)
Mensagem escrita antes, submetida à Meta e aprovada, com espaços para variáveis. É a única forma de falar com quem não escreveu para a empresa nas últimas 24 horas. Classificado pela Meta em marketing, utilidade, autenticação ou serviço — e o preço varia conforme a categoria.
Janela de 24 horas
Período em que uma empresa pode responder livremente a um cliente pela API oficial do WhatsApp. Abre a cada mensagem que o cliente envia e dura 24 horas a partir dela. Dentro da janela, a conversa não é cobrada; fora dela, só sai template aprovado, que é cobrado.
Webhook
URL pública onde a Meta entrega os eventos do seu número: mensagem recebida, confirmação de entrega e de leitura. Não existe consulta sob demanda na API do WhatsApp — receber mensagem exige um servidor sempre no ar.
Qualidade do número
Nota que a Meta atribui a um número na API oficial, calculada principalmente a partir de bloqueios e denúncias de quem recebe. Qualidade baixa derruba o limite de envio e pode restringir o número.
Conta comercial do WhatsApp(WABA)
WhatsApp Business Account — o objeto dentro do Meta Business que agrupa os números de telefone, os templates e os limites de envio de uma empresa na API oficial. Deve ficar no Meta Business da própria empresa, não no do fornecedor.
Ver o glossário completo do WhatsApp

Resumo

  • Leia error.code e error_data.details — a mensagem em inglês descreve o sintoma, não a causa.
  • 131047 é janela fechada: fora dela só template.
  • 132000 quase sempre é variável vazia contando como parâmetro.
  • 190 e 33 são credencial e identificador — os dois erros de quem está começando.
  • 131042 e 132015 param a operação em silêncio: monitore como alerta.
  • Guarde o fbtrace_id. Sem ele, o suporte da Meta não investiga.

Referências oficiais

Publicado em 18 de setembro de 2026. O WhatsLink não é afiliado ao WhatsApp LLC nem à Meta Platforms, Inc. Recursos e valores citados podem mudar sem aviso — quando o assunto for cobrança ou política da plataforma, confira também a documentação oficial.

Leia também