Comando de Sourcing de Eventos ou evento do sistema externo?

Na maioria dos casos, eu entendo a distinção entre um comando e um evento em um sistema CQRS + ES. No entanto, há uma situação que não consigo entender.

Suponha que eu esteja construindo um sistema de rastreamento de finanças pessoais, onde um usuário pode inserir débitos / créditos. Claramente, esses são comandos e, uma vez validados, o modelo de domínio é atualizado e um evento é publicado. No entanto, suponha que as informações de crédito / débito também provenham diretamente de sistemas externos, por exemplo, o florista do usuário envia uma mensagem de que ele cobrava o cartão de crédito do usuário pela entrega recorrente do Dia das Mães. Nesse caso, a mensagem parece que é um evento (a cobrança já ocorreu), mas é possível que a mensagem esteja malformada e seja rejeitada. Então é realmente um comando? Mas então precisa haver uma maneira de enviar um ACK / NACK, o que não é o caso aqui (o florista só envia a mensagem quando sabe que o débito ocorreu).

EDIT: Só para esclarecer, não estou falando sobre o sistema externo sabendo alguma coisa sobre meus eventos e / ou comandos. Eu tenho um componente que recebe dados do sistema externo e, em seguida, tem que publicar um evento ou enviar um comando. A questão é, qual evento ou comando meu componente deve usar?

questionAnswers(2)

yourAnswerToTheQuestion