Códigos de erro da WhatsApp Cloud API
Esta é a lista de todos os códigos de erro da WhatsApp Cloud API que documentamos, em uma tabela só, com o que cada um significa e se repetir a chamada ajuda. A maioria não ajuda: eles são determinísticos, então a mesma requisição falha do mesmo jeito e um laço de repetição transforma uma requisição ruim em um limite de taxa.
Request
| Code | What it means | Retry |
|---|---|---|
| 100 | A parameter is unsupported, misspelled or malformed. | No |
| 131008 | A required parameter was not included at all. | No |
| 131009 | A parameter is present with a value the endpoint rejects. | No |
| 131021 | Sender and recipient are the same number. | No |
| 131051 | The message type is not supported, often a Coexistence limit. | No |
| 131052 | Meta could not download media a customer sent. | No |
| 131053 | Meta could not upload media you sent. Size, format or reach. | No |
Template
| Code | What it means | Retry |
|---|---|---|
| 132000 | The number of parameters does not match the template. | No |
| 132001 | No template exists with that name and language pair. | No |
| 132007 | The template breaks messaging policy. Rewrite and resubmit. | No |
| 132012 | Parameter format does not match what the template defines. | No |
| 132015 | The template is paused after a quality decline. Temporary. | Wait |
| 132016 | The template is permanently disabled. It will not come back. | No |
Window and recipient
Registration and PIN
| Code | What it means | Retry |
|---|---|---|
| 131045 | The number was never registered for Cloud API messaging. | No |
| 133010 | The number is not registered. Registration must be completed. | No |
| 133006 | The number must be verified before it can be registered. | No |
| 133005 | The two-step verification PIN was wrong. Stop guessing. | No |
| 133008 | Too many PIN attempts. Registration is locked for a period. | Wait |
Access and account
| Code | What it means | Retry |
|---|---|---|
| 190 | The access token expired or was invalidated. | No |
| 368 | The account is restricted after a policy violation. | No |
| 131031 | The account is restricted, or its data does not match Meta's. | No |
| 131042 | A payment problem on the business account blocks sending. | No |
| 131049 | Meta blocked the message to protect ecosystem health. | No |
Rate limits
Transient
Coexistence sync
Como ler a coluna de repetição
Ela tem três valores, e escolher errado entre eles é o erro mais caro desta referência inteira.
Não significa que a falha é determinística. A requisição, o template ou o estado do destinatário é o que falhou, e enviar a requisição idêntica de novo produz o erro idêntico enquanto consome throughput que você vai querer depois. Sim significa que a falha foi do lado da Meta e que um backoff realmente resolve. Aguarde significa que a condição é real, mas temporária: um limite ou um bloqueio que passa sozinho, em que repetir antes de ele passar não faz nada e pode prolongar.
Por que a maioria deles não é repetível
Porque a plataforma devolve códigos específicos em vez de genéricos. Um parâmetro malformado, um template que não existe, uma janela de mensagens fechada e um destinatário que saiu da lista são todos conhecíveis no momento da resposta, então a Meta nomeia eles em vez de falhar de forma vaga.
- Um problema de requisição não fica correto na segunda tentativa.
- Um problema de template vive no template, que a requisição não consegue mudar.
- Um problema de janela ou de saída da lista é sobre o estado do destinatário, não sobre o seu.
- Uma restrição de conta é uma decisão, e repetir não é um recurso.
O que registrar quando um desses chega
O suficiente para diagnosticar sem reproduzir, que é a diferença entre uma correção de cinco minutos e um dia de adivinhação.
- A resposta de erro completa, incluindo o trace id, que é o que o suporte da Meta pede.
- O corpo da requisição como foi enviado, e não como era pretendido. A distância entre os dois costuma ser o bug.
- O phone number id, para que um problema em um número seja distinguível de um problema em toda a conta.
- O carimbo de tempo, para que a falha possa ser conferida contra o estado da conexão naquele momento.
Os códigos que só existem na Coexistência
São dois, e eles confundem as pessoas porque parecem falhas comuns de envio. O 2593107 e o 2593108 dizem respeito os dois à sincronização do histórico de conversas, que é a etapa que copia as conversas recentes do app do WhatsApp Business quando um número é conectado pela primeira vez.
Eles não são erros de mensagem e não querem dizer que a conexão falhou. Uma sincronização que excede o limite dela ou que roda fora da janela dela deixa o número conectado e enviando normalmente, com menos histórico copiado do que se esperava. Ler isso como uma conexão quebrada leva as pessoas a desconectar e começar de novo, o que perde mais histórico em vez de recuperar.
Perguntas frequentes
Quais erros eu devo repetir?
O 131016 e o 131000, com backoff exponencial. O 130429, o 132015 e o 133008 passam sozinhos se você esperar. Todo o resto é determinístico.
Um código de erro quer dizer que meu número foi desconectado?
Em geral não. A maioria deles diz respeito à requisição, ao template ou ao destinatário. Problemas de conexão aparecem como webhooks de conta e de qualidade, e não como erros de envio.
O que é um trace id?
Um identificador na resposta de erro que permite ao suporte da Meta achar aquela requisição específica. Registre em toda falha; sem ele um chamado não pode ser tratado.
Esses códigos são iguais em todo provedor?
São. Eles vêm da Cloud API da Meta, então são idênticos independentemente de qual provedor conectou o número. Um provedor só consegue mudar com que clareza eles chegam até você.
Pronto para começar?
Configure o WhatsApp Coexistence em minutos, não em meses. O aplicativo continua funcionando no celular.
Começar teste grátisNada é cobrado por 7 dias. Cancele quando quiser.