Меню торговой точки

Общие концепции

Меню в заведении разбито на группы. При этом группы могут быть вложенными. Меню запрашивается на каждую торговую точку отдельно (в каждой торговой точке могут быть свои позиции и разные цены).

Меню в заведении разбито на два вида: блюда (то что готовится на точке по рецепту, например напитки или хот доги) и обычные товары, которые перепродаются в том виде, в котором их закупили (например, банка кока-колы).

Блюда имеют 1 или несколько вариантов порций (размеров). Например, Капучино может быть 250мл или 400мл. Цена задается на каждую порцию блюда отдельно.

В блюда можно добавлять добавки (например, сироп в кофе или выбор сосиски в хот-доге). Все добавки так же разбиты на группы. В каждом блюде указано, какие группы добавок разрешены для данного блюда (и сколько из них гость может выбрать бесплатно).

Блюда, размеры порций, товары, добавки определяются уникальным идентификатором (поле guid), которые необходимо передавать в заказе. guid не меняется со временем, его можно запомнить на своей стороне для дальнейшей работы.

GET https://api.ytimes.ru/ex/menu/v2/group/list

Получение структуры групп меню всего аккаунта или отдельной торговой точки. Запрашивать данный метод можно не чаще 10 раз в час (данные закешировать на своей стороне, запрашивать обновленную версию при получении webhook о том, что меню изменилось).

Query Parameters

NameTypeDescription

shopGuid

string

GUID торговой точки, для которой запрашивается меню. Если не указать, в ответ поступит меню всего аккаунте

Headers

NameTypeDescription

Authorization*

string

Ключ авторизации

{
  "success": true,
  "count": 5,
  "rows": [{
    "guid": "fd0cb63e-294f-4e83-b9cc-66344fb8cbcb",
    "name": "Основное меню",
    "priority": 0,
    "imageLink": url картинки, если она задана
    "groupList": [],  список вложенных групп
  }, {
    "guid": "0357c53c-0d1d-43fb-8617-36c4d6d6f96c",
    "name": "Выпечка и десерты",
    "priority": 10000,
    "imageLink": url картинки если она задана
    "groupList": [],  список вложенных групп
  }, {
    "guid": "6254ed51-9ee0-431e-9163-7d66aec868d6",
    "name": "Сувениры и подарки",
    "priority": 10000,
    "imageLink": url картинки если она задана
    "groupList": [],
  }],
  "error": null,
}

GET https://api.ytimes.ru/ex/menu/item/list

Получение структуры меню торговой точки для создания заказов. Запрашивать данный метод можно не чаще 10 раз в час (данные закешировать на своей стороне, запрашивать обновленную версию при получении webhook о том, что меню изменилось).

Query Parameters

NameTypeDescription

shopGuid*

string

GUID торговой точки, для которой запрашивается меню

Headers

NameTypeDescription

Authorization*

string

Ключ авторизации

{
  "success": true,
  "count": 5,
  "rows": [{
    "guid": "fd0cb63e-294f-4e83-b9cc-66344fb8cbcb",
    "name": "Основное меню",
    "priority": 0,
    "imageLink": url картинки, если она задана
    "categoryList": [],
    "itemList": [{
      "guid": "3663db4a-422f-4701-a216-7915c0f25b92",
      "name": "Эспрессо",
      "priority": 0,
      "imageLink": url картинки если она задана
      "description": описание пункта меню
      "recipe": описание рецепта приготовления блюда
      "typeList": [{
        "guid": "ab59e06f-5cc5-458b-9c82-d353fc05db3d",
        "name": "30мл",
        "price": 60,
        "isTogo": true
      }, {
        "guid": "ed6fb1b6-8f80-4c28-8216-eebf7cefa3b5",
        "name": "60мл",
        "price": 90,
        "isTogo": true
      }],
      "supplementCategoryToFreeCount": null,
      "defaultSupplements": [],
    }, {
      "guid": "733fa8dc-dea9-4ef2-a3d6-edb5c0c3eb8e",
      "name": "Американо",
      "priority": 1,
      "imageLink": url картинки если она задана
      "description": описание пункта меню
      "recipe": описание рецепта приготовления блюда
      "typeList": [{
        "guid": "4a0d08da-ebf3-497f-8e85-7200369c1354",
        "name": "250мл",
        "price": 90,
        "isTogo": true
      }, {
        "guid": "5ef722fd-e933-44a5-a148-7ac97dee589b",
        "name": "400мл",
        "price": 120,
        "isTogo": true
      }],
      "supplementCategoryToFreeCount": {
        "ed6fb1b6-8f80-4c28-8216-ed6fb1b6": 0,
        "794545c2-2dc1-47ee-95a8-4b9f830a": 0,
        "1584ff15-7b89-458e-99e8-f9dc7dfa": 0
      },
      "defaultSupplements": [],
    }, {
      "guid": "88f566f9-6546-4794-a2fd-26bbd9e736d7",
      "name": "Капучино",
      "priority": 2,
      "imageLink": url картинки если она задана
      "description": описание пункта меню
      "recipe": описание рецепта приготовления блюда
      "typeList": [{
        "guid": "2b1b2bd9-ed7c-4562-858c-b7792f3e8746",
        "name": "250мл",
        "price": 120,
        "isTogo": true
      }, {
        "guid": "9e72f0ee-1f54-40ae-b9b5-a7ba4588b015",
        "name": "400мл",
        "price": 170,
        "isTogo": true
      }],
      "supplementCategoryToFreeCount": {
        "ed6fb1b6-8f80-4c28-8216-ed6fb1b6": 0,
        "794545c2-2dc1-47ee-95a8-4b9f830a": 0,
        "1584ff15-7b89-458e-99e8-f9dc7dfa": 0
      },
      "defaultSupplements": [],
    }],
    "goodsList": [],
  }, {
    "guid": "0357c53c-0d1d-43fb-8617-36c4d6d6f96c",
    "name": "Выпечка и десерты",
    "priority": 10000,
    "imageLink": url картинки если она задана
    "categoryList": [],
    "itemList": [],
    "goodsList": [{
      "guid": "52ff15ae-6869-4120-b422-738c44e8bf48",
      "name": "Круассан",
      "priority": 0,
      "price": 100,
      "imageLink": url картинки если она задана
      "description": описание пункта меню
      "recipe": описание рецепта 
    }, {
      "guid": "ce1e0ee9-4a08-4784-b40a-96897d3ad7b2",
      "name": "Пончик",
      "priority": 1,
      "price": 60,
      "imageLink": url картинки если она задана
      "description": описание пункта меню
      "recipe": описание рецепта
    }],
  }, {
    "guid": "6254ed51-9ee0-431e-9163-7d66aec868d6",
    "name": "Сувениры и подарки",
    "priority": 10000,
    "imageLink": url картинки если она задана
    "categoryList": [],
    "itemList": [],
    "goodsList": [{
      "guid": "9161f46d-ad85-49fd-93ff-b88f39544e51",
      "name": "Подарочный сертификат",
      "priority": 2,
      "price": 150,
      "imageLink": url картинки если она задана
      "description": описание пункта меню
      "recipe": описание рецепта
    }],
  }],
  "error": null,
}

GET https://api.ytimes.ru/ex/menu/supplement/list

Получение структуры добавок, которые можно добавлять в блюда. Запрашивать данный метод можно не чаще 10 раз в час (данные закешировать на своей стороне, запрашивать обновленную версию при получении webhook о том, что меню изменилось).

Query Parameters

NameTypeDescription

shopGuid*

string

GUID торговой точки, для которой запрашиваются данные

Headers

NameTypeDescription

Authorization*

string

Ключ авторизации

{
  "success": true,
  "count": 3,
  "rows": [
    {
      "guid": "b33596ac-bffa-4f6c-a497-fa753818adcd",
      "name": "Сиропы",
      "priority": 0,
      "allowSeveralItem": true,
      "maxSelectedCount": 3,
      "itemList": [
        {
          "guid": "c7ef8d4c-f72c-4171-a005-981cd15d4c6d",
          "name": "Амаретто",
          "priority": 0,
          "defaultPrice": 15,
          "defaultTogoPrice": 15,
          "menuTypeToPrice": null
        },
        {
          "guid": "59499009-efe4-4bc3-a752-863165ed99e3",
          "name": "Бабл Гамм",
          "priority": 1,
          "defaultPrice": 15,
          "defaultTogoPrice": 15,
          "menuTypeToPrice": null
        },
        {
          "guid": "01e80c9e-5cb5-4460-911b-27b0b7cf9050",
          "name": "Банан",
          "priority": 2,
          "defaultPrice": 15,
          "defaultTogoPrice": 15,
          "menuTypeToPrice": null
        }
      ]
    },
    {
      "guid": "6b21e491-75c0-442d-afd8-7cfdbadefa19",
      "name": "Молочко",
      "priority": 1,
      "allowSeveralItem": false,
      "maxSelectedCount": 1,
      "itemList": [
        {
          "guid": "a620755d-bc1a-467d-ad6f-98412b981864",
          "name": "Кокосовое молоко",
          "priority": 0,
          "defaultPrice": 0,
          "defaultTogoPrice": 50,
          "menuTypeToPrice": {
            "5ef722fd-e933-44a5-a148-7ac97dee589b": 70
          }
        },
        {
          "guid": "b492a0df-1a6c-4a0f-b4d1-7d28de1f52ba",
          "name": "Овсяное молоко",
          "priority": 1,
          "defaultPrice": 0,
          "defaultTogoPrice": 30,
          "menuTypeToPrice": {
            "5ef722fd-e933-44a5-a148-7ac97dee589b": 50
          }
        },
        {
          "guid": "fb280f5a-a0c7-4c2c-9a7a-4b4ea123f6cb",
          "name": "Соевое молоко",
          "priority": 2,
          "defaultPrice": 0,
          "defaultTogoPrice": 30,
          "menuTypeToPrice": {
            "5ef722fd-e933-44a5-a148-7ac97dee589b": 50
          }
        }
      ]
    },
    {
      "guid": "a8f6fa87-f85a-4235-a95f-3efe18678cf2",
      "name": "Прочее",
      "priority": 2,
      "allowSeveralItem": true,
      "maxSelectedCount": 2,
      "itemList": [{
          "guid": "d70f90e3-1f45-4a68-b1b6-9cd76d0bb0be",
          "name": "Корица",
          "priority": 4,
          "defaultPrice": 0,
          "defaultTogoPrice": 0,
          "menuTypeToPrice": null
        },
        {
          "guid": "6a83eae5-5585-465f-91b5-5030160dfe15",
          "name": "Сахар",
          "priority": 5,
          "defaultPrice": 0,
          "defaultTogoPrice": 0,
          "menuTypeToPrice": null
        },
        {
          "guid": "3e80a05d-f1c9-41b0-952b-4d9a709afdf7",
          "name": "Молоко",
          "priority": 6,
          "defaultPrice": 15,
          "defaultTogoPrice": 15,
          "menuTypeToPrice": null
        }
      ]
    }
  ],
  "error": null
}

Last updated