r_keeper
GetMenu
Содержание инструкции:
Описание
Для оптимизации времени получения ответа передавайте в заголовке gzip.

Меню обновляется автоматически ежедневно утром в 8:00 и вечером в 23:30. Обновить не по расписанию меню можно с помощью метода UpdateMenu.
Формат запроса
{
  "taskType": "GetMenu",
  "params": {
    "sync": {
      "objectId": 0,
      "timeout": 0
    }
  }
}
Описание параметров
Формат ответа
{
 "responseCommon": {
   "taskGuid": "string",
   "taskType": "GetMenu",
   "objectId": 0
 },
 "taskResponse": {  
   "lastUpdatedAt": "2019-28-T15: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", // описание блюда или продукта
         "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"   // единица измерения: кг, литр, шт. Значение не словарное
        }
      ],
      "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", // описание ингредиента
        "imageUrls": ["string1", "string2"],  // массив картинок
        "measure" : {
            "value": "string",   // размер порции
            "unit": "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": "Меню объекта не найдено"
    }
  }
}