Последнее изменение статьи: 11.06.2026 12:33

НазначениеЗапрос получения меню от агента
PluggetSystemTypeRKMid
ФОРМАТ ЗАПРОСА

ФОРМАТ ЗАПРОСА

Запрос

{
  "taskType": "GetMenuByParams",
  "params": {
      "sync": {
        "objectId": number,
        "timeout": number
      },
      "priceTypeId": number,
      "tradeGroupId": number,
      "filterByKassPresets": bool,
 
      "menuSelectorCode": number,
      "orderCategoryCode": number,
      "isShowBlocked": bool,
      "allExtendedProperties": bool
  }
}
CODE
ПараметрТипОбязательныйЗначение по умолчаниюОписание
taskType


Тип задачи
async


Асинхронный вызов метода (либо синхронный, либо асинхронный)
sync


Синхронный вызов метода (либо синхронный, либо асинхронный)
timeoutint-120Время ожидания ответа от агента в секундах
objectIdint+
Код ресторана в системе лицензирования

priceTypeId

int-

Идентификатор типа цены. Если не указан, используется тот, что указан в конфигурации

tradeGroupId

int-
Идентификатор торговой группы. Если не указан, используется тот, что указан в конфигурации
filterByKassPresetsbool-true

Если false, то будет отдано полное меню, без фильтрации с помощью команды r_keeper GetOrderMenu (где фильтрация идёт с учётом настроек кассы, кассира и т.п.)

menuSelectorCodeint-

Код селектора меню для построения дерева категорий блюд (и их дополнительной фильтрации).

Если не указан, используется параметр DefaultMenuSelectorCode из раздела r_keeper: OrderCreationPreferences конфигурации Агента.

Если и в конфигурации не задан код селектора — возвращается меню без учёта селекторов

orderCategoryCodeint+

Код категории заказов, которые можно сделать по запрашиваемому меню.

Параметр становится не обязателен при выборе filterByKassPresets: false

isShowBlockedbool-false

Если true, то возвращает меню с заблокированными (в стоп листе) блюдами. У таких блюд есть параметр UnAvailable = true и отсутствует цена (price = 0)

allExtendedPropertiesbool-false

Если true, то возвращает список расширенных свойств для блюд


ФОРМАТ ОТВЕТА

ФОРМАТ ОТВЕТА

Успешный ответ

Успешный ответ

{
 "responseCommon": {
   "taskGuid": "string",
   "taskType": "GetMenuByParams",
   "objectId": 0
 },
 "taskResponse": {  // содержимое блока без парсинга на сервере
   "lastUpdatedAt": "2019-28-T15:00:00+03:00",
   "version": "number",
   "menu": {
      // Содержимое блока menu можно посмотреть здесь: https://docs.rkeeper.ru/ws/menu-77464440.html) 
}
CODE

Ответ с ошибкой

Ответ с ошибкой

{
  "responseCommon": {
    "taskGuid": "string",
    "taskType": "GetMenu",
    "objectId": number
  },
  "error": {
    "wsError": {
      "code": "string",
      "desc": "string"
    },
    "agentError": {
      "code": "string",
      "desc": "string"
    }
  }
}
CODE
ПараметрТипОписание
taskGuidguidУникальный код этой задачи используется при получении задачи через очередь
taskTypestring enumТип задачи
objectIdintКод ресторана в системе лицензирования
lastUpdatedAtstringВремя обновления меню в формате "2019-28-T15:00:00+03:00"
versionintВерсия данных в r_k справочнике Меню
menuobjectСодержимое блока menu можно посмотреть здесь: Menu
error
Контейнер ошибок, см Описание ошибок
wsError
Ошибка от сервера
agentError
Ошибка от агента
ПРИМЕРЫ СТРУКТУРЫ ЗАПРОСОВ

Примеры структуры запросов

Для этого случая важно, чтобы

  • для включения такого сценария нужно
    • либо параметр конфигурации агента RKeeper:OrderCreationPreferences:UseGetOrderMenuOnly был задан в true,
    • либо параметр запроса filterByKassPresets был установлен в true,
    • либо параметр filterByKassPresets отсутствовал в запросе;
    • orderCategoryCode
  • параметр запроса orderCategoryCode указывал код существующей категории заказа.
{
  "taskType": "GetMenuByParams",
  "params": {
      "sync": {
        "objectId": 199996011,
         "timeout": 120
      },
      "filterByKassPresets": true,
      "orderCategoryCode": 1,
      "allExtendedProperties": true
  }
}

Для этого случая важно, чтобы

  • параметр конфигурации агента RKeeper:OrderCreationPreferences:UseGetOrderMenuOnly
    • был false или
    • отсутсnвовал;
  • параметр запроса filterByKassPresets был установлен в false;
  • должна быть задана торговая группа (иначе фильтрации не будет)
    • либо параметр запроса tradeGroupId,
    • либо параметр конфигурации RKeeper:OrderCreationPreferences:TradeGroupId;
  • должен быть задан тип цены (иначе все цены будут нулевыми)
    • либо параметр запроса priceTypeId,
    • либо параметр конфигурации RKeeper:OrderCreationPreferences:PriceTypeId.
{
  "taskType": "GetMenuByParams",
  "params": {
      "sync": {
        "objectId": 199996011,
        "timeout": 120
       },
      "priceTypeId": 1,
      "tradeGroupId": 1,
      "filterByKassPresets": false,
      "menuSelectorCode": 1
  }
}

Чтобы блюда меню отдавались без учёта селекторов r_keeper, нужно, чтобы

  • в запросе отсутствовал параметр menuSelectorCode и
  • в конфигурации отсутствовал параметр RKeeper:OrderCreationPreferences:DefaultMenuSelectorCode.


{
  "taskResponse": {
    "menu": {
      "lastUpdatedAt": "2026-05-21T09:21:16+03:00",
      "version": 1212,
      "products": [
        {
          "id": "1000016",
          "code": "3",
          "categoryId": "1000015",
          "name": "Каша",
          "nameEng": "",
          "nameLang1": "",
          "nameLang2": "",
          "price": "220.00",
          "description": "",
          "descriptionEng": "",
          "descriptionLang1": "",
          "descriptionLang2": "",
          "measure": {
            "value": "0.500",
            "unit": "Милилитр",
            "priceMode": "PerPiece",
            "qntDecDigits": "3",
            "changeQntOnce": "false",
            "joinMode": "almJoinLines"
          },
          "imageUrls": [
            "URL://Test"
          ],
          "classificationIds": [
            "4193793"
          ],
          "exciseCode": "1",
          "globalTradeItemNumbers": "",
          "alcoholCodes": "",
          "openPrice": true,
          "guid": "9109673e-1fdb-4790-b8b1-cdfbee424dfe",
          "dishTaxes": {
            "groupName": "НДС 18%",
            "taxes": [
              {
                "taxName": "НДС",
                "rateName": "18,00 %",
                "rate": 18
              }
            ]
          },
          "protein": "2",
          "fat": "3",
          "carbohydrates": "4",
          "kcal": "1",
          "extProperties": {
            "NutritionalValue": ""
          }
        },
        {
          "id": "1000027",
          "code": "5",
          "categoryId": "1000015",
          "schemeId": "1000038",
          "name": "Чай",
          "nameEng": "",
          "nameLang1": "",
          "nameLang2": "",
          "price": "0.00",
          "description": "",
          "descriptionEng": "",
          "descriptionLang1": "",
          "descriptionLang2": "",
          "measure": {
            "value": "0.500",
            "unit": "кг",
            "priceMode": "PerPortion",
            "qntDecDigits": "3",
            "changeQntOnce": "false",
            "joinMode": "almJoinLines"
          },
          "imageUrls": [],
          "exciseCode": "1",
          "globalTradeItemNumbers": "",
          "alcoholCodes": "",
          "openPrice": false,
          "guid": "024e8465-9b3b-44a4-a92b-b540cd62135e",
          "dishTaxes": {
            "groupName": "НДС 18%",
            "taxes": [
              {
                "taxName": "НДС",
                "rateName": "18,00 %",
                "rate": 18
              }
            ]
          },
          "protein": "",
          "fat": "",
          "carbohydrates": "",
          "kcal": "0",
          "extProperties": {
            "NutritionalValue": ""
          }
        },
        {
          "id": "1000048",
          "code": "14",
          "categoryId": "1000015",
          "schemeId": "1000045",
          "name": "Комбообед",
          "nameEng": "",
          "nameLang1": "",
          "nameLang2": "",
          "price": "0.00",
          "description": "",
          "descriptionEng": "",
          "descriptionLang1": "",
          "descriptionLang2": "",
          "measure": {
            "value": "0.000",
            "unit": "шт",
            "priceMode": "PerPiece",
            "qntDecDigits": "0",
            "changeQntOnce": "false",
            "joinMode": "almJoinLines"
          },
          "imageUrls": [],
          "exciseCode": "1",
          "globalTradeItemNumbers": "",
          "alcoholCodes": "",
          "openPrice": false,
          "guid": "6100b042-8001-4a02-8d22-dcdc9bb87bc3",
          "extProperties": {}
        }
      ],
      "ingredients": [
        {
          "id": "2003",
          "code": "2003",
          "name": "ЕГАИС EAN13",
          "nameEng": "",
          "nameLang1": "",
          "nameLang2": "",
          "price": "0.00",
          "imageUrls": [],
          "maxAmountForDish": 1,
          "openPrice": false,
          "guid": "efc3e355-9b52-4b05-ab20-3cdb1dfb028b"
        },
        {
          "id": "2012",
          "code": "2012",
          "name": "Маркированная продукция",
          "nameEng": "",
          "nameLang1": "",
          "nameLang2": "",
          "price": "0.00",
          "imageUrls": [],
          "maxAmountForDish": 1,
          "openPrice": false,
          "guid": "01938e73-f604-4dee-b4e8-e8fecbfe9597"
        },
        {
          "id": "1000036",
          "code": "10",
          "name": "Большой",
          "nameEng": "",
          "nameLang1": "",
          "nameLang2": "",
          "price": "120.00",
          "imageUrls": [],
          "maxAmountForDish": 1,
          "openPrice": false,
          "guid": "b89cc99a-c0c8-4d55-8f60-dd4834eb3b4d"
        },
        {
          "id": "1000037",
          "code": "9",
          "name": "Маленький",
          "nameEng": "",
          "nameLang1": "",
          "nameLang2": "",
          "price": "60.00",
          "imageUrls": [],
          "maxAmountForDish": 1,
          "openPrice": false,
          "guid": "9339e271-a619-4f6b-9530-2f1312932a3a"
        },
        {
          "id": "1000042",
          "code": "12",
          "name": "Каша",
          "nameEng": "",
          "nameLang1": "",
          "nameLang2": "",
          "price": "10.00",
          "description": "",
          "measure": {
            "value": "0.500",
            "unit": "Милилитр",
            "priceMode": "PerPiece",
            "qntDecDigits": "3",
            "changeQntOnce": "false",
            "joinMode": "almJoinLines"
          },
          "imageUrls": [],
          "maxAmountForDish": 1,
          "dishId": 1000016,
          "exciseCode": "1",
          "openPrice": false,
          "guid": "0e806fcf-6d01-4597-97d3-f56f41cd84da"
        },
        {
          "id": "1000066",
          "code": "18",
          "name": "Каша",
          "nameEng": "",
          "nameLang1": "",
          "nameLang2": "",
          "price": "220.00",
          "description": "",
          "measure": {
            "value": "0.500",
            "unit": "Милилитр",
            "priceMode": "PerPiece",
            "qntDecDigits": "3",
            "changeQntOnce": "false",
            "joinMode": "almJoinLines"
          },
          "imageUrls": [],
          "maxAmountForDish": 1,
          "dishId": 1000016,
          "exciseCode": "1",
          "openPrice": false,
          "guid": "2a3e6e39-40bd-4b1c-bd3a-8060c56ee22f"
        },
        {
          "id": "1000159",
          "code": "19",
          "name": "Комментарий к блюду (WSA)",
          "nameEng": "",
          "nameLang1": "",
          "nameLang2": "",
          "price": "0.00",
          "imageUrls": [],
          "maxAmountForDish": 1,
          "openPrice": false,
          "guid": "b649335f-5483-48f7-8c58-a0f7f279ec6e"
        }
      ],
      "categories": [
        {
          "guid": "133f0826-b8c9-42a3-9046-843a166548aa",
          "id": "1000015",
          "name": "Меню",
          "nameEng": "",
          "nameLang1": "",
          "nameLang2": ""
        }
      ],
      "ingredientsSchemes": [
        {
          "guid": "cdff65a1-9f41-4ba5-9cd9-4c6dcfe8f22e",
          "id": "2007",
          "name": "РОССИЯ: ЕГАИС",
          "ingredientsGroups": [
            {
              "id": "2001",
              "minCount": 1,
              "maxCount": 1,
              "changesPrice": false,
              "freeCount": 0
            },
            {
              "id": "2002",
              "minCount": 1,
              "maxCount": 1,
              "changesPrice": false,
              "freeCount": 0
            }
          ],
          "nameEng": "",
          "nameLang1": "",
          "nameLang2": ""
        },
        {
          "guid": "d75fb123-182b-4d66-b81d-344ccaa083a5",
          "id": "1000045",
          "name": "Комбообед",
          "ingredientsGroups": [
            {
              "id": "1000041",
              "minCount": 0,
              "maxCount": 0,
              "changesPrice": true,
              "freeCount": 0
            }
          ],
          "nameEng": "",
          "nameLang1": "",
          "nameLang2": ""
        },
        {
          "guid": "8b9ab728-4cd9-41c7-9d5e-9ed1ac30264b",
          "id": "1000061",
          "name": "тест Схема",
          "ingredientsGroups": [
            {
              "id": "1000059",
              "minCount": 1,
              "maxCount": 0,
              "changesPrice": true,
              "freeCount": 0,
              "defaultModifier": 1000063
            }
          ],
          "nameEng": "",
          "nameLang1": "",
          "nameLang2": ""
        }
      ],
      "ingredientsGroups": [
        {
          "guid": "a85561cc-a17e-4934-93ac-7c8ead6296fa",
          "id": "2011",
          "name": "ЕГАИС Маркированная продукция",
          "ingredients": [
            "2012",
            "2020"
          ],
          "nameEng": "",
          "nameLang1": "",
          "nameLang2": ""
        },
        {
          "guid": "3984b224-fbb9-4c7a-8602-f44ed4a9661a",
          "id": "2115",
          "name": "Объемно сортовой учет",
          "ingredients": [
            "2116"
          ],
          "nameEng": "",
          "nameLang1": "",
          "nameLang2": ""
        },
        {
          "guid": "9443f33e-888c-4493-b6e2-707e2bd0ff61",
          "id": "1000059",
          "name": "test",
          "ingredients": [
            "1000063",
            "1000066"
          ],
          "nameEng": "",
          "nameLang1": "",
          "nameLang2": ""
        }
      ],
      "classifications": [
        {
          "guid": "c65f9ac7-4324-4683-8b8d-3008a7495421",
          "id": "4193793",
          "parentId": "4193792",
          "code": "4193793",
          "name": "Еда"
        },
        {
          "guid": "651a79ed-86ff-4bcc-aaa6-316a78d41582",
          "id": "4193792",
          "code": "4193792",
          "name": "Plazius категории"
        }
      ]
    },
    "lastUpdatedAt": "2026-05-21T09:21:16+03:00",
    "version": 1212
  },
  "responseCommon": {
    "taskGuid": "9e2d8376-5076-43fd-bd7a-1d4297d4e4a7",
    "taskType": "GetMenuByParams",
    "objectId": 199996011,
    "agentGuid": "c415aa96-8952-4689-8fcb-c6c969e25aad"
  }
}
{
  "responseCommon": {
    "taskGuid": "94e95cb9-b5ee-4ccb-a04d-929cc798104b",
    "taskType": "GetMenuByParams",
    "objectId": 199996011,
    "agentGuid": "c415aa96-8952-4689-8fcb-c6c969e25aad"
  },
  "error": {
    "agentError": {
      "code": "WsaOrderError",
      "desc": "RkInternal: Касса [3181] OrderCategory с кодом '100' не найден."
    }
  }
}
{
  "responseCommon": {
    "taskGuid": "46f146fd-bb2c-41a8-b4aa-6587007bd0b4",
    "taskType": "GetMenuByParams",
    "objectId": 331760005
  },
  "error": {
    "wsError": {
      "code": "Timeout",
      "desc": "Agent is offline or has been unresponsive"
    }
  }
}


запросов