Update menu item. ID from path overrides the one provided in input object. Method does upsert in database.
| item required | string[a-zA-Z0-9_.-]+ Example: product-id |
| optimistic-lock | string <date-time> |
| id | string[a-zA-Z0-9_.-]+ |
object | |
| kind required | string |
| 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"
}
]
}Validate products. Validates products with provided configuration of options and sub-products against product definition, current locks, etc. It also generates ProductDescription on successful 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 |
| tz required | string Timezone for calculations |
additional property | object (ValidateProduct) |
{- "property1": {
- "productId": "string",
- "state": {
- "selected": {
- "property1": {
- "property1": 0,
- "property2": 0
}, - "property2": {
- "property1": 0,
- "property2": 0
}
}, - "filter": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}
}
}, - "property2": {
- "productId": "string",
- "state": {
- "selected": {
- "property1": {
- "property1": 0,
- "property2": 0
}, - "property2": {
- "property1": 0,
- "property2": 0
}
}, - "filter": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}
}
}
}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.
| 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. |
| instance | string[a-zA-Z0-9_.-]+ Example: instance=venue-1 |
| id | string[a-zA-Z0-9_.-]+ |
object | |
| kind required | string |
| 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": "drinks",
- "ordincat": "2"
}
}Validate single product. Validates product with provided configuration of options and sub-products against product definition, current locks, etc. It also generates ProductDescription on successful 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 |
| tz required | string Timezone for calculations |
object Selected items. | |
object Merged filter based on emitted filters matching selected items. |
empty
{ }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.
| id | string[a-zA-Z0-9_.-]+ |
object | |
| kind required | string |
| 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"
}
]
}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_Public) |
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.
| id required | string [ 3 .. 128 ] characters [a-zA-Z0-9_.-]+ ID of this lock. |
| products | Array of strings [ 1 .. 2147483647 ] items [ items [ 0 .. 128 ] characters [a-zA-Z0-9_.-]+ ] IDs of locked products. |
| instances | Array of strings[ items [ 0 .. 128 ] characters [a-zA-Z0-9_.-]+ ] 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"
]
}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.
| id required | string [ 2 .. 128 ] characters [\p{L}\p{N}_.-]+ BOM key |
basic
"{\n \"id\" : \"bom_key\",\n}"