23 lines
612 B
Markdown

# 16 Reporting
Reporting focus:
- Long-term historical analysis
- Financial reconciliation and payout matching
- Batch ingestion across many stores
Typed route:
- `POST /api/v1/uber/reporting/fetch`
- `POST /api/v1/uber/reporting/create`
Key behavior:
- Uses `eats.report` app scope
- Retries transient errors only (`408`, `429`, `500`, `502`, `503`, `504`, network timeouts)
- Parses CSV by header names (not fixed column positions)
- Tolerates unknown columns and missing optional fields
- Reporting job flow:
- create job returns `workflow_id`
- completion arrives via webhook `eats.report.success`