DeliveryHatch (настройки сервера доставки)
Описание
DeliveryHatch (далее DH) - сервер доставки, реализующий механизмы работы с базой гостей, пользовательским интерфейсом и API r-keeper
Поставка:
/domains -Набор веб-страниц, релизующих пользовательский интерфейс /python -Портативная сборка интерпретатора Python (v3.4.4 для поддержки winXP) DeliveryHatch.exe -Исполняемый файл DeliveryHatch.ini -Файл конфигурации сервера Delpyne.dll -Адаптер интерпритатора Python LicSystem.dll -Библиотека системы лицензирования msvcr100.dll -Служебная библиотека RK7XML.dll -Библиотека связи с системой r_keeper v7 Server.bin -Параметры сервера лицензирования sqlite3.dll -Движок файловой базы данных
Модуль DH подлежит обязательному лицензированию. Подробнее о лицензировании можно прочесть в статье «Лицензирование»
ВНИМАНИЕ! Для лицензирования модуля необходимо запустить его в оконном режиме (см запуск программы)
ВНИМАНИЕ! Модуль использует отложенную инициализацию системы лицензирования.
При открытии пользовательского интерфейса сразу после запуска ПО, на главном экране будет отображено соответсвующее сообщение.\\ Не рекомендуются выполнять каких либо действий до инициализации системы лицензирования.
Кнопки на форме в случае запуска в оконном режиме станут активны спустя 10-15 секунд после запуска программы.
ВНИМАНИЕ! Антивирусы (Касперский, WindowsDefender и другие) могут ругаться на библиотеку LicSystem.dll (а так же и на другие модули).
Связано это с тем что применяется технология обсфускации кода, что вызывает ложные срабатывания со стороны антивирусных программ. Рекомендуется добавить папку с установленной мини-Доставкой в исключения Антивируса.
Файл конфигурации
В поставку включен текстовый файл конфигурации «DeliveryHatch.ini» посредством редактирования которого и производится настройка модуля DH.
Описание параметров:
DeliveryHatch.ini:
[RK] ;IP адрес !КАССОВОГО СЕРВЕРА! rkAddr=192.168.1.100 ;Порт XML интерфейса !КАССОВОГО СЕРВЕРА! rkPort=12501 ;Код стола из справочников rk7 rkTable=1 ;Код станции из справочников для создания заказов rkStation=1 ;Код категории заказа из справочников rk7 для заказов на доставку (может совпадать с rkTACateg) rkDlvCateg=2 ;Код категории заказа из справочников rk7 для заказов на вынос (может совпадать с rkDlvCateg) rkTACateg=1 ;Код интерфейса системы лояльности из справочников rk7 (если в заказах на доставку должна автоматически применяться карта гостя номер которой записан у него в анкете) rkPDSInterface=1 ;Идентификатор (не код!) классификации блюд из редактора меню. Блюда, принадлежащие к любой категории внутри этой классификации ;будут доступны через API (на сайте). Название группы блюд в API (на сайте) = названию категории внутри этой классификации. ;Устаревшее поведение параметра: для версий DeliveryHatch младше, чем v3.0.6.1222 в этом параметре указывался идентификатор категории блюд внутри классификации. rkMenuCateg=3074 ;Идентификатор(не код!) категории блюд из справочников rk7 для пометки блюд как "популярные" rkHitCateg=3585 ;XML порт КАССОВЫХ СТАНЦИЙ (Должен быть одинаковым на всех) rkCashXMLPort=22331 ;Код валюты для приема внешней оплаты заказа (Проходит как предоплата) rkPayCode=1 ;Код причины внесения денег для внешней оплаты rkPayReasonCode=2 ;Фильтровать модификаторы для интернет-заказов по весу (0 - все модификаторы, 1 - только с весом> 0) rkFilterModiWeights=1 ;Параметры уведомлений о новых заказах в Telegram [TELEGRAM] ;Токен Telegram бот`а. Если пусто - уведомления отключены. token= ;Список ID чатов для уведомлений, разделенных запятыми. Поддерживаются группы, супергруппы и личные чаты. chatsToNotify= [SORT] ;Начиная с версии DH v3.0.6.1222 ;Параметры сортировки блюд для API запроса /getmenu ;возможные значения - name - сортировка по имени, code - сортировка по коду ;сортировка категорий (работает только при указании идентификатора КЛАССИФИКАЦИИ в rkMenuCateg) categ=name ;сортировка блюд dish=name [SERVER] ;Порт локального сервера доставки. Должен быть свободен (не занят другим ПО). Этот порт надо открыть в брандмауэре на машине где установлен DH Port=11011 ;Домен сервера (!не трогать!) Domain=delivery ;Callback-url по-умолчанию, не обязательное поле. ;На указанный URL будет отправляться POST JSON уведомление об изменении статуса заказов. ;Указывается в формате: https(s)://IP:PORT/path Status_callback= ;Токены для доступа в API v2. Они же нужны для интеграции с готовым сайтом. Токен нужно придумать самостоятельно. ;Одна строка-один токен. ;Токен обязательно должен заканчиваться символом "=" ;Символ "=" обозначает окончание токена и не принадлежит ему. ;Т.е. в запросах токен использовать БЕЗ знака "=" [APITOKEN] deliverytoken= [LOG] ;Уровень логирования. Больше значение - подробнее логи LogLevel=1 ;Возраст .log файлов для удаления в днях OldLogs=7 ;Логировать используемую оперативную память LogMem=1
Настройки функционала
В файле domains\delivery\const\const.py собрана дополнительная конфигурация модуля.
# За сколько дней до окончания лицензии выдавать предупреждение (выделяется цветом) lic_warning_days=3; # Использовать ПДС? (1-да, 0-нет) usePDS=1; # Режим отправки электронного чека # (0 - нет, 1 - да, по умолчанию выкл, 2 - да, по умолчанию вкл) eCheck=1; # Использовать Виртуальную клавиатуру? (1-да, 0-нет) useVKB=1; # Интервал работы Доставки (время на которое можно принимать заказы) # Минимальное время на которое можно принять заказ dlvFrom = "10,00"; # чч,мм не меньше чем 00,00 # Шаг времени dlvPeriod = 30; # шаг интервала в минутах # Максимальное время на которое можно принять заказ dlvTo = "23,55"; # чч,мм не больше чем 23,55 # Язык интерфейса (локализация) lng='rus' # lng='en' # Dadata - Подсказки адресов # Описание этих настроек: https://wiki.carbis.ru/doku.php?id=external:minidlv2:dadata # API ключ DADATA_API_KEY = "" # Базовый город для поиска адреса DADATA_BASE_CITY = "Москва"
Запуск программы
DeliveryHatch.exe поддерживает запуск в качестве настольного приложения и работы в качестве службы.
Для запуска приложения в оконном режиме запустите приложение с ключем «/desktop»
Этот режим предусмотрен для возможности лицензирования ПО, а так же для случая, если по той или иной причине не возможна работа приложения в фоновом режиме (в режиме службы)
DeliveryHatch.exe /desktop
Для установки или удаления приложения как службы используйте ключи /install и /uninstall соответственно
DeliveryHatch.exe /install /*Установить службу*/ DeliveryHatch.exe /uninstall /*Удалить службу*/
Установка и удаление службы возможны только с правами администратора
После установки службы необходимо ее запустить через встроенное приложение Windows: «services.msc»
Отображаемое имя службы: «Carbis Delivery Hatch»