Разделы API » Получение меню
На этой странице описывается, как получать все виды меню.
Название метода
menu/get
Описание метода
Для получения любого из существующих видов меню используется метод menu/get.
Все виды меню на РестоБазе имеют разделы (например, для основного меню это могут быть разделы типа "Закуски", "Супы" и т.д.). Метод menu/get возвращает список всех разделов нужного вам меню, а также список позиций из какого-то одного раздела. Т.е. получить одновременно все позиции меню невозможно. Это связано с тем, что позиций может быть много, и в каждой позиции могут быть фотографии.
Параметры метода
| Название параметра | Обязательный | Описание и возможные значения | Пример значения |
v |
да | Версия метода. Текущая версия метода - 2. |
|
menu_type |
да |
Название меню, позиции которого необходимо получить. Возможные значения:
|
|
section_id |
нет | Уникальный номер раздела меню. Если параметр отсутствует, пустой, или равен |
|
Пример запроса
Получить позиции первого раздела из основного меню ресторана:
<?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- кальянное меню