Разделы 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
- кальянное меню