Skip to main content

Sync Menu

After you understand the Item and variant structure, then you can sync food items to GoFood. Menu will be reflected immediately on your outlet once you made a successful request.

note

Please also mind that currently, we don’t do any menu moderation. Please make sure you’re making the correct request.

Sync Menu Flow

Sync Menu Flow

Sync Menu to outlet

Endpoint = PUT /integrations/gofood/outlets/{outlet_id}/v1/catalog

Request

Sample Sync Menu Request
curl -X PUT https://api.partner-sandbox.gobiz.co.id/integrations/gofood/outlets/{outlet_id}/v1/catalog \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {access-token}' \
-d $'
{
"request_id": "a7956af2-e5e9-4b1e-9844-52494d6cb6fc",
"menus":
[
{
"name": "Pizza",
"menu_items":
[
{
"external_id": "XID",
"name": "Pizza Margherita",
"description": "Delicious Italian Pizza",
"in_stock": true,
"price": 9000,
"image": "http://gofood.co.id/some.png",
"operational_hours": {
"sunday":
[
{
"start": "00:00",
"end": "23:59"
}
],
"monday":
[
{
"start": "00:00",
"end": "23:59"
}
],
"tuesday":
[
{
"start": "00:00",
"end": "23:59"
}
],
"wednesday":
[
{
"start": "00:00",
"end": "23:59"
}
],
"thursday":
[
{
"start": "00:00",
"end": "23:59"
}
],
"friday":
[
{
"start": "00:00",
"end": "23:59"
}
],
"saturday":
[
{
"start": "00:00",
"end": "23:59"
}
]
},
"variant_category_external_ids":
[
"VC-XID"
]
}
]
}
],
"variant_categories":
[
{
"external_id": "VC-XID",
"internal_name": "Topping (promo)",
"name": "Topping",
"rules": {
"selection": {
"min_quantity": 1,
"max_quantity": 2
}
},
"variants":
[
{
"external_id": "V-XID",
"name": "Cheese",
"price": 1000,
"in_stock": true
}
]
}
]
}
'

Response (200)

Sample Response
{
"success": true,
"data": {
"request_id": "a7956af2-e5e9-4b1e-9844-52494d6cb6fc"
}
}
note

To see how menu is reflected on consumer app - you can utilise your outlet testing web page (see sample here). Make sure menu, category, variants are in desired order.