R-keeper — частые проблемы

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

🔑 Главное правило. Меню R-keeper в Нямботе только для чтения — источник правды это твоя касса r_keeper (менеджерская станция). Название, цена, состав, модификаторы меняются в r_keeper; Нямбот синхронизирует то, что там заведено. В СРМ редактируются только своё фото блюда и дополнения к заказу.


Цены всех блюд приходят нулём (0 ₽)#

Симптом. Меню синхронизировалось, блюда видны, но у всех R-keeper-позиций цена 0 ₽ (вес и КБЖУ тоже пустые).

Почему. В r_keeper цены живут в прайс-листе (пресете кассы), привязанном к категории заказа. Нямбот запрашивает меню по категории доставки из маршрутизации подключения. Если категория не указана или у блюд нет цены в её прайс-листе — r_keeper возвращает цену 0.00.

Что делать.

  1. В СРМ → «Интеграции» → подключение R-keeper → «Маршрутизация заказа» убедись, что заполнено «Категория — доставка» (orderCategoryCode).
  2. В r_keeper проверь, что у блюд есть цена в прайс-листе этой категории (а не в каком-то другом).
  3. Нажми «Синхронизировать».

💰 Это сделано специально: Нямбот берёт цены из того же прайс-листа, по которому заказ ляжет в кассу, — поэтому цена в витрине = цена в чеке.


Часть блюд 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».

Что делать.

  1. В менеджерской r_keeper открой Order → Order Categories → нужную категорию (например, «WSA: Самовывоз»). В её свойствах раздел «Order Types Usage» — поставь галку на нужном типе (например, «Самовывоз»). Проверь то же для категории доставки (тип «Доставка курьером»).
  2. Открой Order → Order Types → этот тип → убедись, что Status = Активный и Right Level = Права WSA (без прав WSA касса тип не примет).
  3. Save References и перезапусти кассу (перечитать справочники), затем на кассе — перелогин.
  4. Сверь, что коды в СРМ → «Интеграции» → подключение R-keeper → «Маршрутизация заказа» (поля «Категория/Тип — доставка» и «Категория/Тип — самовывоз») совпадают с Code этих категорий и типов в r_keeper (маршрутизация берёт именно поле Code, не External Code).
  5. Оформи тестовый заказ нужного типа заново — теперь он должен уйти в кассу.

Заказ не уходит в кассу: «не указан стол» / «нет кассы с принтером»#

Симптом. Касса отклоняет заказ из-за стола или принтера.

Почему.

  • Стол. Доставочный заказ 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 %) или блюдом, у которого нулевая цена стоит в самом прейскуранте, — а не «той же позицией бесплатно».