Erro 4 do WhatsApp: a app atingiu o limite de chamadas à API
O código de erro 4 significa que a app atingiu o limite de chamadas à API. A descrição da Meta é "The app has reached its API call rate limit." Conta as chamadas feitas pela app numa hora deslizante, não as mensagens enviadas a partir de um número. Consulte o consumo no Painel de Apps, aguarde e reduza a frequência com que a app chama a API.
Código da Meta para "The app has reached its API call rate limit."
Chamadas que uma app pode fazer numa hora, segundo os Graph API Platform Rate Limits.
O nome que o guia de tratamento de erros da Graph API dá ao código 4.
O que significa o código de erro 4 do WhatsApp?
Significa que a sua app fez demasiadas chamadas à API na janela atual e que as chamadas seguintes são recusadas até a contagem baixar.
A Meta lista o código 4 nos erros de limitação, com o texto de detalhe "The app has reached its API call rate limit." O guia de tratamento de erros da Graph API chama-lhe API Too Many Calls e descreve-o como um problema temporário de limitação.
Fica ao lado de outros dois códigos de limitação fáceis de confundir com ele. O 80007 indica que a conta do WhatsApp Business atingiu o seu limite. O 130429 refere-se ao throughput de mensagens da Cloud API. O código 4 não é nenhum deles: é o orçamento de chamadas da própria app.
Como é calculado o limite de chamadas da app?
Para pedidos feitos com um token de acesso da app, o guia de limites da Graph API da Meta dá uma fórmula: as chamadas numa hora são iguais a 200 multiplicado pelo número de utilizadores.
O número de utilizadores baseia-se nos utilizadores ativos diários únicos da app, recorrendo-se aos valores semanais e mensais quando a utilização diária desce. É um limite da app no seu todo e não por utilizador, pelo que alguns utilizadores muito ativos podem consumir a maior parte.
O guia indica ainda que o consumo aparece no Painel de Apps e, depois de feitas chamadas suficientes, num cabeçalho X-App-Usage nas respostas. Esse cabeçalho permite ver o limite a aproximar-se antes de chegar o erro 4.
O que fazer depois do erro 4?
Pare de chamar durante algum tempo e depois chame menos.
O guia de limites da Meta é direto quanto à primeira parte: quando o limite é atingido, deve parar-se de fazer chamadas à API, porque continuar aumenta a contagem e alonga o tempo até as chamadas voltarem a funcionar.
A segunda parte é de conceção. Distribua os pedidos de forma uniforme em vez de em rajadas, filtre as respostas para que uma só chamada devolva o necessário e evite chamadas que obtêm dados sobrepostos. As consultas repetidas são o culpado habitual. Uma integração que pede o estado da mesma conta de poucos em poucos segundos gasta o orçamento em respostas que já tem.
Erros comuns
- Repetir em ciclo. Cada chamada extra soma à contagem e afasta a recuperação.
- Tratá-lo como um limite de envio. O código 4 conta as chamadas da app, enquanto o throughput de mensagens é o 130429.
- Consultar endpoints de estado a intervalos curtos. Leituras repetidas de dados que não mudaram gastam o orçamento horário.
A EasyCoexistence monitoriza cada número ligado 24/7 do seu lado, pelo que verificar o estado da ligação não tem de ser montado como um ciclo de consultas repetidas contra o orçamento de chamadas da sua app.
Perguntas frequentes
O erro 4 é o mesmo que o erro 130429?
Não. O 130429 é o throughput de mensagens de um número. O erro 4 conta as chamadas à API feitas pela sua app.
Quanto tempo dura o erro 4?
Até a contagem de chamadas na janela deslizante de uma hora descer abaixo do limite. Chamar durante esse tempo prolonga-o.
Onde posso ver quão perto a minha app está do limite?
Na secção Application Rate Limit do Painel de Apps e no cabeçalho X-App-Usage devolvido nas respostas.
O erro 4 é o mesmo que o erro 80007?
Não. A Meta usa o 80007 quando a conta do WhatsApp Business atinge o seu limite, enquanto o erro 4 conta as chamadas da própria app.
Continue a ler
Pronto para começar?
Configure a Coexistência do WhatsApp em minutos, não em meses. A aplicação continua a funcionar no telemóvel.
Começar período experimental gratuitoVerificado em