Описание


НазначениеЗапрос получения меню из кеша сервера
Тип запросаСинхронный

Для оптимизации времени получения ответа передавайте в заголовке gzip

Меню обновляется автоматически ежедневно утром в 8:00 и вечером, в 23:30 Обновить не по расписанию меню можно с помощью метода UpdateMenu.

Формат запроса

{
  "taskType": "GetMenu",
  "params": {
    "sync": {
      "objectId": 0,
      "timeout": 0
    }
  }
}

Описание параметров

ПараметрТипОбязательныйОписание
taskType

Тип задачи
sync

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


Формат ответа


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
       }
   ],
   "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

Описание полей можно посмотреть в базе знаний.


ПараметрТипОписание
taskGuidguidУникальный код этой задачи используется при получении задачи через очередь
taskTypestring enumТип задачи
objectIdintКод ресторана в системе лицензирования
error
Контейнер ошибок, внутри детализация по связанным системам
- wsError
Ошибки, получаемые от сервиса White Server
– codeintКод ошибки
– extCodestringРасширенный код ошибки
– descstringОписание ошибки

Запрос

{
  "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": "Меню объекта не найдено"
    }
  }
}