37 lines
1.5 KiB
Markdown
37 lines
1.5 KiB
Markdown
# 05 Menu Integration Audit
|
|
|
|
Source checked: Uber Eats "Menu Integration" section shared by you.
|
|
|
|
## Implemented Now
|
|
|
|
- Retrieve menu:
|
|
- `GET /api/v1/uber/menu`
|
|
- aligned to upstream `GET /v2/eats/stores/{store_id}/menus`
|
|
- supports `menu_type` query values for delivery/pick-up/dine-in
|
|
- applies `Accept-Encoding: gzip` for large payload responses
|
|
- Full menu upload/replace:
|
|
- `PUT /api/v1/uber/menu/replace` (primary)
|
|
- aligned to upstream `PUT /v2/eats/stores/{store_id}/menus`
|
|
- wrapper uploads gzip-compressed JSON (`Content-Encoding: gzip`)
|
|
- supports optional `menu.menu_type` (delivery/pick-up/dine-in)
|
|
- validates known menu_type enum values
|
|
- Individual item updates:
|
|
- `POST /api/v1/uber/menu/items`
|
|
- aligned to upstream `POST /v2/eats/stores/{store_id}/menus/items/{item_id}`
|
|
- request body is sparse update (only provided fields are changed)
|
|
- supports `menu_type` enum for split delivery/pickup/dine-in menus
|
|
- Example payload pack:
|
|
- Added curated v2 JSON examples under `docs/examples/menus/v2/`
|
|
- Added index doc `docs/developer-portal/05-menu-example-payloads.md`
|
|
|
|
## Existing Before
|
|
|
|
- Legacy menu upsert helper route (`POST /api/v1/uber/menu/upsert`)
|
|
- Store/menu module structure and app-token auth for menu calls
|
|
|
|
## Pending
|
|
|
|
- Strict typed schemas for full menu payload entities (item, modifier group, category, menu)
|
|
- Validation rules for image metadata limits and alcoholic item classifications
|
|
- Dedicated mapper helpers for `core_price` and `bundled_items` enrichment
|