O que é um evento
Evento é a representação de uma ocorrência reconhecida por um sistema, como a confirmação de um pagamento ou a conclusão de um upload. Ele descreve algo que aconteceu e pode fornecer informações para que outras partes da aplicação reajam à mudança.
Em uma integração, você pode receber um evento de pagamento confirmado e usar essa informação para liberar uma matrícula. A confirmação pertence ao sistema de pagamentos, enquanto a liberação da matrícula é uma ação posterior da automação que recebeu o aviso.
A ocorrência, a mensagem e a reação
A mensagem transporta a descrição do evento até outro componente. Ela pode chegar por webhook ou por uma fila, e a reação depende do que o sistema de destino foi programado para fazer com aquele tipo de ocorrência.
Essas partes podem ter resultados diferentes. O pagamento pode estar confirmado na origem enquanto a mensagem ainda está em uma tentativa de entrega, ou a mensagem pode ter chegado e a liberação da matrícula ter falhado depois.
Como identificar o que aconteceu
Uma mensagem de evento costuma informar o tipo da ocorrência, sua origem e o objeto relacionado. Alguns contratos também incluem um identificador do evento e o horário da ocorrência, permitindo distinguir duas mudanças do mesmo pagamento.
O código do pagamento identifica o objeto, enquanto o identificador do evento pode distinguir sua confirmação de um reembolso posterior. Usar apenas o código do pagamento para descartar repetições poderia eliminar o reembolso como se fosse uma segunda entrega da confirmação.
A especificação CloudEvents padroniza atributos para descrever eventos, mas nem toda integração adota esse formato. Você precisa consultar o contrato da origem para saber quais campos identificam a ocorrência e qual combinação deve ser usada na deduplicação.
Um aviso do passado pode chegar depois de uma mudança nova
O horário de recebimento pode ser diferente do horário da ocorrência. Uma tentativa de entrega atrasada pode chegar quando o objeto já passou por outra mudança, e o conteúdo do evento pode retratar o estado anterior.
Também pode haver mais de uma entrega da mesma ocorrência, dependendo do serviço e de sua política de repetição. A documentação da Stripe, por exemplo, orienta a tratar eventos duplicados e não depender da ordem de entrega dos webhooks.
No exemplo da matrícula, receber uma confirmação antiga depois de um reembolso exige verificar qual comportamento o processo prevê. Consultar o estado atual na origem pode ser apropriado para sincronizar o acesso, enquanto manter o histórico de ocorrências exige preservar a sequência e o significado de cada evento.
Evento e comando têm intenções diferentes
Um comando solicita uma ação, como liberar uma matrícula. Um evento informa uma ocorrência, como pagamento confirmado, e pode ser observado por mais de uma integração, cada uma com uma reação própria.
Ao investigar uma matrícula ausente, confira separadamente a ocorrência na cobrança, as tentativas de entrega e a execução no destino. A ausência no histórico da automação ainda exige verificar filtros, disponibilidade e retenção dos registros antes de concluir que a mensagem se perdeu.
Dúvidas frequentes
Perguntas frequentes sobre Evento
- Evento e mensagem são a mesma coisa?
- O evento representa uma ocorrência. A mensagem transporta a descrição dessa ocorrência e pode ser enviada novamente, sem que isso signifique que o fato aconteceu outra vez.
- Todo evento chega por webhook?
- Não. Um webhook é uma forma de comunicar eventos. Filas e serviços de eventos também podem transportá-los, e algumas integrações consultam uma lista de ocorrências na origem.
- O identificador do evento é o identificador do pagamento?
- Não necessariamente. Um pagamento pode gerar eventos distintos ao ser criado, confirmado ou reembolsado. Cada ocorrência pode ter seu próprio identificador.
- A ordem de chegada sempre acompanha a ordem das ocorrências?
- Não há essa garantia em toda integração. Você precisa conferir o contrato de entrega da origem e tratar repetições, atrasos e mudanças que possam chegar fora de ordem.
Para continuar
Recursos relacionados
Documentação
CloudEvents: especificação 1.0.2
Definições de evento e atributos para identificar sua origem e ocorrência.
Abrir recursoDocumentação
Stripe: recebimento de eventos por webhook
Exemplo de integração com eventos, entregas repetidas e ausência de garantia de ordem.
Abrir recursoAplicação na formação
n8n Experts
Eventos comunicam ocorrências que podem iniciar ou orientar a execução de automações.
Conhecer a formação
Fontes consultadas
Referências deste verbete
Este verbete ajudou você?
Obrigado pela resposta. Ela fica salva apenas neste navegador.