Adapter that wraps a BillingEvent DTO and routes it through the event emitter framework. Cross-term events emitted by billing state-machine handlers are published via BillingHandledEvent(pending_event).emit() so they can be processed asynchronously through Celery when available.
Field
Value
Topic
billing.billing_handled
Schema ID
BritecoreBillingEvent.v1
Version
1.0.0
Payload schema
Code
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://docs.britecore.com/schemas/events/billing_handled.json", "title": "BillingHandledEvent", "description": "Adapter that wraps a BillingEvent DTO and routes it through the event emitter framework. Cross-term events emitted by billing state-machine handlers are published via ``BillingHandledEvent(pending_event).emit()`` so they can be processed asynchronously through Celery when available.", "type": "object", "properties": { "event_id": { "type": "string", "format": "uuid", "description": "Unique identifier for this event instance." }, "event_date": { "type": "string", "format": "date-time", "description": "Timestamp the event was emitted (UTC)." }, "schema_id": { "type": "string", "description": "Schema identifier. Stable per event type.", "const": "BritecoreBillingEvent.v1" }, "version": { "type": "string", "description": "Schema version.", "const": "1.0.0" }, "topic": { "type": "string", "description": "Topic the event was published on." }, "triggering_user": { "type": "object", "description": "User that triggered the event.", "properties": { "id": { "type": "string" }, "external_system_reference": { "type": "string" } } }, "data": { "type": "object", "properties": {} } }, "required": [ "event_id", "event_date", "schema_id", "version", "topic", "data" ]}
The schema is also published as a standalone JSON Schema artefact you can
fetch and consume programmatically. See schemas/events/billing_handled.json
on the published portal.