# Documenter — F-024 Notifications: transactional email

## Summary
Notifications module dispatches transactional emails through an EmailProvider port. event_id is the idempotency key for retries. Provider implementations live in infrastructure.

## Public API notes

| Route | Access | Result |
|---|---|---|
| POST /notifications/dispatch | admin | Records message and triggers provider.send |
| GET /notifications/messages/:eventId | admin | Returns stored message status |

## Templates
- `order_confirmation`
- `payment_failed`
- `order_shipped`

## Errors
- `NOT_FOUND` — HTTP 404 when querying unknown event_id

## Evidence
- `work/artifacts/F-024/architect.md`
- `work/artifacts/F-024/implementer.md`
- `work/artifacts/F-024/reviewer.json`
- `work/artifacts/F-024/security.json`
- `work/artifacts/F-024/qa.json`