Перейти к содержанию

Установка агента для r_keeper 7

Агент ставится один раз на кассовый сервер ресторана (тот, где работает midserv). На кассовые станции ставить ничего не нужно.

Установка занимает около 5 минут.


Шаг 1. Подготовьте данные

Перед выездом на площадку соберите:

Что Где взять
Код привязки вида XXXX-XXXX Личный кабинет партнёра → Интеграции → r_keeper
Адрес и порт кассового сервера r_keeper У ИТ-специалиста ресторана (порт по умолчанию 15151)
Логин и пароль сотрудника r_keeper У администратора r_keeper

Код привязки одноразовый

Он действует ограниченное время и сгорает после первого успешного использования. Если привязку нужно повторить, запросите новый код в личном кабинете.

Убедитесь, что в r_keeper включён XML-интерфейс midserv — без него агент не подключится.

Если заведение подключается ради скидок — проверьте это заранее

Скидка в счёте требует от заведения отдельной лицензии «XML: Save Order» и подходящего типа скидки с правами для станции агента. Установку это не блокирует: агент встанет и брони пойдут, а скидка молча не появится в чеке.

Полный список и способ проверки типа скидки — Требования для скидки в счёте. Лицензию покупают заранее: в день установки это не решается.


Шаг 2. Скачайте агент

Скачать агент 0.6.5 (3.7 МБ)

Файл: broni-rkeeper-0.6.5-windows-amd64.zip · Версия: 0.6.5 · Опубликован: 2026-08-20
SHA-256: 969c7c21fc8bf8076fc6ae4b70c4c280de52ae7761c7911416ef1081cc60ce08

Проверьте контрольную сумму:

Get-FileHash -Algorithm SHA256 "$env:USERPROFILE\Downloads\broni-rkeeper-0.6.5-windows-amd64.zip"

Шаг 3. Распакуйте в отдельную папку

Создайте каталог и распакуйте туда sidecar.exe:

C:\broni-sidecar\

Не кладите агент в «Загрузки» или на рабочий стол

Рядом с sidecar.exe агент создаёт свои настройки, ключи и очередь отправки. Каталог должен быть постоянным и не должен чиститься автоматически. Не размещайте его в профиле пользователя.

Дальше все команды выполняются в PowerShell от имени администратора из этого каталога:

cd C:\broni-sidecar

Шаг 4. Проверьте связь с r_keeper

До привязки убедитесь, что агент видит кассовый сервер. Команда probe только читает данные и ничего не меняет:

.\sidecar.exe probe --rk7-host 127.0.0.1 --rk7-port 15151 --rk7-login ЛОГИН --rk7-password ПАРОЛЬ

В выводе должны появиться версия сервера r_keeper, код ресторана, отпечаток сертификата и расхождение часов. Если команда завершилась ошибкой — переходить к привязке бессмысленно, см. Диагностику.

Полная проверка с записью

Если нужно убедиться, что агент сможет создавать и отменять заказы, добавьте --write. Команда создаст один пустой тестовый заказ и тут же отменит его:

.\sidecar.exe probe --rk7-host 127.0.0.1 --rk7-login ЛОГИН --rk7-password ПАРОЛЬ --write

Делайте это до открытия смены или по согласованию с рестораном.


Шаг 5. Привяжите площадку

.\sidecar.exe enroll --code XXXX-XXXX

Агент запросит недостающие данные — значения в скобках подставляются клавишей

Pairing code: XXXX-XXXX
RK7 cash server host: 127.0.0.1
RK7 cash server XML port [15151]:
RK7 login: ЛОГИН
RK7 password (input is echoed): ПАРОЛЬ

Пароль отображается при вводе

Убедитесь, что за экраном никто не наблюдает и что сеанс не записывается.

Адрес сервера Брони агент не спрашивает

Он определяется сборкой агента и записывается в sidecar.yaml при привязке. Для тестового стенда его можно задать флагом:

.\sidecar.exe enroll --code XXXX-XXXX --backend https://адрес-стенда

Что происходит дальше:

  1. Агент подключается к r_keeper и проверяет учётные данные;
  2. запоминает отпечаток TLS-сертификата кассового сервера — дальше он будет принимать соединения только с ним;
  3. обменивает код привязки на постоянный токен площадки;
  4. сохраняет настройки в sidecar.yaml, а пароли и токен — в зашифрованный secrets.bin.

Признак успеха — строки вида:

  RK7 OK: version 7.26.5, net …, restCode …
  Pinned TLS cert SHA-256: …
Enrolling with https://broni.io ...

Шаг 6. Установите и запустите службу

.\sidecar.exe install
.\sidecar.exe start

Проверьте состояние:

Get-Service broni-rk7-sidecar

Служба должна быть в состоянии Running и стартовать автоматически при перезагрузке сервера.


Проверка установки

  1. Откройте logs\sidecar.log — в первых строках должны быть версия агента и успешный check-in, без записей уровня error.

    Get-Content .\logs\sidecar.log -Tail 50
    
  2. В личном кабинете партнёра, раздел Интеграции → r_keeper, площадка должна отображаться как активная с текущей версией агента.

  3. Создайте тестовую бронь в Брони → в r_keeper должен появиться резерв на соответствующем столе, в держателе — код брони.
  4. Отмените бронь → резерв должен быть снят.

Если заведение подключается ради скидок, проверьте и их: посадите гостя по тестовой брони, добавьте позиции и убедитесь, что скидка появилась в счёте. Затем добавьте ещё позицию — скидка должна пересчитаться. Именно здесь всплывают недостающая лицензия «XML: Save Order» и неподходящий тип скидки (требования, разбор ошибок в Диагностике).

Если все пункты прошли — установка завершена. Дальнейшая настройка (интервалы, подробность журнала, служебные коды r_keeper, тип скидки) приходит с сервера Брони, выезжать на площадку повторно не нужно.

Журнал агента передаётся в Брони

Чтобы поддержка разбирала обращения, не запрашивая файлы с кассового сервера, агент отправляет записи журнала в Брони. Какие именно записи — решает Брони, а не настройка на кассе: подробность задаётся в личном кабинете и применяется на стороне сервера. Локальный logs\sidecar.log ведётся в любом случае и остаётся основной копией. Передача журнала не влияет на работу агента: если отправить не удалось, записи просто не уедут.


Обслуживание

Смена пароля сотрудника r_keeper

.\sidecar.exe stop
.\sidecar.exe set-rk7-creds
.\sidecar.exe start

Если на кассовом сервере заменили TLS-сертификат, добавьте --repin, чтобы агент запомнил новый отпечаток:

.\sidecar.exe set-rk7-creds --repin

Обновление агента

Выезд на площадку для обновления не нужен. Обновление запускается из личного кабинета Брони: агент получает задание при очередном выходе на связь и обновляет себя сам.

Что при этом происходит:

  1. агент скачивает указанную версию и сверяет контрольную сумму — она приходит в самом задании, а не берётся рядом с файлом;
  2. распаковывает и проверяет, что новая программа действительно сообщает ожидаемую версию;
  3. останавливает службу, сохраняет текущий файл как sidecar.exe.old, ставит новый и запускает службу заново;
  4. если новая версия не вышла на связь в течение 3 минут, агент автоматически возвращает предыдущую и продолжает работать на ней.

Перерыв в работе — несколько секунд на перезапуск службы. Настройки, ключи, очередь отправки и кэш заказов лежат рядом с программой и сохраняются. Ход обновления записывается в data\update\apply-<версия>.log.

Обновление никогда не ставится само по себе

Агент раз в 6 часов сверяет свою версию с опубликованной и предупреждает в журнале, если устарел, — но ничего не устанавливает по результатам этой проверки. Новая программа появляется на кассовом сервере только по явной команде из личного кабинета.

Запасной путь: замена файла вручную

Нужен, если агент не выходит на связь и получить задание не может.

.\sidecar.exe stop

Замените sidecar.exe новым файлом (настройки, очередь и ключи лежат рядом и сохраняются), затем:

.\sidecar.exe start

Если агент запущен в консоли (sidecar.exe run), а не службой, автоматическое обновление тоже сводится к замене файла: перезапускать некому, поэтому новая версия подхватится при следующем запуске — об этом будет сказано в data\update\apply-<версия>.log.

Просмотр работы вживую

Для разбора проблемы агент можно запустить в консоли, не устанавливая службу:

.\sidecar.exe stop
.\sidecar.exe run

Журнал будет дублироваться на экран. Остановка — Ctrl+C, затем .\sidecar.exe start.

Удаление

.\sidecar.exe stop
.\sidecar.exe remove

После этого можно удалить каталог C:\broni-sidecar. Заказы, уже созданные в r_keeper, останутся на месте.