Rate Limit da API Não Oficial do WhatsApp

Para proteger a estabilidade da conexão e evitar bloqueios pelo WhatsApp, a plataforma aplica um controle automático de velocidade de envio nas conexões de API Não Oficial. Esse mecanismo é chamado de rate limit e define quantas mensagens podem ser disparadas por canal em um determinado intervalo de tempo.

Quando o limite é atingido, a plataforma não descarta a mensagem: ela é retida e reenviada automaticamente assim que o canal estiver liberado.


Qual é o limite de envio?

O limite varia conforme o tipo de mensagem enviada, já que mídias (imagem, vídeo, áudio e documento) exigem mais recursos de processamento do que mensagens de texto.

Tipo de mensagemCapacidade aproximada
Somente texto~10 mensagens a cada 10 seg
Somente mídia (imagem etc.)~3 mensagens a cada 10 seg
Mix (texto + mídia)Depende da proporção

Exemplo prático: enviar 7 textos e 1 imagem já equivale ao limite máximo de um intervalo. A partir daí, o próximo envio aguarda o ciclo reiniciar.

O limite é por canal: cada número de WhatsApp conectado à plataforma tem sua própria contagem independente. Operações com múltiplos canais não interferem umas nas outras.


O que acontece quando o limite é atingido?

Ao atingir o limite, o canal recebe um bloqueio temporário. A plataforma detecta isso automaticamente e inicia um ciclo de retentativas progressivas, aumentando o intervalo de espera a cada nova tentativa para não sobrecarregar o canal.

TentativasIntervalo de espera aproximado
1ª e 2ª5 segundos
3ª a 5ª17 a 25 segundos
6ª a 10ª~1 a 2 minutos
11ª a 20ª~4 a 7 minutos
21ª em diante~10 minutos ou mais

Esse processo ocorre de forma totalmente automática e invisível para o atendente. A mensagem permanece na fila interna até ser entregue com sucesso.


O que é o erro H522?

Se após 1 hora de retentativas a mensagem ainda não conseguiu ser enviada, a plataforma considera que o canal não tem capacidade de entregar aquela mensagem e encerra o processo.

Nesse caso:

  • A mensagem é marcada com status de Falha
  • O erro H522 é registrado com a descrição: "A quantidade de disparos excedeu a capacidade do canal"
  • O atendente ou administrador pode visualizar esse detalhe no histórico da conversa

Atenção

O erro H522 não é recuperável automaticamente. Caso ele ocorra com frequência, é recomendável revisar o volume de disparos ou distribuir o envio entre mais canais.


Como evitar atingir o limite?

  • Espace os disparos em campanhas: ao configurar envios em massa, utilize intervalos entre as mensagens para não saturar o canal.
  • Prefira texto quando possível: mensagens de texto consomem menos capacidade do que mídias.
  • Use múltiplos canais: distribua os envios entre diferentes números de WhatsApp para aumentar a capacidade total.
  • Monitore o status do canal: acompanhe o Status de Integridade do Canal para identificar instabilidades antes que afetem os envios.

Detalhes Técnicos

Esta seção descreve como o mecanismo de rate limit funciona internamente.

Configuração do Rate Limit

ParâmetroValor
Limite de pontos10 pontos por janela
Tamanho de cada janela10 segundos
Janelas analisadas3 (30 segundos no total)
Retry após bloqueio5 segundos

Peso por tipo de mensagem

TipoPeso
Texto1 ponto
Imagem3 pontos
Áudio3 pontos
Vídeo3 pontos
Documento3 pontos

Como o limite é calculado

O sistema utiliza uma janela deslizante com média:

  1. A cada envio, o sistema analisa os últimos 30 segundos divididos em 3 janelas de 10 segundos
  2. Calcula a média de pontos consumidos nessas 3 janelas
  3. Se a média for ≥ 10 pontos, a mensagem é bloqueada
  4. Se a média for inferior, o envio é registrado e o contador incrementa com o peso do tipo daquela mensagem

Há também uma detecção rápida: se a janela atual já acumulou 10 pontos ou mais, o bloqueio ocorre imediatamente, sem calcular a média.

Backoff progressivo das retentativas

O intervalo de espera entre cada tentativa cresce progressivamente conforme a fórmula abaixo:

TentativasMultiplicadorDelay aproximado
1ª e 2ª5 segundos (padrão)
3ª a 5ª5 + (4 × nº da tentativa) segundos
6ª a 10ª10×5 + (10 × nº da tentativa) segundos
11ª a 20ª20×5 + (20 × nº da tentativa) segundos
21ª em diante30×5 + (30 × nº da tentativa) segundos

Após 1 hora sem sucesso, o sistema encerra as tentativas e registra o erro H522 com status FAILED na mensagem.