Разработать middleware между кассовым принтером и POS системой
Как это должно работать:
1) в POS системе юзер выбирает наш middleware виртуальный принтер.
2) с POS системы отправляет на печать какой-либо заказ
3) Middleware перехватывает все данные идущие на печать, и отправляет запрос на наш API чтобы получить сгенерированные данные для этого чека.
4) Middleware форматирует этот чек и добавляет туда полученные данные, не удаляя те данные которые шли с POS системы. (это может быть хоть логотип, хоть QR, но это все предварительно получается с нашего API)
перед началом работы, middleware должен авторизоваться в нашем бэкенде, а данные для авторизации будут в .env конфиге либо в предложенным вами варианте. По авторизации есть специальные эндпоинты REST API, либо дадим вам готовый клиент для работы с нашим бэкендом если вы пишете на C#, Ruby, Kotlin, Python, Dart.
P.S. Если вы пишете на C++, то вы можете сделать прослойку сразу в нашем существующем проекте.
у middleware должен быть .env конфиг для указания эндпоинта нашего API и авторизации , а так же UI для выбора физического принтера, и должна быть возможность поставить middleware на автозапуск. Наш middleware идет как general purpose решение, поэтому должна быть возможность работать с JSON данными, то есть какие данные мы можем отображать на первом чеке (чек который отдается покупателю), и возможность отображать еще какие-то данные на втором чеке (маленький чек который остается у кассиров), то есть надо продумать этот момент, если на печать идут два раздельных чека одного заказа, то например номерок заказа печатать в обеих чеках, только на втором сделать шрифт поменьше.
в некоторых случаях POS система печатает лишь один чек, поэтому надо все эти моменты предусмотреть