¿Evento de aprovisionamiento de eventos o evento desde un sistema externo?

En la mayoría de los casos, entiendo la distinción entre un comando y un evento en un sistema CQRS + ES. Sin embargo, hay una situación que no puedo entender.

Supongamos que estoy creando un sistema de seguimiento de finanzas personales, donde un usuario puede ingresar débitos / créditos. Claramente, estos son comandos, y una vez que se validan, el modelo de dominio se actualiza y se publica un evento. Sin embargo, suponga que la información de crédito / débito también proviene directamente de sistemas externos, por ejemplo. el florista del usuario envía un mensaje de que ha cargado la tarjeta de crédito del usuario por su entrega recurrente del Día de la Madre. En este caso, el mensaje parece ser un evento (el cargo ya ocurrió), pero es posible que el mensaje tenga un formato incorrecto y sea rechazado. Entonces, ¿es realmente un comando? Pero entonces debe haber una forma de enviar un ACK / NACK, que no es el caso aquí (el florista solo envía el mensaje una vez que sabe que el débito ha tenido lugar).

EDITAR: Solo para aclarar, no estoy hablando de que el sistema externo sepa nada sobre mis eventos y / o comandos. Tengo un componente que recibe datos del sistema externo y luego tiene que publicar un evento o enviar un comando. La pregunta es, ¿qué evento o comando debe usar mi componente?

Respuestas a la pregunta(2)

Su respuesta a la pregunta