1.7 KiB
1.7 KiB
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_typequery values for delivery/pick-up/dine-in - applies
Accept-Encoding: gzipfor 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_typeenum 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
- Added curated v2 JSON examples under
- Added troubleshooting-aligned validation layer:
- no menus / no hours / short hours / overlapping visibility checks on upload
- UUID guard for
storeIdon menu routes core_price >= priceguard on item updates
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_priceandbundled_itemsenrichment