Penalização de filas
Para garantir a estabilidade do sistema de Webhooks e fornecer previsibilidade sobre as tentativas de entrega, o Asaas utiliza um mecanismo de penalização progressiva. Sempre que o endpoint configurado começar a retornar falhas, os novos envios passam a respeitar intervalos crescentes entre as tentativas.
Esse comportamento evita sobrecarga tanto no sistema do Asaas quanto na aplicação que está apresentando problemas, permitindo que o integrador tenha tempo para identificar e corrigir a causa das falhas.
Este mecanismo se aplica tanto aos Webhooks configurados no modo Sequencial quanto no modo Não Sequencial.
Quando ocorre a penalização?
A penalização acontece quando o endpoint do webhook retorna qualquer resposta diferente da família HTTP 2xx, por exemplo:
400 Bad Request403 Forbidden404 Not Found408 Read Timed Out500 Internal Server Error- Falhas de conexão
- Timeouts
Cada tentativa malsucedida aumenta o intervalo até a próxima tentativa.
Como funciona a penalização?
Após a primeira falha, o Asaas inicia automaticamente um ciclo progressivo de retentativas:
| Tentativa | Tempo | Ação de notificação |
|---|---|---|
| 1 | 0 | |
| 2 | 30 segundos | |
| 3 | 1 min | |
| 4 | 3,5 min | |
| 5 | 5 min | 1º E-mail de alerta |
| 6 | 15 min | |
| 7 | 25 min | |
| 8 | 1 hora | |
| 9 | 1 hora | |
| 10 | 1 hora | 2º E-mail de alerta |
| 11 | 1 hora | |
| 12 | 1 hora | |
| 13 | 2 horas | |
| 14 | 2 horas | |
| 15 | 3 horas | 3º E-mail (Fila pausada) |
Após 15 falhas consecutivas, a fila do webhook será interrompida.
O que acontece quando a fila é pausada?
Quando a fila é pausada:
- Novos eventos continuam sendo gerados normalmente.
- Os eventos permanecem armazenados em fila.
- Nenhum novo envio será realizado até que a fila seja reativada.
- Os eventos permanecem disponíveis por até 14 dias.
- Eventos com mais de 14 dias serão excluídos permanentemente.
ImportanteA interrupção ocorre por configuração de webhook. Caso existam outros webhooks cadastrados, eles continuarão funcionando normalmente.
Impacto do modo Sequencial
No modo Sequencial, a ordem de entrega é garantida.
Isso significa que, se um evento estiver penalizado, todos os eventos seguintes daquela fila permanecerão aguardando até que o evento atual seja entregue com sucesso.
Exemplo:
PAYMENT_CREATED
↓
PAYMENT_CONFIRMED
↓
PAYMENT_RECEIVED
↓
PAYMENT_REFUNDEDSe o envio do PAYMENT_CONFIRMED estiver penalizado, os eventos PAYMENT_RECEIVED e PAYMENT_REFUNDED não serão enviados até que o evento pendente seja processado.
ImportanteCaso a aplicação dependa da ordem cronológica dos eventos, recomenda-se utilizar o envio Sequencial.
Fluxo de penalização
Evento enviado
↓
Erro no endpoint
↓
Nova tentativa automática
↓
Intervalos progressivos
↓
15 falhas consecutivas
↓
Fila pausada
↓
Correção do problema
↓
Remoção da penalização
↓
Retomada dos enviosRemovendo a penalização
Após identificar e corrigir o problema na aplicação, não é necessário aguardar o fim do ciclo de retentativas.
É possível solicitar que o Asaas remova a penalização e tente reenviar imediatamente o primeiro evento da fila.
Via interface web
Acesse:
Integrações → Webhooks
Existe uma coluna ao lado da situação da configuração exibindo a quantidade de eventos penalizados.
- Acesse o webhook que apresenta eventos penalizados.
- Clique em Remover penalização.
- Confirme a ação.
Via API
Também é possível remover a penalização programaticamente utilizando o endpoint específico.
Confira a referência completa deste endpoint
AtençãoEste endpoint possui um rate limit mais restrito para desencorajar automações que removam a penalização repetidamente.
A funcionalidade foi projetada para ser utilizada somente após a correção do problema que causou as falhas.
Boas práticas
Recomendamos
- Monitorar os Logs de Webhooks regularmente.
- Processar os eventos de forma assíncrona.
- Garantir que o endpoint responda rapidamente.
- Implementar idempotência para suportar reenvios.
- Investigar erros antes de remover a penalização.
- Não automatizar a remoção contínua da penalização.
- Configurar alertas para monitorar indisponibilidades.
Próximos passos
Após entender como funciona a penalização, recomendamos a leitura dos seguintes conteúdos:
