order.placed.v1

Constant

import { EVENT_NAMES } from "@platform/contracts";
 
EVENT_NAMES.ORDER_PLACED_V1;

Publishers

Subscribers

Payload schema

z.object({
  order_id: z.string(),
  customer_id: z.string(),
  amount_cents: z.number().int().positive(),
  currency: z.string().default("usd"),
  items: z.array(
    z.object({
      product_id: z.string(),
      quantity: z.number().int().positive(),
      unit_price_cents: z.number().int(),
    }

Delivery semantics

  • At-least-once delivery. Consumers must dedupe by event ID.
  • Fanned out to both NATS (in-cluster) and EventBridge (durable). See Events concept.