iRetail PRO store node 1.0.0-m1: menus
15 operations
← All documentation · Source: contracts openapi/store-v1.yaml at 8000474.
← iRetail PRO store node 1.0.0-m1
Operations
GET
/v1/guest-listener
Whether the guest listener is on and the origin guests use (spec/RESTAURANT.md, The guest listener).
operationId
getGuestListener · Permission store.read
Parameters
| Name | In | Type | Description |
|---|---|---|---|
IRetail-App
|
header | string |
Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking). |
Responses
-
200OKGuestListener -
401Error (spec/API.md).Error -
403Error (spec/API.md).Error
GET
/v1/menus
The guest menus in position order (spec/RESTAURANT.md, The guest menu).
operationId
listMenus · Permission item.read
Parameters
| Name | In | Type | Description |
|---|---|---|---|
IRetail-App
|
header | string |
Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking). |
Responses
POST
/v1/menus
Make a guest menu (at most 10 a store).
operationId
createMenu · Permission menu.manage
Parameters
| Name | In | Type | Description |
|---|---|---|---|
IRetail-App
|
header | string |
Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking). |
Idempotency-Key
|
header | string |
spec/API.md, Idempotency. |
Request body required
application/jsonMenuWrite
Responses
GET
/v1/menus/{id}
One guest menu.
operationId
getMenu · Permission item.read
Parameters
| Name | In | Type | Description |
|---|---|---|---|
IRetail-App
|
header | string |
Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking). |
id required
|
path | string (uuid) |
Id. |
Responses
PUT
/v1/menus/{id}
Replace a guest menu's name, areas and sections.
operationId
putMenu · Permission menu.manage
Parameters
| Name | In | Type | Description |
|---|---|---|---|
IRetail-App
|
header | string |
Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking). |
id required
|
path | string (uuid) |
Id. |
If-Match
|
header | string |
The version the change is based on. |
Request body required
application/jsonMenuWrite
Responses
DELETE
/v1/menus/{id}
Delete a guest menu.
operationId
deleteMenu · Permission menu.manage
Parameters
| Name | In | Type | Description |
|---|---|---|---|
IRetail-App
|
header | string |
Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking). |
id required
|
path | string (uuid) |
Id. |
Responses
GET
/v1/menu-theme
The guest menu's theme.
operationId
getMenuTheme · Permission item.read
Parameters
| Name | In | Type | Description |
|---|---|---|---|
IRetail-App
|
header | string |
Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking). |
Responses
PUT
/v1/menu-theme
Set the theme; colors are checked for WCAG 2.2 contrast (422 theme_contrast).
operationId
putMenuTheme · Permission menu.manage
Parameters
| Name | In | Type | Description |
|---|---|---|---|
IRetail-App
|
header | string |
Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking). |
If-Match
|
header | string |
The version the change is based on. |
Request body required
application/jsonMenuThemePut
Responses
GET
/v1/menu-photos
The store's menu photos.
operationId
listMenuPhotos · Permission item.read
Parameters
| Name | In | Type | Description |
|---|---|---|---|
IRetail-App
|
header | string |
Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking). |
Responses
POST
/v1/menu-photos
Keep a JPEG or WebP photo of at most 512 KB, its EXIF and XMP removed.
operationId
uploadMenuPhoto · Permission menu.manage
Parameters
| Name | In | Type | Description |
|---|---|---|---|
IRetail-App
|
header | string |
Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking). |
Idempotency-Key
|
header | string |
spec/API.md, Idempotency. |
Request body required
image/jpegstring (binary)image/webpstring (binary)
Responses
GET
/v1/menu-photos/{id}
A photo's bytes with its ETag; 304 for a matching If-None-Match.
operationId
getMenuPhoto · Permission item.read
Parameters
| Name | In | Type | Description |
|---|---|---|---|
IRetail-App
|
header | string |
Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking). |
id required
|
path | string (uuid) |
Id. |
If-None-Match
|
header | string |
The ETag the caller holds. |
Responses
DELETE
/v1/menu-photos/{id}
Delete a photo no menu or theme uses (409 photo_in_use otherwise).
operationId
deleteMenuPhoto · Permission menu.manage
Parameters
| Name | In | Type | Description |
|---|---|---|---|
IRetail-App
|
header | string |
Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking). |
id required
|
path | string (uuid) |
Id. |
Responses
GET
/v1/stop-list
Items temporarily not served (spec/RESTAURANT.md, The guest menu).
operationId
getStopList · Permission item.read
Parameters
| Name | In | Type | Description |
|---|---|---|---|
IRetail-App
|
header | string |
Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking). |
Responses
-
200OKarray of StopListEntry -
401Error (spec/API.md).Error -
403Error (spec/API.md).Error
PUT
/v1/stop-list/{item_id}
Put an item on the stop list, until a time or until it is taken off; refused to guests and at the register alike.
operationId
stopItem · Permission stop_list.manage
Parameters
| Name | In | Type | Description |
|---|---|---|---|
IRetail-App
|
header | string |
Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking). |
item_id required
|
path | string (uuid) |
The item. |
Request body required
application/jsonStopListPut
Responses
-
200OKStopListEntry -
400Error (spec/API.md).Error -
401Error (spec/API.md).Error -
403Error (spec/API.md).Error -
404Error (spec/API.md).Error
DELETE
/v1/stop-list/{item_id}
Take an item off the stop list.
operationId
unstopItem · Permission stop_list.manage
Parameters
| Name | In | Type | Description |
|---|---|---|---|
IRetail-App
|
header | string |
Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking). |
item_id required
|
path | string (uuid) |
The item. |
Responses
Schemas
Error object
Every error response.
error required
|
string |
Stable code, see spec/API.md. |
message required
|
string |
English text for logs. |
details
|
object |
LocalizedText map of string
Text by language code; the organization's default language must be present.
GuestListener object
enabled required
|
boolean |
Whether IRETAIL_GUEST_LISTEN is set. |
origin required
|
string (uri) | null |
IRETAIL_GUEST_ORIGIN, the origin printed in the tables' QR codes; null when not set. |
DietTag "vegetarian" | "vegan" | "halal" | "kosher" | "gluten_free" | "lactose_free" | "spicy"
vegetarian · vegan · halal · kosher · gluten_free · lactose_free · spicy
Allergen "celery" | "crustaceans" | "eggs" | "fish" | "gluten" | "lupin" | "milk" | "mollusks" | "mustard" | "peanuts" | "sesame" | "soy" | "sulfites" | "tree_nuts" | "wheat"
celery · crustaceans · eggs · fish · gluten · lupin · milk · mollusks · mustard · peanuts · sesame · soy · sulfites · tree_nuts · wheat
MenuEntry object
item_id required
|
string (uuid) |
|
description required
|
LocalizedText |
Up to 500 characters a language. |
photo_id required
|
string (uuid) | null |
|
diet required
|
array of DietTag |
|
allergens required
|
array of Allergen |
MenuSection object
id required
|
string |
|
name required
|
LocalizedText |
|
entries required
|
array of MenuEntry |
MenuWrite object
name required
|
LocalizedText |
|
position
|
integer |
|
active required
|
boolean |
|
area_ids required
|
array of string (uuid) |
The areas it is shown in; empty for every area. |
sections required
|
array of MenuSection |
Menu object
A guest menu (spec/RESTAURANT.md, The guest menu).
id required
|
string (uuid) |
|
name required
|
LocalizedText |
|
position required
|
integer |
|
active required
|
boolean |
|
area_ids required
|
array of string (uuid) |
|
sections required
|
array of MenuSection |
|
version required
|
integer (int64) |
MenuPhoto object
id required
|
string (uuid) |
|
content_type required
|
"image/jpeg" | "image/webp" |
|
bytes required
|
integer |
|
width required
|
integer |
|
height required
|
integer |
|
etag required
|
string |
|
created_at required
|
string (date-time) |
ThemeColor string
MenuThemePut object
logo_photo_id
|
string (uuid) | null |
|
background required
|
ThemeColor |
|
text required
|
ThemeColor |
|
secondary_text required
|
ThemeColor |
|
accent required
|
ThemeColor |
|
on_accent required
|
ThemeColor |
|
font required
|
"inter" | "noto_serif" | "noto_sans_armenian" |
|
layout required
|
"list" | "grid" |
|
languages required
|
array of "en" | "ru" | "de" | "es" | "fr" | "pl" | "hy" | "ky" | "kk" | "pt-BR" |
MenuTheme object
The guest menu's look; its colors reach WCAG 2.2 contrast (spec/RESTAURANT.md, The guest menu).
logo_photo_id required
|
string (uuid) | null |
|
background required
|
ThemeColor |
|
text required
|
ThemeColor |
|
secondary_text required
|
ThemeColor |
|
accent required
|
ThemeColor |
|
on_accent required
|
ThemeColor |
|
font required
|
"inter" | "noto_serif" | "noto_sans_armenian" |
|
layout required
|
"list" | "grid" |
|
languages required
|
array of "en" | "ru" | "de" | "es" | "fr" | "pl" | "hy" | "ky" | "kk" | "pt-BR" |
|
version required
|
integer (int64) |
StopListEntry object
item_id required
|
string (uuid) |
|
until required
|
string (date-time) | null |
|
reason required
|
string | null |
|
by required
|
string (uuid) |
|
at required
|
string (date-time) |
StopListPut object
until
|
string (date-time) | null |
|
reason
|
string | null |