Назначение | Запрос получения меню из кеша сервера |
Тип запроса | Синхронный |
Для оптимизации времени получения ответа передавайте в заголовке gzip
Меню обновляется автоматически ежедневно утром в 8:00 и вечером, в 23:30 Обновить не по расписанию меню можно с помощью метода UpdateMenu.
{
"taskType": "GetMenu",
"params": {
"sync": {
"objectId": 0,
"timeout": 0
}
}
}
Описание параметров
Параметр | Тип | Обязательный | Описание |
---|
taskType |
|
| Тип задачи |
sync |
|
| Синхронный метод |
timeout | int | - | Время ожидания ответа от агента в секундах, по умолчанию 120 секунд |
objectId | int | + | Код ресторана в системе лицензирования |
1 | Все значения - строки: ид, название, цена. Везде |
2 | У продукта может быть только 1 схема |
3 | Про min\max-count: если оба значения не указаны, то это группа чекбоксов (наши текущие Дополнительные ингредиенты), т.е. выбираешь сколько тебе хочется |
4 | Про min\max-count: если оба значения указаны, то это группы клонированных радио-батонов (имена групп будут автоматически пронумерованы, например, Соус 1, Соус 2), причем если min != max, то в N=max-min групп добавится вариант «Не выбрано» |
{
"responseCommon": {
"taskGuid": "string",
"taskType": "GetMenu",
"objectId": 0
},
"taskResponse": {
"lastUpdatedAt": "2019-01-28T15:00:00+03:00",
"menu": {
"categories": [
{ //категория верхнего уровня
"id": "string",
"name": "string"
},
{ //дочерняя категория
"id": "string",
"parentId": "string",
"name": "string"
}
],
"products": [
{ //вариант блюда с модификаторами или комбо
"id": "string",
"categoryId": "string",
"name": "string",
"price": "string",
"schemeId": "string",
"description": "string", // описание блюда или продукта
"excise":"string",
"exciseCode":"string",
"imageUrls": ["string1", "string2"], // массив картинок
"measure" : {
"value": "string", // размер порции
"unit": "string" // единица измерения: кг, литр, шт. Значение не словарное
}
},
{ //простое блюдо
"id": "string",
"categoryId": "string",
"name": "string",
"price": "string",
"description": "string", // описание блюда или продукта
"imageUrls": ["string1", "string2"], // массив картинок
"measure" : {
"value": "string", // размер порции
"unit": "string" // единица измерения: кг, литр, шт. Значение не словарное
],
"protein": "string",
"fat": "string",
"carbohydrates": "string",
"kcal": "string",
"globalTradeItemNumbers": "string",
"alcoholCodes": "string"
}
],
"ingredientsSchemes": [
{
"id": "string",
"ingredientsGroups": [
{
"id": "string",
"minCount": 0,
"maxCount": 0
},
{
"id": "string"
}
]
}
],
"ingredientsGroups": [
{
"id": "string",
"name": "string",
"ingredients": [
"string"
]
}
],
"ingredients": [
{
"id": "string",
"name": "string",
"price": "string",
"description": "string", // описание ингредиента
"excise":"string",
"exciseCode":"string",
"imageUrls": ["string1", "string2"], // массив картинок
"measure" : {
"value": "string", // размер порции
"unit": "string" // единица измерения: кг, литр, шт. Значение не словарное
}
]
}
}
Параметр | Тип | Описание |
---|
taskGuid | guid | Уникальный код этой задачи используется при получении задачи через очередь |
taskType | string enum | Тип задачи |
objectId | int | Код ресторана в системе лицензирования |
error |
| Контейнер ошибок, внутри детализация по связанным системам |
- wsError |
| Ошибки, получаемые от сервиса WhiteServer |
– code | int | Код ошибки |
– extCode | string | Расширенный код ошибки |
– desc | string | Описание ошибки |
{
"taskType": "GetMenu",
"params": {
"sync": {
"objectId": 199990106,
"timeout": 60
}
}
}
пример json меню
{
"responseCommon": {
"taskGuid": "fa1bdcbf-1e96-425c-9159-eb57d4accb6f",
"taskType": "UpdateMenu",
"objectId": 199990106,
},
"error": {
"wsError": {
"code": 82,
"desc": "Меню объекта не найдено"
}
}
}