external:доставка:api:install

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
external:доставка:api:install [2020/10/07 07:53] – [Модуль доставки] Данила Матюшевexternal:доставка:api:install [2021/09/12 11:21] (текущий) – [Настройка меню] Александр Ильин
Строка 1: Строка 1:
 ====== Дополнительные настройки RK7 ====== ====== Дополнительные настройки RK7 ======
  
-Для полноценной работы API доставки необходимо выполнить несколько дополнительных настроек+Для полноценной работы API доставки необходимо выполнить несколько дополнительных настроек. API работает с версиями RK7 7.6.4+ На версии RK7 7.6.2 - работать не будет.
  
 ===== Настройка меню ===== ===== Настройка меню =====
Строка 7: Строка 7:
 Для возможности получения меню внешней системой необходимо определить для доставки список блюд, видимых через API. Для возможности получения меню внешней системой необходимо определить для доставки список блюд, видимых через API.
  
-  - В менеджерской RK7 перейдите в справочник Меню -> Классификации блюд+  - В менеджерской RK7 перейдите в справочник Меню → Классификации блюд
   - Создайте новую классификацию "Использовать для интернет-заказов"   - Создайте новую классификацию "Использовать для интернет-заказов"
-  - Для новой классификации создайте категории такие, какие  группы блюд будут на сайте, запомните **Идентификатор** классификации с этими категориями +  - Для новой классификации создайте категории такие, какие группы блюд будут на сайте, запомните **Идентификатор**  классификации с этими категориями 
-  - Назначьте всем блюдам, которые будут доступны для продажи через внешнюю систему, категорию в рамках этой классификации.  Пример: категории "супы", "первые блюда", "десерты". Группы блюд на сайте будут называться именно так вне зависимости от того, в какой группе блюдо расположено в меню r-keeper.+  - Назначьте всем блюдам, которые будут доступны для продажи через внешнюю систему, категорию в рамках этой классификации. Пример: категории "супы", "первые блюда", "десерты". Группы блюд на сайте будут называться именно так вне зависимости от того, в какой группе блюдо расположено в меню r-keeper.
  
-**Важно!**\\ +**Важно!**  
-API доставки не поддерживает комбо-блюда, блюда с обязательными модификаторами и сами модификаторы, а так же блюда с дробным количеством (весовые)\\+API доставки **не поддерживает** комбо-блюда, а также блюда с дробным количеством (весовые).
 Для предотвращения программных ошибок и проблем с сохранением заказов воздержитесь от использования таких блюд для внешних заказов. Для предотвращения программных ошибок и проблем с сохранением заказов воздержитесь от использования таких блюд для внешних заказов.
  
Строка 22: Строка 22:
 Для автоматического добавления блюд из интернет заказа необходимо добавить скрипт в форму редактирования заказа доставки. Для автоматического добавления блюд из интернет заказа необходимо добавить скрипт в форму редактирования заказа доставки.
  
-  - Перейдите в справочник Настройки -> Графический интерфейс -> Формы +  - Перейдите в справочник Настройки → Графический интерфейс → Формы 
-  - В группе Заказ -> Редактирование заказа откройте для редактирования форму, использующуюся в схеме форм доставки.+  - В группе Заказ → Редактирование заказа откройте для редактирования форму, использующуюся в схеме форм доставки.
   - Для объекта DesignForm перейдите на вкладку "События" и двойным кликом добавьте обработчик осбытия "OnShow"   - Для объекта DesignForm перейдите на вкладку "События" и двойным кликом добавьте обработчик осбытия "OnShow"
   - В открывшимся редакторе укажите следующий скрипт, заменив значение переменной iport на IP адрес и порт установленного модуля мини-доставки в формате "IP.IP.IP.IP:PORT" **Не используйте 127.0.0.1!!!**   - В открывшимся редакторе укажите следующий скрипт, заменив значение переменной iport на IP адрес и порт установленного модуля мини-доставки в формате "IP.IP.IP.IP:PORT" **Не используйте 127.0.0.1!!!**
-  - **ВНИМАНИЕ** Убедитесь, что на всех кассовых станциях добавлен XML порт по инструкции для [[external:доставка:03_hb|HoverButton]]+  - **ВНИМАНИЕ**  Убедитесь, что на всех кассовых станциях добавлен XML порт по инструкции для [[:external:доставка:03_hb|HoverButton]]
 <code> <code>
 +
 procedure DesignFormOnShowScript(Sender: TObject); procedure DesignFormOnShowScript(Sender: TObject);
 var var
Строка 37: Строка 38:
   if httpget('http://'+iport+'/api/int/orderitems?guid='+RKCheck.CurrentOrder.guidstring, res) <> 0 then   if httpget('http://'+iport+'/api/int/orderitems?guid='+RKCheck.CurrentOrder.guidstring, res) <> 0 then
   begin   begin
-    GUI.ShowMessage('Minidlv/orderitems. '+iport+' Не доступен.');  +    GUI.ShowMessage('Minidlv/orderitems. '+iport+' Не доступен.');
   end;   end;
 end; end;
 +
 </code> </code>
  
-**При настройке использования схемы форм с данной формой не задавайте категорию заказа.**+**При настройке использования схемы форм с данной формой не задавайте категорию заказа.**  "Старый серый" интерфейс кассы рк7 использовать нельзя.
  
 ---- ----
  
 ===== Настройка использования предоплат ===== ===== Настройка использования предоплат =====
 +
 Чтобы иметь возможность получать с сайта (через API) заказы с уже произведённой оплатой - в rk7 должно быть включено использование предоплат. Оплата заказа через API добавляется в заказ как "Предоплата". Так сделано для того, чтобы заказ не закрывался сам сразу же, а оставался "висеть" в списке заказов до тех пор, пока персонал ресторана не закроет его вручную. Чтобы иметь возможность получать с сайта (через API) заказы с уже произведённой оплатой - в rk7 должно быть включено использование предоплат. Оплата заказа через API добавляется в заказ как "Предоплата". Так сделано для того, чтобы заказ не закрывался сам сразу же, а оставался "висеть" в списке заказов до тех пор, пока персонал ресторана не закроет его вручную.
  
-Для корректной работы такого механизма следует настроить параметр: +Для корректной работы такого механизма следует настроить параметр: Настройки → Параметры → Использование опций → Печатные документы → Учет предоплат → Не учитывать
-Настройки -> Параметры -> Использование опций -> Печатные документы -> Учет предоплат -> Не учитывать+
  
-{{:external:minidlv2:pred.png?|}}+{{  :external:minidlv2:pred.png  }}
  
-Нужно выбрать именно значение **"Не учитывать"**, это не то же самое что "без предоплат". +Нужно выбрать именно значение **"Не учитывать"**, это не то же самое что "без предоплат". Если в ресторане предоплаты используются по настоящему - сделайте исключение параметра и привяжите его категории заказа доставки.
-Если в ресторане предоплаты используются по настоящему - сделайте исключение параметра и привяжите его категории заказа доставки.+
  
-**Валюта и причина внесения денег** для приема предоплат указывается в DeliveryHatch.ini - **rkPayCode** и **rkPayReasonCode** соответственно.+**Валюта и причина внесения денег**  для приема предоплат указывается в DeliveryHatch.ini - **rkPayCode**  и **rkPayReasonCode**  соответственно.
  
-----+В стандартном случае, когда платёжным шлюзом является "Робокасса" и подключена услуга "Робочеки" валюту "Олата на сайте" есть смысл делать нефискальной, т. к. фискальный чек гостю отправляет "Робокасса" от своего имени и повторно печатать его нет необходимости. Пример настроек валюты и причины внесения:
  
-===== Модуль доставки =====+{{  :external:доставка:api:pasted:20201125-131549.png  }}
  
-В файл DeliveryHatch.ini в секцию [RK] добавьте новый параметр**rkMenuCateg** \\ +{{  :external:доставка:api:pasted:20210812-132229.png  }}
-Этот параметр определяет классификацию блюд, с которой будет работать API доставки.\\ +
-Значением данного параметра необходимо указать **идентификатор** классификации "Использовать для интернет-заказов"+
  
-**С версии 3.0.5.1053** в секцию [RK] можно добавить параметр **rkHitCateg** \\ +---- 
-Параметр определяет категорию меню для пометки блюд как "Популярное" во внешних системах\\ + 
-Значением данного параметра необходимо указать **идентификатор** категории "Да" классификации "Популярно для доставки"+===== Модуль доставки =====
  
-**C версии 3.1.8.1521** в доставку добавлена поддержка модификаторов блюд.+В файл DeliveryHatch.ini в секцию [RK] добавьте новый параметр: **rkMenuCateg** \\ Этот параметр определяет классификацию блюдс которой будет работать API доставки. \\ Значением данного параметра необходимо указать **идентификатор**  классификации "Использовать для интернет-заказов"
  
-**С версии 3.1.8.1616 ** добавлен механизм фильтрации служебных модификаторов по весу.+**С версии 3.0.5.1053**  в секцию [RK] можно добавить параметр **rkHitCateg** \\ Параметр определяет категорию меню для пометки блюд как "Популярное" во внешних системах \\ Значением данного параметра необходимо указать **идентификатор**  категории "Да" классификации "Популярно для доставки"
  
-Теперь через API доступны только модификаторы, вес которых больше нуля.+**C версии 3.1.8.1521**  в доставку добавлена поддержка модификаторов блюд.
  
-Отключить фильтрацию по весу можно в DeliveryHatch.ini в сексии RK с помощью параметра rkFilterModiWeights. Установить значение - 0.+**С версии 3.1.8.1616 **  добавлен механизм фильтрации служебных модификаторов по весу. Теперь через API доступны только модификаторы, вес которых больше нуля. Отключить фильтрацию по весу можно в DeliveryHatch.ini в сексии RK с помощью параметра rkFilterModiWeights. Установить значение - 0.
  
-В том же файле добавьте новую секцию "[APITOKEN]", в которой перечислите все токены, с которыми смогут работать внешние системы.\\ +В том же файле добавьте новую секцию "[APITOKEN]", в которой перечислите все токены, с которыми смогут работать внешние системы. \\ **Токен для каждой внешней системы нужно придумать самостоятельно!!!** \\ Сделать это можно при помощи генераторов паролей
-**Токен для каждой внешней системы нужно придумать самостоятельно!!!** \\ +
-Сделать это можно при помощи генераторов паролей+
  
   * [[https://www.guidgen.com/|Раз]]   * [[https://www.guidgen.com/|Раз]]
Строка 94: Строка 91:
  
 ---- ----
- 
  
 ===== Доступ к API через интернет ===== ===== Доступ к API через интернет =====
  
-Последним этапом необходимо открыть сетевой порт для внешнего IP заведения, ведущий в порт доставки. +Последним этапом необходимо открыть сетевой порт для внешнего IP заведения, ведущий в порт доставки. Как это сделать - зависит от конкретного оборудования в заведении.
-Как это сделать - зависит от конкретного оборудования в заведении.+
  
-Важно помнить, что доставка ограничивает доступ к стандартному WEB интерфейсу для запросов, адресованых не на один из IP адресов, принадлежащих компьютеру, где установлена доставка. \\ +Важно помнить, что доставка ограничивает доступ к стандартному WEB интерфейсу для запросов, адресованых не на один из IP адресов, принадлежащих компьютеру, где установлена доставка. \\ То есть невозможно получить доступ к стандартному графическому интерфейсу не из локальной сети.
-То есть невозможно получить доступ к стандартному графическому интерфейсу не из локальной сети.+
  
 ---- ----
  
 ===== Как проверить корректность настройки API? ===== ===== Как проверить корректность настройки API? =====
 +
 Для этого есть сервис тестирования: [[https://dev.carbis.ru/test|https://dev.carbis.ru/test]] Для этого есть сервис тестирования: [[https://dev.carbis.ru/test|https://dev.carbis.ru/test]]
  
-Необходимо ввести параметры подключения к вашему экземпляру, если при работе с API планируется использование оплат, то включить соответствующий параметр, и после этого запустить проверку. +Необходимо ввести параметры подключения к вашему экземпляру, если при работе с API планируется использование оплат, то включить соответствующий параметр, и после этого запустить проверку. {{  :external:minidlv2:2020-09-11_19-08-04_2_.png?400  }}При корректно выполненной настройке, в модуле мини-Доставка появится новый внешний заказ и оплата (если был выставлен соответствующий признак). Если на каком то этапе тестирования возникнут ошибки, то в будут указаны возможные причины их возникновения и рекомендации по их устранению. {{  :external:minidlv2:2020-09-11_19-08-46.png?400  }}PS Сервис находится в режиме beta-тестирования. В случае получения ошибки вида "Access Violation XXX" просто запустите тест еще раз. 
-{{ :external:minidlv2:2020-09-11_19-08-04_2_.png?400 |}} +
-При корректно выполненной настройке, в модуле мини-Доставка появится новый внешний заказ и оплата (если был выставлен соответствующий признак). Если на каком то этапе тестирования возникнут ошибки, то в будут указаны возможные причины их возникновения и рекомендации по их устранению. +
-{{ :external:minidlv2:2020-09-11_19-08-46.png?400 |}} +
-PS Сервис находится в режиме beta-тестирования. В случае получения ошибки вида "Access Violation XXX" просто запустите тест еще раз.+
  
  • external/доставка/api/install.1602046428.txt.gz
  • Последнее изменение: 2020/10/07 07:53
  • Данила Матюшев