R-keeper — частые проблемы
Нетривиальные ситуации при настройке R-keeper и проверенные решения. Если что-то ведёт себя неожиданно — сначала загляни сюда.
🔑 Главное правило. Меню R-keeper в Нямботе только для чтения — источник правды это твоя касса r_keeper (менеджерская станция). Название, цена, состав, модификаторы меняются в r_keeper; Нямбот синхронизирует то, что там заведено. В СРМ редактируются только своё фото блюда и дополнения к заказу.
Цены всех блюд приходят нулём (0 ₽)#
Симптом. Меню синхронизировалось, блюда видны, но у всех R-keeper-позиций цена 0 ₽ (вес и КБЖУ тоже пустые).
Почему. В r_keeper цены живут в прайс-листе (пресете кассы), привязанном к категории заказа. Нямбот запрашивает меню по категории доставки из маршрутизации подключения. Если категория не указана или у блюд нет цены в её прайс-листе — r_keeper возвращает цену 0.00.
Что делать.
- В СРМ → «Интеграции» → подключение R-keeper → «Маршрутизация заказа» убедись, что заполнено «Категория — доставка» (
orderCategoryCode). - В r_keeper проверь, что у блюд есть цена в прайс-листе этой категории (а не в каком-то другом).
- Нажми «Синхронизировать».
💰 Это сделано специально: Нямбот берёт цены из того же прайс-листа, по которому заказ ляжет в кассу, — поэтому цена в витрине = цена в чеке.
Часть блюд 0 ₽, остальные с ценой#
Симптом. У большинства блюд цены есть, а у нескольких — 0 ₽.
Почему. У этих конкретных позиций не задана цена в прайс-листе категории доставки (например, блюдо есть в основном меню, но в доставку цену не проставили).
Что делать. В r_keeper задай этим блюдам цену в нужном прайс-листе и пересинхронизируй. Если блюдо не должно продаваться в доставке — убери его из этой категории.
Не видно разных размеров блюда (пицца/роллы)#
Симптом. Хочешь показать пиццу в размерах 25/30/35 см, но в витрине либо одно блюдо, либо непонятная структура.
Почему. В R-keeper нет «размерной схемы» (как у iiko). Размеры заводятся одним из двух способов, и Нямбот показывает ровно то, что сделано в r_keeper.
Что делать. Выбери способ и заведи его в r_keeper: отдельные блюда на каждый размер или модификатор «Размер». Подробно с плюсами/минусами — Размеры блюд.
«Проверить соединение» не проходит#
Симптом. При подключении в СРМ проверка объекта не проходит (ошибка соединения/авторизации).
Почему. Касса или агент на объекте не на связи с White Server, либо не выданы лицензии.
Что проверить (на стороне r_keeper / у дилера):
- WSAgent запущен на объекте (службы агента работают).
- Кассовый сервер r_keeper запущен и подключён к агенту (RKMid онлайн).
- Лицензии White Server активны на объекте в
l.ucs.ru. - Код объекта верный — тот же, что в
l.ucs.ru.
Эти вещи настраиваются при установке кассы. Если проверка не проходит — обратись к дилеру r_keeper, который ставил кассу и WSAgent.
Заказ не уходит в кассу: «Тип заказа не подходит категории»#
Симптом. Заказ оформлен (клиент видит «Заказ принят»), но в кассе его нет — касса отклонила его с ошибкой вида «Тип заказа “Самовывоз” не подходит выбранной категории “WSA: Самовывоз”». Частый случай: доставка уходит в кассу нормально, а самовывоз — нет (или наоборот).
Почему. В r_keeper категория заказа и тип заказа должны быть совместимой парой: у категории в разделе «Order Types Usage» должен быть отмечён нужный тип. Ошибка возникает в двух случаях: (1) в маршрутизации Нямбота указана несовместимая пара кодов, либо (2) пара кодов верная, но у категории не отмечен этот тип в «Order Types Usage».
Что делать.
- В менеджерской r_keeper открой Order → Order Categories → нужную категорию (например, «WSA: Самовывоз»). В её свойствах раздел «Order Types Usage» — поставь галку на нужном типе (например, «Самовывоз»). Проверь то же для категории доставки (тип «Доставка курьером»).
- Открой Order → Order Types → этот тип → убедись, что Status = Активный и Right Level = Права WSA (без прав WSA касса тип не примет).
- Save References и перезапусти кассу (перечитать справочники), затем на кассе — перелогин.
- Сверь, что коды в СРМ → «Интеграции» → подключение R-keeper → «Маршрутизация заказа» (поля «Категория/Тип — доставка» и «Категория/Тип — самовывоз») совпадают с Code этих категорий и типов в r_keeper (маршрутизация берёт именно поле Code, не External Code).
- Оформи тестовый заказ нужного типа заново — теперь он должен уйти в кассу.
Заказ не уходит в кассу: «не указан стол» / «нет кассы с принтером»#
Симптом. Касса отклоняет заказ из-за стола или принтера.
Почему.
- Стол. Доставочный заказ White Server кладёт на стол виртуального зала WSA. Если стол не указан или не существует — ошибка.
- Принтер. Кассовой станции для приёма заказа нужен назначенный принтер (для пречеков/чеков).
Что делать (в менеджерской r_keeper, обычно это делает дилер при установке):
- Создай стол в зале «Виртуальный зал WSA» (Options → Tables and Plans) и впиши его код в поле «Код стола» маршрутизации СРМ.
- Назначь станции принтер (Drivers → Windows printer → Printer Assignments).
Имя/адрес в заказе на кассе показались «крокозябрами»#
Симптом. В карточке заказа на кассе кириллица (имя клиента, адрес, комментарий) отображается нечитаемо.
Почему. Это артефакт ручных тестовых запросов в неверной кодировке. Боевой Нямбот шлёт данные в UTF-8 — у реальных заказов из мини-приложения такой проблемы нет.
Что делать. Ничего: на реальных заказах кодировка корректная. Имена блюд берутся из номенклатуры r_keeper и всегда читаемы.
Заказ открыт на кассе — Нямбот не может его изменить#
Симптом. Гость отменил заказ или он не был оплачен вовремя, у гостя и в «Команде» заказ снят — а на кассе он остался. То же бывает с оплатой: Нямбот принял деньги, а на кассе заказ по-прежнему открыт.
Почему. Пока кассир держит заказ открытым на своём экране, r_keeper не отдаёт его никому другому: заказ «заблокирован ключом блокировки» той станции и того оператора, кто его открыл. Ни оплатить, ни отменить, ни дописать поля в такой заказ Нямбот не может — это правило самой кассы, а не ограничение Нямбота. Блокировка держится и когда экран кассы заблокирован: заказ остаётся за кассиром, который его открыл, пока тот не выйдет из карточки.
Что делать.
- Выйди из карточки заказа на кассе, когда закончил с ним, — не держи заказы открытыми «про запас». Как только карточка закрыта, блокировка снимается сама.
- Отмену Нямбот досылает сам: пробует каждые пять минут в течение шести часов, и заказ снимется, едва касса его отпустит. Специально ничего нажимать не нужно.
- Если шесть часов прошли, а заказ в кассе всё ещё живой — сними его на кассе руками. Такой случай Нямбот записывает в журнал отказов, чтобы он не потерялся.
Статусы заказа обновляются с небольшой задержкой#
Симптом. Повар перевёл заказ в следующий статус, а в мини-приложении он обновился не мгновенно.
Почему. Статусы R-keeper Нямбот забирает опросом (поллингом) кассы, а не мгновенным пушем. Небольшая задержка — норма.
Что делать. Ничего — статус подтянется в течение короткого интервала опроса.
После синхронизации написано «частично»#
Симптом. Плашка «Синхронизация всех точек завершена» жёлтая, и рядом с числом обновлённых точек стоит «частично: 1».
Почему. Синхронизация — это несколько дел за один проход: меню, стоп-лист, справочники. Одно из них не сложилось, но и не упало: касса не ответила на часть запросов. Меню при этом выгрузилось, поэтому «с ошибкой» писать неправильно, а зелёную галочку такой проход не заслуживает — часть данных осталась прежней.
Что делать. Под плашкой перечислено, что именно не доработало и по какой точке — читай эту строку: она называет дело словами («касса не ответила на справочник кампаний — зеркала не сверены»). Дальше просто нажми синхронизацию ещё раз: чаще всего это разовое молчание кассы. Если повторяется — проверь, что касса на связи (кассовый сервер запущен, агент в сети).
Меню обновилось в r_keeper, но в Нямботе по-старому#
Симптом. Поправил блюдо/цену в r_keeper, а в витрине ещё старое.
Почему. Меню синхронизируется раз в сутки ночью. Сразу правки не подтягиваются сами.
Что делать. В СРМ → «Интеграции» нажми «Синхронизировать» у нужного подключения — обновится сразу. И помни: новые блюда/группы в r_keeper создаются в статусе «Черновик» — переведи их в «Активный», иначе в синк они не уедут.
На кассе R-keeper не вижу адрес доставки / комментарий целиком#
Симптом. В карточке заказа на кассе (плитка «WSA: Доставка») адрес и комментарий обрезаются многоточием «…», а полного адреса доставки не видно.
Почему. Плитка заказа на кассе r_keeper — это кухонная сводка: она короткая и обрезает длинный текст. Касса R-keeper показывает то, что нужно для приготовления: блюда, модификаторы (строками), короткую пометку. Полная логистика заказа живёт не на кассе.
Где смотреть полную информацию о заказе:
- Доставку везёт Нямбот (обычный случай, если у тебя нет модуля доставки r_keeper) — весь заказ целиком, без обрезки, видит администратор в приложении «Команда»: адрес доставки, подъезд/этаж/квартира, комментарий клиента, телефон, состав. Логистику (назначение курьера, статусы доставки) ведёт «Команда», касса R-keeper при этом — только кухня. Адрес в комментарий кассы в этой модели не дублируется (он и не нужен повару — заказ везёт курьер Нямбота).
- Доставку везёт R-keeper (у тебя настроен модуль доставки r_keeper) — адрес уходит в структурные поля доставки r_keeper (адрес, подъезд, этаж, квартира, координаты) и виден в модуле доставки кассы. В этой модели адрес дополнительно дублируется первой строкой комментария на плитке.
Что делать. Ничего чинить не нужно — это по устройству. Если ты на доставке Нямбота, полную карточку заказа открывай в приложении «Команда» (раздел заказов у администратора). Касса R-keeper покажет кухонную сводку.
💡 Сдача, приборы и пометка оплаты идут в комментарии заказа — отдельных полей у White Server для них нет. Убранные ингредиенты («Без: …») стоят в комментарии своего блюда — касса печатает его строкой прямо в составе позиции. Выбранные и добавленные модификаторы (основа, бортик, допы) показаны отдельными строками под блюдом, поэтому нигде не дублируются.
Чего R-keeper не передаёт (это не ошибка Нямбота)#
- Фото блюд White Server обычно не отдаёт — задай своё фото в Нямботе. → Дополнения.
- Состава блюда как справочника (тех-карта, список ингредиентов) White Server не отдаёт — если хочешь показать состав целиком, пиши его в описании блюда. Секция «Можно убрать» при этом работает: её собирает группа модификаторов без доплаты, гость снимает галку, и ингредиент уходит строкой «Без: …» на кассу — см. Модификаторы.
- Маркетинг (скидки, акции, лояльность, купоны) пока не синхронизируется — в проработке. Программы ведутся на стороне r_keeper.
- Редактирование меню R-keeper в СРМ недоступно — всё меняется в r_keeper, при следующей синхронизации обновится.
- Блюдо «за 0 ₽» касса не принимает. Если в заказе окажется позиция с нулевой ценой при ненулевой цене в прейскуранте, r_keeper отклоняет весь заказ: «цена (0.00) отличается от цены в прейскуранте». Поэтому подарок в R-keeper делается скидкой кассы (в том числе 100 %) или блюдом, у которого нулевая цена стоит в самом прейскуранте, — а не «той же позицией бесплатно».