iiko — частые проблемы

Здесь собраны нетривиальные ситуации, с которыми сталкиваются при настройке iiko, и проверенные решения. Если что-то ведёт себя неожиданно — сначала загляни сюда.

🔑 Главное правило. Источник правды для iiko — номенклатура в iikoOffice/BackOffice, а не внешнее меню iikoWeb. Внешнее меню — это витрина поверх номенклатуры. Кнопка «Обновить данные» во внешнем меню перетягивает значения из номенклатуры (названия, цены, вес, КБЖУ, фото) и перезаписывает то, что ты правил руками в самой витрине. Поэтому вес, цены и названия задавай в карточках товаров и модификаторов в iikoOffice, и только потом обновляй внешнее меню.


Вес блюда/размера сбрасывается на 1000 г после «Обновить данные»#

Симптом. Выставляешь каждому размеру свой вес во внешнем меню, жмёшь «Обновить данные» — вес становится 1000 г (дефолт), хотя фото, цена и КБЖУ сохранились.

Почему. При обновлении вес подтягивается из карточки товара в номенклатуре iikoRMS. Если для размера там вес не задан, iikoWeb ставит дефолт (1000 г) и затирает твоё ручное значение в витрине.

Что делать. Задай вес в карточке товара в iikoOffice (BackOffice), и только потом обновляй внешнее меню:

  • Блюдо — вес = «Выход» по технологической карте (вкладка «Технологические карты»). Если есть размеры — вкладка «Шкала размеров», у каждого размера свой выход.
  • Товар / простой продукт — вкладка «Единицы измерения» → поле «Суммарный фактический выход на 1 норму закладки (вес 1 единицы измерения), кг.». По умолчанию там 1,0000 (= 1000 г) — это и есть тот самый дефолт. Впиши реальный вес в килограммах: 30 г → 0,030, 250 г → 0,250.

После этого жми «Обновить данные» во внешнем меню — корректный вес подтянется сам и не будет сбрасываться.


Модификаторы теряют цену и название после «Обновить данные»#

Симптом. После обновления данных у модификаторов пропадает цена, а название превращается в «Несколько вариантов». Чтобы цена и название вернулись, приходится синкать каждый модификатор вручную, открывая его карточку.

Почему. «Обновить данные» перезаписывает модификаторы из справочника номенклатуры iikoRMS. Если в карточке модификатора цена/название заданы не полностью или особым образом — после обновления они отображаются некорректно. «Несколько вариантов» появляется, когда у позиции несколько вариантов цены/размера и однозначное значение не определено.

Что делать. Открой карточку модификатора в iikoOffice (BackOffice):

  1. Цена. Блок «Прейскурант» на «Основные свойства»: мало задать «Цену по приказу» — модификатор должен быть включён в прайс-лист. Поставь галку «Все места продаж» (или Бар + Зал) в таблице «Включать в прайс-лист». Если галки сняты — у модификатора нет активной цены, и во внешнем меню поле «Цена» останется пустым.
  2. Вес. Вкладка «Единицы измерения» → «Суммарный фактический выход на 1 норму закладки (вес 1 единицы измерения), кг.» — впиши реальный вес в кг (у модификатора-товара тех-карты обычно нет, поэтому вес только здесь).
  3. Затем во внешнем меню нажми «Обновить данные» — название/цена/вес подтянутся из номенклатуры корректно и без ручного дёргания каждого модификатора.

💡 Сравни с блюдом, у которого цена тянется нормально: у него в «Включать в прайс-лист» галка «Все места продаж» стоит. У «сломанного» модификатора она снята — это и есть причина пустой цены.


Вес модификатора не сохраняется во внешнем меню#

Симптом. Ставишь вес модификатору (например, 25 г), сохраняешь, открываешь заново — снова 1000 г.

Почему. В текущей версии iikoWeb вес для модификаторов во внешнем меню может не поддерживаться и сбрасывается при обновлении.

Что делать. Указывай вес в карточке самого товара-модификатора в iikoOffice — вкладка «Единицы измерения», поле «Суммарный фактический выход на 1 норму закладки (вес 1 единицы измерения), кг.» (по умолчанию 1,0000 = 1000 г; впиши реальный вес в кг). Внешнее меню iikoWeb здесь не источник правды. Учитывай: в мини-приложении Нямбота вес у ингредиентов-модификаторов не показывается, так что для витрины это не критично — важны название и цена.


Заказ оформлен в боте, но не приходит на кассу#

Симптом. Клиент оформил заказ, в боте «Заказ оформлен», а на экране «Доставка» кассы заказа нет. В «Настройках Cloud API → Организации» у заказа в колонке «Статусы последних заказов» горит красный кружок, при наведении — «Отсутствовала связь между терминальной группой и Cloud API».

Почему. Заказ ушёл, но терминальная группа (касса) в этот момент была не на связи с Cloud API: либо касса/смена не запущены, либо не работает транспортный плагин, либо группе не разрешён доступ через Cloud API. Признак — статус группы «грустный» 😞 или красный, а «Доступность устройства» серая.

Что делать (проверь по порядку, это же — Шаг 5 на странице Подключение):

  1. Запусти кассу iikoFront и открой кассовую смену. Выключенная касса заказы не принимает.
  2. Убедись, что на кассе работает транспортный плагин (iikoTransport). В «Настройках Cloud API → Организации» статус нужной группы должен стать «улыбающимся» 😊. Если 😞 — перезапусти кассу/плагин.
  3. Поставь галку доступа. «Настройки Cloud API → Организации → [ресторан] → „Основное“ → „Разрешить доступ к терминальным группам“» — отметь группу, где принимаются доставочные заказы, и сохрани.

Как это видно со стороны Нямбота. Такой заказ помечен красным «Не ушёл в кассу» в списке заказов СРМ и на карточке в приложении «Команда» — искать его по кассе не нужно, метка видна сразу в строке. Если причина в ключе доступа или в лимите запросов кассы, вверху страницы Интеграции → POS-системы будет плашка с объяснением. 🔴 Заказ, помеченный меткой, заведи в кассе руками: повторных отправок нет, а гость уже ждёт еду.

Красный кружок в «Статусах последних заказов» относится к тому моменту времени, когда заказ отправлялся. После того как настроишь кассу и группа станет 😊, оформи новый заказ — он появится на экране «Доставка» во вкладке «Новые» со статусом «Пора готовить». Старые красные отметки в истории так и останутся — это нормально.


Заказ приходит на кассу, но имя/адрес разнесены неправильно#

Симптом. Заказ долетел, но в карточке iiko фамилия попала в поле «Имя/Отчество», номер дома «прилип» к строке адреса хвостом, а в «Примечании к адресу» лежит копия всего адреса.

Почему. Это нюансы того, как данные клиента и адрес раскладываются по полям iiko. Над разбивкой ФИО и структурой адреса (улица / дом / квартира) Нямбот работает.

Что делать. На приём заказа и его сумму это не влияет — заказ корректный, его можно готовить и везти. Если поля разъехались критично — поправь их прямо в карточке заказа на кассе. О систематических случаях сообщи в поддержку Нямбота.


Два разных «внешних меню» — частая путаница#

В iiko есть два объекта с похожим названием, и Нямбот работает только с одним:

Где находитсяДля чегоЧитает ли Нямбот
iikoWeb → Внешние заказы → Внешние менювитрина для доставки/мини-аппаДа (Cloud API)
iikoOffice → iiko.cards → «Выгрузка меню»меню для лояльности iikoCardНет

Что делать. Наполняй и публикуй именно вариант в iikoWeb → Внешние заказы → Внешние меню, и его ID указывай в СРМ. Подробнее — на странице Подключение.


Состав групп модификаторов не меняется при «Обновить данные»#

Симптом. Добавил новый ингредиент в группу («Добавить по вкусу», «Можно убрать»), нажал «Обновить данные» — новый ингредиент в группе не появился.

Почему. Состав групп модификаторов фиксируется в момент генерации внешнего меню из номенклатуры. Карандаш у группы во внешнем меню — это только переименование. «Обновить данные» обновляет значения (названия, цены, фото, КБЖУ, количество), но не состав групп.

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


iiko обновляет данные не всегда с первого раза#

Симптом. Поправил что-то в номенклатуре или перегенерировал внешнее меню, а изменения во внешнем меню (а затем и в Нямботе) не подтянулись.

Почему. Это поведение самого iiko — обмен данными между номенклатурой и внешним меню иногда срабатывает не с первой попытки.

Что делать. Подожди немного и повтори «Обновить данные» ещё раз. Убедись, что во внешнем меню всё на месте, и только после этого запускай синхронизацию в Нямботе (СРМ → Интеграции → кнопка синхронизации).


Блюдо не передаётся во внешнее меню / меню пустое#

Что проверить:

  • Артикул без тире и дефисов. Если в артикуле товара есть -, блюдо может не передаться. Используй чистые числовые артикулы (например, 00005).
  • «Все места продаж». У блюда должно быть выставлено место продаж, к которому привязана твоя касса (или «Все места продаж»).
  • Цена для нужной организации/ТТ. Цена берётся для выбранной организации. Если у блюда нет цены для этой ТТ — Нямбот считает его недоступным, и в витрине оно не появится.
  • Меню опубликовано. Несобранное или неопубликованное внешнее меню не синхронизируется. Поле «ID внешнего меню» в СРМ обязательно.

Картинки блюд не отображаются#

Почему. Фото блюда живёт во внешнем меню iikoWeb, а не в карточке номенклатуры (в API номенклатуры фото не отдаётся). Картинки лежат на внешнем CDN iiko и подтягиваются в витрину по ссылке.

Что делать. Добавь фото каждому блюду во внешнем меню iikoWeb. После синхронизации Нямбот покажет именно эти изображения. Если фото так и не появилось — проверь, что оно реально прикреплено в карточке блюда внешнего меню, и повтори обмен/синхронизацию.


Скидка на кассе не совпадает со скидкой в приложении#

Симптом. Поменял настройку программы лояльности в iiko (тип скидки, проценты, «любые блюда → выбранные категории», тиры и т.п.), а в мини-приложении превью скидки одно, на чеке кассы — другое. Пример: скидку перевёл на категорию «Напитки» — в приложении скидка только на напиток, а касса срезала 10% со всего заказа (включая соус).

Почему. После изменения программы в iikoWeb/iikoCard новые правила не долетают до терминала кассы сами. Касса продолжает применять старую конфигурацию. Превью в мини-приложении берётся из актуального облачного расчёта iiko, а касса считает по старому — отсюда расхождение.

Что делать. Пересинхронизируй кассу после любой правки программы (iikoOffice, порядок важен):

  1. iikoCard → Настройка iikoCard → Основные настройки → «Переподключиться».
  2. «Сопоставление акций и скидок» → «Получить маркетинговые акции» (дождись «Список успешно обновлён»; тут же проверь маппинг программы → iikoCard-скидка).
  3. «Сохранить и закрыть».
  4. «Состояние подключения» → «Обновить».

После пересинка приложение и чек сойдутся. Подробнее про сопоставление — Программы через iikoCard.


Чего iiko не передаёт (это не ошибка Нямбота)#

  • Объём (мл) и расписание меню — iiko их не отдаёт, поэтому для iiko-позиций эти поля остаются пустыми. Передаётся только вес (в граммах).
  • Неудаляемый «Состав» (то, что нельзя убрать или добавить) Cloud API не отдаёт отдельным списком. Если нужно показать состав текстом — впиши его в описание блюда во внешнем меню iikoWeb.
  • Редактирование меню и модификаторов iiko в СРМ недоступно — они только для чтения. Меняй всё в iiko, и при следующей синхронизации данные обновятся.

💡 Как настройки групп модификаторов превращаются в секции мини-аппа (переключатели, «Можно убрать», «Добавить по вкусу») — разобрано на странице Модификаторы и мини-приложение.