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_SUROLE_MENUROLE_VIEWMENUROLE_MANAGERROLE_{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_SUROLE_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_SUROLE_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_SUROLE_MENUROLE_VIEWMENUROLE_MANAGERROLE_{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_SUROLE_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_SUROLE_MENUROLE_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_SUROLE_MENUROLE_MENULOCKSROLE_VIEWMENUROLE_MANAGERROLE_{venue}_MANAGERROLE_{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_SUROLE_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_SUROLE_MENUROLE_MENULOCKSROLE_VIEWMENUROLE_MANAGERROLE_{venue}_MANAGERROLE_{venue}_MENULOCKS) required | object (SuggestItemsFilter) |
Retrieve menu item by ID from database.
ROLE_SUROLE_MENUROLE_VIEWMENUROLE_MANAGERROLE_{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_SUROLE_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_SUROLE_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_SUROLE_MENUROLE_MENULOCKSROLE_VIEWMENUROLE_MANAGERROLE_{venue}_MANAGERROLE_{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_SUROLE_MENUROLE_MANAGERROLE_{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_SUROLE_MENUROLE_MANAGERROLE_{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_SUROLE_MENUROLE_MENULOCKSROLE_VIEWMENUROLE_MANAGERROLE_{venue}_MANAGERROLE_{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_SUROLE_MENUROLE_MENULOCKSROLE_MANAGERROLE_{venue}_MANAGERROLE_{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_SUROLE_MENUROLE_VIEWMENUROLE_MENULOCKSROLE_MANAGERROLE_{venue}_MANAGERROLE_{venue}_MENULOCKS) | lock required | string[a-zA-Z0-9_.-]+ |
Remove lock with provided ID.
ROLE_SUROLE_MENUROLE_MENULOCKSROLE_MANAGERROLE_{venue}_MANAGERROLE_{venue}_MENULOCKS) | lock required | string[a-zA-Z0-9_.-]+ |
Export menu.
ROLE_SUROLE_EXPORTROLE_EXPORTMENU) Import menu.
ROLE_SUROLE_IMPORTROLE_IMPORTMENU) | clean | boolean Default: true |