Orders
Example order place — same outbox pattern as customers.
Order place is the second reference integration. Same architecture as Customers.
Flow
POST /api/v1/orders(JWT, Operator+)- Persist
orders, audit, outboxOrderCreatedPENDING - Publisher produces to
order.events(key = order id) - Consumer records
message_historywith Redis idempotency on headerid
Request
{
"customerEmail": "ada@example.com",
"productSku": "SKU-1001",
"quantity": 2,
"notes": "Ship via express"
}| Method | Path | Roles |
|---|---|---|
| POST | /api/v1/orders | Operator, Admin |
| GET | /api/v1/orders | Developer+ |
| GET | /api/v1/orders/{id} | Developer+ |
Topic order.events, DLT order.events.dlt. Headers: id, eventType, correlationId.
Try it
If this fails
Same as customers: outbox not publishing, or DLT after consume failure. See Dead letters.