GetMenu
Описание
Назначение | Запрос получения меню из кеша сервера |
Тип запроса | Синхронный |
Для оптимизации времени получения ответа передавайте в заголовке gzip
Меню обновляется автоматически ежедневно утром в 8:00 и вечером, в 23:30 Обновить не по расписанию меню можно с помощью метода UpdateMenu.
Формат запроса
{ "taskType": "GetMenu", "params": { "sync": { "objectId": 0, "timeout": 0 } } }
Описание параметров
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
taskType | Тип задачи | ||
sync | Синхронный метод | ||
timeout | int | - | Время ожидания ответа от агента в секундах, по умолчанию 120 секунд |
objectId | int | + | Код ресторана в системе лицензирования |
Формат ответа
1 | Все значения - строки: ID, название, цена. Везде |
2 | У продукта может быть только 1 схема |
3 | Про min\max-count: если оба значения не указаны, то это группа чекбоксов (наши текущие Дополнительные ингредиенты), т.е. выбираешь сколько тебе хочется |
4 | Про min\max-count: если оба значения указаны, то это группы клонированных радио-батонов (имена групп будут автоматически пронумерованы, например, Соус 1, Соус 2), причем если min != max, то в N=max-min групп добавится вариант «Не выбрано» |
{
"type": "string",
"categories":[
{
"id":"string",
"name":"string",
"parentId": "string"
}
],
"classifications": [
{
"id": "string",
"code": "string",
"name": "string",
"parentId": "string"
}
],
"products":[
{
"id":"string",
"categoryId":"string",
"name":"string",
"code":"string",
"price":"string",
"originalPrice: number,
"schemeId":"string",
"description":"string",
"excise":"string",
"exciseCode":"string",
"imageUrls":[
"string1",
"string2"
],
"measure":{
"value":"string",
"unit":"string",
"priceMode": "string",
"qntDecDigits": "string",
"changeQntOnce": "true/false",
"joinMode": "string"
},
"classificationIds": [
"string1",
"string2"
],
"protein": "string",
"fat": "string",
"carbohydrates": "string",
"kcal": "string",
"globalTradeItemNumbers": "string",
"alcoholCodes": "string",
"openPrice": boolean
"dishTaxes": {
"groupName": "НДС 10%",
"taxes": [
{
"taxName": "НДС",
"rateName": "10,00 %",
"rate": 10
}
]
}
}
],
"ingredientsSchemes":[
{
"id":"string",
"ingredientsGroups":[
{
"id":"string",
"minCount":number,
"maxCount":number,
"changesPrice":true/false
}
]
}
],
"ingredientsGroups":[
{
"id":"string",
"name":"string",
"ingredients":[
"string"
]
}
],
"ingredients":[
{
"id":"string",
"name":"string",
"code":"string",
"price":"string",
"originalPrice: number,
"schemeId":"string",
"description":"string",
"excise":string,
"exciseCode":string,
"dishId":number,
"imageUrls":[
"string1",
"string2"
],
"measure":{
"value":"string",
"unit":"string"
}
}
]
}
CODE
Описание полей можно посмотреть в базе знаний.
Параметр | Тип | Описание |
---|---|---|
taskGuid | guid | Уникальный код этой задачи используется при получении задачи через очередь |
taskType | string enum | Тип задачи |
objectId | int | Код ресторана в системе лицензирования |
error | Контейнер ошибок, внутри детализация по связанным системам | |
- wsError | Ошибки, получаемые от сервиса White Server | |
– code | int | Код ошибки |
– extCode | string | Расширенный код ошибки |
– desc | string | Описание ошибки |
Примеры
Запрос
{ "taskType": "GetMenu", "params": { "sync": { "objectId": 199990106, "timeout": 60 } } }
Успешный ответ
Ответ с ошибкой
{ "responseCommon": { "taskGuid": "fa1bdcbf-1e96-425c-9159-eb57d4accb6f", "taskType": "UpdateMenu", "objectId": 199990106, }, "error": { "wsError": { "code": 82, "desc": "Меню объекта не найдено" } } }