Causas frequentes
| Causa | Exemplo |
|---|---|
| Clique duplo | Usuário clica duas vezes em Salvar com a internet lenta |
| Reenvio do formulário | Atualizar a página após salvar envia de novo |
| Integração repetida | Webhook ou API reenviando a mesma informação |
| Operações simultâneas | Duas pessoas ou dois processos criando o mesmo registro ao mesmo tempo |
| Tarefa reexecutada | Rotina agendada ou fila que roda duas vezes |
Como corrigir
- Na tela: desabilitar o botão enquanto o envio é processado
- No fluxo: redirecionar após salvar, para que atualizar a página não reenvie
- No banco: criar regras de unicidade (por exemplo, um CPF ou número de pedido único)
- Nas integrações: guardar o identificador de cada mensagem recebida e ignorar repetições (idempotência)
- Em operações simultâneas: travas e transações no ponto crítico
Limpando os duplicados existentes
Antes de criar a regra de unicidade no banco, é preciso resolver os duplicados que já existem: decidir qual registro fica, transferir o que estiver ligado aos outros (pagamentos, itens, histórico) e só então remover. Faça backup antes.
Leia também
Se a duplicidade vem de webhooks, veja webhooks que chegam duas vezes. Se ela afeta clientes, como mensagens e cobranças em dobro, veja o guia específico.
Corrigimos duplicidades e limpamos dados no nosso serviço de manutenção de sistemas PHP e Laravel.