Документация › Интеграции › iiko
iiko для ресторанов
Бот смотрит занятость комнат и столов по броням в iiko, ставит бронь прямо на кассу ресторана и отвечает по стоп-листу. Администратор подтверждает бронь в своей же программе, а не в отдельном чате.
⏱ 8 мин · 👤 для владельца · 🟢 live
За 30 секунд:
- Нужны три значения: ключ API ресторана (iikoWeb → Интеграции → API-ключи), App ID и Client Secret приложения с портала разработчика iiko (api.iiko.help).
- После подключения нажмите «Синхронизировать залы» и отметьте, какой зал это комнаты (каждый стол = комната), какой общий зал, а какие залы бот не трогает («на вынос», кофейня).
- Функции бота добавляются из каталога, категория «Ресторан: iiko»: свободны ли комнаты, бронь в iiko, брони гостя, стоп-лист.
- Брони через API включает ресторан или его дилер iiko. Пока они выключены, бот честно работает по старинке: заявка администратору карточкой.
Что понадобится
| Что | Где взять | Зачем |
|---|---|---|
| Ключ API ресторана (apiKey) | iikoWeb → Интеграции → API-ключи, создаёт ресторан или его дилер | доступ к организации, залам, броням и стоп-листам этого ресторана |
| App ID и Client Secret | портал разработчика iiko https://api.iiko.help/: регистрация компании, профиль, приложение типа Server-to-Server. Client Secret показывается один раз | вход нового поколения: без реквизитов приложения ключ ресторана не пускает |
| Брони (резервы) включены на кассе | ресторан или дилер iiko | иначе бот не увидит занятость и не поставит бронь |
Подключение за 5 шагов
- Интеграции → iiko → «Подключить». Вставьте ключ ресторана, App ID и Client Secret, нажмите «Проверить и сохранить». Платформа получит токен, покажет организацию и кассы. Ключи хранятся зашифрованными, повторно на экране не показываются.
- Выберите кассу (терминальную группу), к которой привязаны залы. У ресторана с кофейней их две.
- «Синхронизировать залы». Появятся залы и столы как они заведены в iiko. Для каждого зала выберите роль: Комнаты (каждый стол это отдельная комната или кабина, бот называет их по имени), Общий зал (бот считает свободные столы) или Не использовать.
- Вместимость. Если в iiko у столов не заполнена вместимость (часто так), впишите её здесь: по ней бот подбирает комнату под число гостей. Подпись к столу (например, «свой санузел») бот тоже видит.
- Настройки брони: сколько минут занимает одна бронь (по умолчанию 3 часа) и зазор между бронями одного стола. Сохраните.
Дальше добавьте боту функции из каталога Функции → Добавить → «Ресторан: iiko». Рекомендуемый набор: «Свободны ли комнаты и столы», «Бронь в iiko», «Брони гостя». «Стоп-лист iiko» имеет смысл, когда меню ресторана выгружено в облако iiko.
Как бот бронирует
- Гость назвал дату, время и число гостей. Бот вызывает «Свободны ли комнаты и столы» и получает: какие комнаты свободны на это время, какие подходят по числу гостей, сколько столов свободно в зале.
- Гость выбрал. Бот вызывает «Бронь в iiko»: занятость проверяется ещё раз, бронь ставится на кассу со статусом «новая». Телефон гостя берётся из WhatsApp сам, бот его не спрашивает.
- Бронь попадает и в раздел «Записи» проекта: напоминание гостю уйдёт по вашим настройкам.
- Администратор видит бронь на кассе и подтверждает там. Если включён вебхук (кнопка «Включить вебхук» в настройках iiko), платформа узнаёт о подтверждении и отмене сама.
Касса выключена или iiko не отвечает: функция говорит об этом боту, и он передаёт заявку администратору обычной карточкой (функция «Уведомление в Telegram»). Гостю о технике бот не рассказывает.
Что бот НЕ делает через iiko
- Не переносит и не отменяет брони сам: в iikoCloud API таких операций нет. Бот находит бронь гостя («Брони гостя») и передаёт просьбу администратору.
- Не выбирает конкретный стол в общем зале за гостя: он проверяет, что свободный стол есть, и ставит бронь на первый подходящий. Пересадить может администратор на кассе.
- Не берёт меню из iiko: цены и состав бот читает из вашей базы знаний. Из iiko идут только брони и стоп-лист.
Частые вопросы
Проверка проходит, а «Свободны ли комнаты» отвечает «брони выключены». У ресторана не включён модуль резервов для API: платформа видит это по пустому ответу iiko. Попросите ресторан или дилера включить резервы для кассы, после этого нажмите «Синхронизировать залы».
У всех столов вместимость 0. Так iiko отдаёт незаполненные поля. Впишите вместимость в настройках интеграции или попросите ресторан заполнить её в iikoOffice.
Client Secret потерян. На портале разработчика iiko в настройках приложения есть «Сбросить Client Secret». Новый впишите в настройки интеграции, старый перестанет работать.
Можно ли подключить несколько ресторанов группы? Да, каждый ресторан это отдельный проект со своим ключом API, приложение с портала одно на все.
Связано: Обзор интеграций · Запись на время · Функции