Um formulário, dois e-mails
Um formulário que entreguei em setembro dispara dois e-mails a cada cadastro. Se um deles sair e o outro falhar, o que a próxima tentativa deveria reenviar?
O participante baixa um plano de quatro páginas em PDF e recebe uma mensagem com os próximos passos, enquanto o responsável recebe outra, com o resultado do cadastro e o mesmo arquivo. Como os conteúdos são diferentes, tratei cada envio como uma operação própria e implementei idempotência separada por destinatário na integração com o serviço de envio.
Além dos 148 testes da versão entregue, validei o fluxo com um teste sintético em que o serviço aceitou os dois e-mails e devolveu o PDF, e no dia da entrega confirmei que as mensagens tinham chegado. Nenhuma falha parcial aconteceu, por isso o carrossel trata esse cenário como exemplo hipotético.
Mesmo assim, é o cenário que ajuda a entender a decisão: se o serviço aceita a mensagem do participante e confirma falha na do responsável, reenviar tudo dispara de novo o que já tinha sido aceito, e dar o cadastro como concluído deixa o responsável sem nada. Com um controle por destinatário, a nova tentativa consegue reconhecer o envio anterior e avaliar só o que falhou, embora nesse projeto não exista fila automática fazendo isso sozinha.
No teste, também conferi separadamente duas coisas que parecem iguais, porque o aceite vem na resposta do serviço e o recebimento só aparece na caixa de entrada.
Quando um formulário de vocês produz mais de um efeito, a nova tentativa sabe qual deles já aconteceu?











