Наверх

Разделы API » Получение меню

На этой странице описывается, как получать все виды меню.

Название метода

menu/get

Описание метода

Для получения любого из существующих видов меню используется метод menu/get.

Все виды меню на РестоБазе имеют разделы (например, для основного меню это могут быть разделы типа "Закуски", "Супы" и т.д.). Метод menu/get возвращает список всех разделов нужного вам меню, а также список позиций из какого-то одного раздела. Т.е. получить одновременно все позиции меню невозможно. Это связано с тем, что позиций может быть много, и в каждой позиции могут быть фотографии.

Параметры метода

Название параметра Обязательный Описание и возможные значения Пример значения
v да

Версия метода. Текущая версия метода - 2.

2

menu_type да

Название меню, позиции которого необходимо получить. Возможные значения:

  • main - основное меню
  • wine - карта вин
  • bar - карта бара
  • banquet - банкетное меню
  • standing - фуршетное меню
  • children - детское меню
  • lent - постное меню
  • hookah - кальянное меню

main

section_id нет

Уникальный номер раздела меню.

Если параметр отсутствует, пустой, или равен false, то возвращается информация о позициях в первом разделе меню.

77

Пример запроса

Получить позиции первого раздела из основного меню ресторана:


<?php

include ('restobaza.class.php');  

$config = array(
  
"co_id" => 1,
  
"app_id" => 6,
  
"app_secret" => 'tc1a7g8b12dbd445'
);

$restobaza = new Restobaza($config);

$api_params = array(
  
"v" => 2,
  
"menu_type" => 'main',
  
"section_id" => false
);
 
$rb_response $restobaza->api('menu/get'$api_params);

?>

Пример ответа

Если меню не было заполнено, то в ответе будет пустой массив. Если меню было заполнено:

{
    "sections": [
        {
            "id": "80",
            "name": "Блюда из птицы"
        },
        {...}
    ],
    "active_section": {
        "id": "80",
        "name": "Блюда из птицы",
        "positions": [
            {
                "id": "392",
                "name": "Шашлык из курицы",
                "yield": "200",
                "description": "",
                "price": "310",
                "photo": {...}
            },
            {...}
        ]
    }
}

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

В ответе (для всех видов меню), список доступных разделов меню содержится в ключе sections. В ключе active_section содержится информация о том, какой раздел меню выбран, а также список позиций для выбранного раздела.

Вы можете посмотреть описания ответа для нужного вида меню, выбрав соответсвующий пункт в меню слева.

Получение нужного раздела меню

Чтобы получить позиции не из первого раздела меню, в параметре section_id нужно передать ID необходимого раздела. Список доступных ID содержится в ключе sections предыдущего ответа API.

Различия между видами меню

Виды меню различаются тем, что в ответе ключи sections и active_section содержат немного разную информацию, адапитрованную под конкретный вид меню.

Следующие виды меню имеют одинаковую структуру, что позволяет использовать одинаковый код для отображения этих меню на сайте ресторана:

  • main - основное меню
  • banquet - банкетное меню
  • standing - фуршетное меню
  • children - детское меню
  • lent - постное меню

Следующие виды меню отличаются от основного меню, и имеют разную структуру:

  • wine - карта вин
  • bar - карта бара
  • hookah - кальянное меню