GetMenuByParams
Описание
Запрос GetMenuByParams отвечает за получение меню от агента.
Назначение | Запрос получения меню от агента |
---|---|
Тип запроса | Асинхронный/синхронный |
Поддерживаемая версия агента | v2 |
PluggetSystemType | RKMid |
При выполнение запроса GetMenuByParams учитывается нахождение блюда в стоп-листе:
- Если блюдо включено в стоп-лист, оно не будет выводиться в поле "products": [] при выполнении запроса
- Если блюдо отсутствует в стоп-листе, оно будет выводиться в поле "products": [] при выполнении запроса
Обновлять стоп-листы не требуется.
Формат запроса
{
"taskType": "GetMenuByParams",
"params": {
"async": {
"objectId": "number",
"timeout": number
},
"sync": {
"objectId": number,
"timeout": number
},
"priceTypeId": number,
"tradeGroupId": number,
"filterByKassPresets": bool,
"menuSelectorCode": number,
"orderCategoryCode": number
}
}
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
taskType | Тип задачи. | ||
async | Асинхронный вызов метода. Может быть либо синхронный, либо асинхронный. | ||
sync | Синхронный вызов метода. Может быть либо синхронный, либо асинхронный. | ||
timeout | int | Нет | Время ожидания ответа от агента в секундах, по умолчанию — 120 секунд. |
objectId | int | Да | Код ресторана в системе лицензирования. |
priceTypeId | int | Нет | Идентификатор типа цены. Если не указан, используется тот, что указан в конфигурации. |
tradeGroupId | int | Нет | Идентификатор торговой группы. Если не указан, используется тот, что указан в конфигурации. |
filterByKassPresets | bool | Нет | Значение по умолчанию — true. Если false, то будет передано полное меню, без фильтрации, с помощью команды RKeeper GetOrderMenu. У этой команды фильтрация учитывает настройки кассы, кассира и так далее. |
menuSelectorCode | int | Нет | Код селектора меню для построения дерева категорий блюд и их дополнительной фильтрации. Если не указан, используется параметр DefaultMenuSelectorCode из раздела RKeeper:OrderCreationPreferences конфигурации Агента. Если и в конфигурации не задан код селектора — возвращается меню без учета селекторов. |
orderCategoryCode | int | Нет | Код категории заказов, которые можно сделать по запрашиваемому меню. |
Пример запроса по торговой группе
Для запроса по торговой группе предварительно проверьте:
- Параметр конфигурации агента RKeeper:OrderCreationPreferences:UseGetOrderMenuOnly принимал значение false или отсутствовал
- Параметр запроса filterByKassPresets принимал значение false
- Задан один из параметров:
- Торговая группа в r_keeper
- Параметр запроса tradeGroupId
- Параметр конфигурации RKeeper:OrderCreationPreferences:TradeGroupId
- Задан один из параметров:
- Тип цены в r_keeper
- Параметр запроса priceTypeId
- Параметр конфигурации RKeeper:OrderCreationPreferences:PriceTypeId.
Пример запроса
{
"taskType": "GetMenuByParams",
"params": {
"sync": {
"objectId": 1
},
"priceTypeId": 1,
"tradeGroupId": 1,
"filterByKassPresets": false,
"menuSelectorCode": 1
}
}
Пример запроса по категории заказа
Для запроса по категории заказа предварительно проверьте, чтобы был задан один из параметров:
- Параметр конфигурации агента RKeeper:OrderCreationPreferences:UseGetOrderMenuOnly принимал значение true
- Параметр запроса filterByKassPresets принимал значение true
- Параметр filterByKassPresets отсутствовал в запросе
- Параметр запроса orderCategoryCode указывал код существующей категории заказа.
Пример запроса
{
"taskType": "GetMenuByParams",
"params": {
"sync": {
"objectId": 1
},
"orderCategoryCode": 1
}
}
Запрос без фильтрации по селекторам
Для получения блюд без учета селекторов r_keeper, предварительно проверьте, чтобы:
- В запросе отсутствовал параметр menuSelectorCode
- В конфигурации отсутствовал параметр RKeeper:OrderCreationPreferences:DefaultMenuSelectorCode.
Формат ответа
{
"responseCommon": {
"taskGuid": "string",
"taskType": "GetMenuByParams",
"objectId": 0
},
"taskResponse": { // содержимое блока без парсинга на сервере
"lastUpdatedAt": "2019-28-T15:00:00+03:00",
"menu": {
}
}
Параметр | Тип | Описание |
---|---|---|
taskType | string enum | Тип задачи |
taskGuid | guid | Уникальный код этой задачи используется при получении задачи через очередь. |
objectId | int | Код ресторана в системе лицензирования. |
menu | object | Содержимое блока menu смотрите в статье Menu |
error | Контейнер ошибок. |