Event Catalogue
Labs64.IO uses RabbitMQ for asynchronous event propagation. Modules publish domain events, and other modules (primarily AuditFlow) consume them.
Standard Event Envelope
All events adhere to a standard JSON envelope format:
{
"eventId": "uuid-string",
"timestamp": "ISO-8601-string",
"eventType": "domain.entity.action",
"tenantId": "string-or-null",
"sourceSystem": "string",
"payload": { ... }
}
Known Event Types
| Event Type | Producer | Description |
|---|---|---|
checkout.order.created | Checkout | Fired when a new purchase order is initiated. |
payment.transaction.succeeded | Payment Gateway | Fired when a PSP confirms a successful charge. |
payment.transaction.failed | Payment Gateway | Fired when a PSP rejects a charge. |
payment.refund.processed | Payment Gateway | Fired when a refund is completed. |
Note: For the exact schema of the payload object, refer to the producing module’s specific documentation.
Consumer expectations
Consumers should treat the event envelope as an integration contract: validate the fields they need, tolerate additive fields, and ensure processing is safe to retry. Do not use an event to reach into another service’s data store; use its documented API when the current state is required.