Validate product. Validates product with provided configuration of options and sub-products against product definition, current locks, etc. It also generates ProductDescription on successfull validation.
menu required | string[a-zA-Z0-9_.-]+ Example: DEFAULT_menu |
channel required | string [ 1 .. 32 ] characters [A-Z0-9_]+ Example: channel=DELIVERY |
instance required | string[a-zA-Z0-9_.-]+ Example: instance=venue-1 |
product required | string[a-zA-Z0-9_.-]+ Example: product=product-id-1 |
time required | string <date-time> Example: time=2021-01-01T10:10:00Z |
default response
object Selected items. | |
object Merged filter based on emited filters matching selected items. |
empty
{ }
Search for products by partial string (suggest). Returns all products which id, name or description literals contains provided string. It tries to determine locale by Accept-Locale request header and checks also name-[LOCALE] and description-[LOCALE] literals.
menu required | string[a-zA-Z0-9_.-]+ Example: DEFAULT_menu |
required | object (SearchParams) |
Validate products. Validates products with provided configuration of options and sub-products against product definition, current locks, etc. It also generates ProductDescription on successfull validation.
menu required | string[a-zA-Z0-9_.-]+ Example: DEFAULT_menu |
channel required | string [ 1 .. 32 ] characters [A-Z0-9_]+ Example: channel=DELIVERY |
instance required | string[a-zA-Z0-9_.-]+ Example: instance=venue-1 |
time required | string <date-time> Example: time=2021-01-01T10:10:00Z |
object (ValidateProduct) |
Get menu definition by ID.
ROLE_SU
ROLE_MENU
ROLE_VIEWMENU
ROLE_MANAGER
ROLE_{venue}_MANAGER
) menu required | string[a-zA-Z0-9_.-]+ Example: MENU_default |
Update menu definition. ID in input document is overridden by the one from path. This method does upsert in database.
ROLE_SU
ROLE_MENU
) menu required | string[a-zA-Z0-9_.-]+ Example: MENU_default |
default response
id required | string[a-zA-Z0-9_.-]+ |
object Map key refers to possible order types, like 'DELIVERY', 'TAKE_AWAY', 'DINE_IN', etc. |
basic
{- "id": "MENU_default",
- "specific": {
- "DELIVERY": {
- "priceList": "pricelist_name",
- "rootItem": "root_category_id"
}, - "DINE_IN": {
- "priceList": "pricelist_name",
- "rootItem": "root_category_id"
}
}
}
Delete menu definition by ID.
ROLE_SU
ROLE_MENU
) menu required | string[a-zA-Z0-9_.-]+ Example: MENU_default |
Get paginated list of Menu definitions (menu sets assigned to venues). This endpoint is compatible with React AdminOnRest framework to provide DataSource.
ROLE_SU
ROLE_MENU
ROLE_VIEWMENU
ROLE_MANAGER
ROLE_{venue}_MANAGER
) required | object (DefinitionsFilter) |
Create new menu definition. If ID is not provided it will be generated. Otherwise this method is similar to PUT method and does upsert in database.
ROLE_SU
ROLE_MENU
) default response
id required | string[a-zA-Z0-9_.-]+ |
object Map key refers to possible order types, like 'DELIVERY', 'TAKE_AWAY', 'DINE_IN', etc. |
basic
{- "id": "MENU_default",
- "specific": {
- "DELIVERY": {
- "priceList": "pricelist_name",
- "rootItem": "root_category_id"
}, - "DINE_IN": {
- "priceList": "pricelist_name",
- "rootItem": "root_category_id"
}
}
}
Preview product. Resolves references and queries to provide full product config. Nothing more (i.e. pricelists, prices and locks) is calculated here so that no sub-products are removed. Bear in mind that final product may not contain some of options due to those additional computations.
ROLE_SU
ROLE_MENU
ROLE_VIEWMENU
) menu required | string[a-zA-Z0-9_.-]+ Example: menu=DEFAULT_menu Menu identifier for computations. |
channel | string [ 1 .. 32 ] characters [A-Z0-9_]+ Default: "DELIVERY" Example: channel=DELIVERY Channel used in menu computations. |
default response
id | string[a-zA-Z0-9_.-]+ |
object | |
kind required | string CmsReference CmsReference MenuGroupCategory MenuGroupConfig MenuGroupOptions Product QueryItems Reference Static |
reference required | string |
sample
{- "kind": "3e/product",
- "id": "espresso",
- "details": {
- "literals": {
- "name": "Espresso",
- "name-en": "Name translated to EN",
- "description": ""
}, - "media": [
- {
- "name": "MAIN_IMG"
}
]
}, - "price": "13",
- "bom": {
- "coffee": {
- "unit": "kg",
- "qty": "0.021"
}
}, - "_": {
- "category": "napoje",
- "ordincat": "2"
}
}
Get paginated list of MenuItems. This endpoint is compatible with React AdminOnRest framework to provide DataSource.
ROLE_SU
ROLE_MENU
ROLE_MENULOCKS
ROLE_VIEWMENU
ROLE_MANAGER
ROLE_{venue}_MANAGER
ROLE_{venue}_MENULOCKS
) required | object (ItemsFilter) |
Create new menu item. If ID is not provided it will be generated. Otherwise this method is similar to PUT method and does upsert in database.
ROLE_SU
ROLE_MENU
) default response
id | string[a-zA-Z0-9_.-]+ |
object | |
kind required | string CmsReference CmsReference MenuGroupCategory MenuGroupConfig MenuGroupOptions Product QueryItems Reference Static |
reference required | string |
category
{- "kind": "3e/group/category",
- "id": "root_menu_category",
- "details": {
- "literals": {
- "name": "Menu"
}
}, - "items": [
- {
- "kind": "3e/group/category",
- "id": "sub-category-1",
- "details": {
- "literals": {
- "name": "NOWOŚĆI",
- "name-en": "NEWS"
}, - "media": [
- {
- "name": "MAIN_IMG"
}
]
}, - "items": [
- {
- "kind": "3e/ref",
- "id": "product-id-1"
}, - {
- "kind": "3e/ref",
- "id": "product-id-2"
}
]
}, - {
- "kind": "3e/query",
- "id": "query-napoje",
- "details": {
- "literals": {
- "name": "Kwerenda",
- "name-en": "Query"
}, - "media": [
- {
- "name": "MAIN_IMG"
}
]
}, - "category": "napoje"
}
]
}
Fetch suggest list
ROLE_SU
ROLE_MENU
ROLE_MENULOCKS
ROLE_VIEWMENU
ROLE_MANAGER
ROLE_{venue}_MANAGER
ROLE_{venue}_MENULOCKS
) required | object (SuggestItemsFilter) |
Retrieve menu item by ID from database.
ROLE_SU
ROLE_MENU
ROLE_VIEWMENU
ROLE_MANAGER
ROLE_{venue}_MANAGER
) item required | string[a-zA-Z0-9_.-]+ Example: espresso |
Update menu item. ID from path overrides the one provided in input object. Method does upsert in database.
ROLE_SU
ROLE_MENU
) item required | string[a-zA-Z0-9_.-]+ Example: product-id |
optimistic-lock | string <date-time> |
default response
id | string[a-zA-Z0-9_.-]+ |
object | |
kind required | string CmsReference CmsReference MenuGroupCategory MenuGroupConfig MenuGroupOptions Product QueryItems Reference Static |
reference required | string |
category
{- "kind": "3e/group/category",
- "id": "root_menu_category",
- "details": {
- "literals": {
- "name": "Menu"
}
}, - "items": [
- {
- "kind": "3e/group/category",
- "id": "sub-category-1",
- "details": {
- "literals": {
- "name": "NOWOŚĆI",
- "name-en": "NEWS"
}, - "media": [
- {
- "name": "MAIN_IMG"
}
]
}, - "items": [
- {
- "kind": "3e/ref",
- "id": "product-id-1"
}, - {
- "kind": "3e/ref",
- "id": "product-id-2"
}
]
}, - {
- "kind": "3e/query",
- "id": "query-napoje",
- "details": {
- "literals": {
- "name": "Kwerenda",
- "name-en": "Query"
}, - "media": [
- {
- "name": "MAIN_IMG"
}
]
}, - "category": "napoje"
}
]
}
Deletes menu item by id. Be carefull when deleting items as they may be referenced by References in other items.
ROLE_SU
ROLE_MENU
) item required | string[a-zA-Z0-9_.-]+ Example: product-id |
optimistic-lock | string <date-time> |
Validate product. Validates product with provided configuration of options and sub-products against product definition, current locks, etc. It also generates ProductDescription on successfull validation.
menu required | string[a-zA-Z0-9_.-]+ Example: DEFAULT_menu |
channel required | string [ 1 .. 32 ] characters [A-Z0-9_]+ Example: channel=DELIVERY |
instance required | string[a-zA-Z0-9_.-]+ Example: instance=venue-1 |
product required | string[a-zA-Z0-9_.-]+ Example: product=product-id-1 |
time required | string <date-time> Example: time=2021-01-01T10:10:00Z |
default response
object Selected items. | |
object Merged filter based on emited filters matching selected items. |
empty
{ }
Search for products by partial string (suggest). Returns all products which id, name or description literals contains provided string. It tries to determine locale by Accept-Locale request header and checks also name-[LOCALE] and description-[LOCALE] literals.
menu required | string[a-zA-Z0-9_.-]+ Example: DEFAULT_menu |
required | object (SearchParams) |
Validate products. Validates products with provided configuration of options and sub-products against product definition, current locks, etc. It also generates ProductDescription on successfull validation.
menu required | string[a-zA-Z0-9_.-]+ Example: DEFAULT_menu |
channel required | string [ 1 .. 32 ] characters [A-Z0-9_]+ Example: channel=DELIVERY |
instance required | string[a-zA-Z0-9_.-]+ Example: instance=venue-1 |
time required | string <date-time> Example: time=2021-01-01T10:10:00Z |
object (ValidateProduct) |
Get paginated list of BomKey. This endpoint is compatible with React AdminOnRest framework to provide DataSource.
ROLE_SU
ROLE_MENU
ROLE_MENULOCKS
ROLE_VIEWMENU
ROLE_MANAGER
ROLE_{venue}_MANAGER
ROLE_{venue}_MENULOCKS
) required | object (BomKeysFilter) |
Create new bom key. Bom key must be new and unique. Overriding existing bom key is not allowed. To alter a bom key simply delete old one and create new.
ROLE_SU
ROLE_MENU
ROLE_MANAGER
ROLE_{venue}_MANAGER
) default response
id required | string [ 2 .. 128 ] characters [\p{L}\p{N}_.-]+ BOM key |
basic
"{\n \"id\" : \"bom_key\",\n}"
Remove bom key
ROLE_SU
ROLE_MENU
ROLE_MANAGER
ROLE_{venue}_MANAGER
) id required | string[\p{L}\p{N}_.-]+ |
Get paginated list of Locks. This endpoint is compatible with React AdminOnRest framework to provide DataSource.
ROLE_SU
ROLE_MENU
ROLE_MENULOCKS
ROLE_VIEWMENU
ROLE_MANAGER
ROLE_{venue}_MANAGER
ROLE_{venue}_MENULOCKS
) required | object (LocksFilter) |
Create new lock. Its ID must be new and unique. Overriding existing locks is not allowed. To alter a lock simply delete old one and create new.
ROLE_SU
ROLE_MENU
ROLE_MENULOCKS
ROLE_MANAGER
ROLE_{venue}_MANAGER
ROLE_{venue}_MENULOCKS
) default response
id required | string [ 3 .. 128 ] characters [a-zA-Z0-9_.-]+ ID of this lock. |
products | Array of strings [ 1 .. 2147483647 ] items IDs of locked products. |
instances | Array of strings Instances (venues) where this lock is applied. |
object Channels (like DINE_IN, DELIVERY, etc). | |
description | string Lock description |
plannedLockExpirationDate | string <date-time> Planned date of lock expiration |
lockReason | string Lock reason |
basic
{- "id": "product_lock_1",
- "products": [
- "product-id-1",
- "product-id-2"
], - "instances": [
- "venue-1"
], - "lockedInChannel": [
- "DELIVERY"
]
}
Get lock definition by id
ROLE_SU
ROLE_MENU
ROLE_VIEWMENU
ROLE_MENULOCKS
ROLE_MANAGER
ROLE_{venue}_MANAGER
ROLE_{venue}_MENULOCKS
) lock required | string[a-zA-Z0-9_.-]+ |
Remove lock with provided ID.
ROLE_SU
ROLE_MENU
ROLE_MENULOCKS
ROLE_MANAGER
ROLE_{venue}_MANAGER
ROLE_{venue}_MENULOCKS
) lock required | string[a-zA-Z0-9_.-]+ |
Export menu.
ROLE_SU
ROLE_EXPORT
ROLE_EXPORTMENU
) Import menu.
ROLE_SU
ROLE_IMPORT
ROLE_IMPORTMENU
) clean | boolean Default: true |