external:smspds:main

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
external:smspds:main [2021/09/26 14:23] Александр Ильинexternal:smspds:main [2021/09/26 14:41] (текущий) – удалено Александр Ильин
Строка 1: Строка 1:
-===== Установка и настройка ===== 
- 
-==== PDSSMS ==== 
- 
-Поставляется в виде архивированной сборки всех необходимых для работы файлов: 
- 
-  * cardimp.exe - Модуль для активации карты в системе ПДС 
-  * cardimp.ini - Файл конфигурации модуля CardImp 
-  * CscLink.dll - Библиотека для соединения с CARDSERV 
-  * CscLink.ini - Файл конфигурации CscLink 
-  * RTCP.dll - Библиотека сетевого протокола для связи с CARDSERV 
-  * *sms.dll* - Библиотека, в которой реализовано API СМС провайдера 
-  * *sms.ini* - Файл конфигурации sms.dll 
-  * PDSSMS.exe - Исполняемый файл главного модуля 
-  * config.ini - Файл конфигурации главного модуля 
-  * LicSystem.dll - Библиотека системы лицензирования 
-  * Server.bin - Служебный файл. 
- 
-* **sms.dll**  - На данный момент в поставку включена библиотека sms_smsc.dll, реализующая API SMS провайдера [[https://smsc.ru/?pp336049|smsc.ru]] \\ 
-Интеграция с другими SMS провайдерами возможна, но обсуждается отдельно. 
- 
-=== CscLink.ini и cardimp.ini === 
- 
-В двух этих файлах необходимо задать значения одних и тех же параметров: IP адрес CARDSERV и порт протокола RTcp. Файлы имеют практически идентичную структуру за небольшими исключениями. 
- 
-Пример структуры файла с комментариями: 
- 
-[Settings] \\ CSLinkDLL = RTcp ;библиотека соединения с CARDSERV(поставляется в комплекте)(не требует редактирования) \\ CSLinkGate=1 ;служебный параметр(не требует редактирования) 
- 
-[RTcp] \\ Server1=127.0.0.1 ;IP адрес компьютера, на котором работает CARDSERV \\ Client1=CscLink ;имя клиента. Любое уникальное для клиентского компьютера (не требует редактирования) \\ Port1=3456 ; порт протокола RTcp у CARDSERV (должен быть включен в CARDSERV) 
- 
-После настройки CscLink.dll и cardimp.exe можно перейти к конфигурации PDSSMS 
- 
-=== config.ini === 
- 
-Содержит в себе конфигурационные параметры для модуля PDSSMS.exe 
-<code> 
- 
-[SERVER] 
-;Локальный порт модуля (Listen) 
-LocalPort=11000 
-;Имя файла библиотеки для отправки смс (может отличаться в зависимости от провайдера) 
-SmsDll=sms_smsc.dll 
- 
-[PDS] 
-;имя пользователя для подключения к CARDSERV. Должен иметь доступ к редактированию счетов в Pcards! 
-;Рекомендуется создать отдельного пользователя, т.к. учетка ucs по умолчанию не редактирует счета. 
-User=ucs 
-;пароль пользователя для подключения к CARDSERV 
-Pass=ucs 
-;время жизни невостребованного ПИН кода в минутах 
-PinLifeTime=10 
-;Шаблон СМС сообщения для гостя 
-;Строка "[PIN]" будет заменена на сгенерированный пин-код авторизации. 
-;Текст может быть как до "[PIN]", так и после 
-;Сочетание символов "/n" будет заменено на перенос строки 
- 
-Message=Ваш код авторизации: [PIN] 
- 
-[LOG] 
-;Уровень логирования (-1 - не писать, 0 - ошибки, 1 - ошибки и критические,>1 - режим отладки ) 
-LogLevel=1 
-;Срок хранения .log файлов в днях 
-OldLogs=7 
- 
-</code> 
- 
-**Пример значения параметра Message** 
- 
-<code> 
-**Значение параметра** 
- 
-Message=Ресторан "Рога и Копыта"/nВаш код авторизации: [PIN]/nХорошего дня! 
- 
-**Сообщение для гостя** 
- 
-Ресторан "Рога и Копыта" 
-Ваш код авторизации: 3214 
-Хорошего дня! 
- 
-</code> 
- 
-**Помните, что большинство СМС операторов ограничивают длину сообщения. Превышение лимита приведет к отправке двух и более сообщений, каждое из которых оплачивается согласно текущему тарифу.** 
- 
-Помимо конфигурации выше описанных модулей, потребуется так же настроить библиотеку для отправки СМС для конкретного выбранного провайдера. Подробнее читайте на странице **sms_dll** 
- 
----- 
- 
-==== Лицензирование ==== 
- 
-Модуль SMSPDS распространяется на условиях LifeTime лицензии с использованием системы лицензирования ГК "Карбис". 
-Для того что бы первично пролицензировать модуль у клиента необходимо выполнить запуск  
-<code>PDSSMS.exe /desktop</code> 
- 
-**ВАЖНО!** \\ Дальнейшее **продление лицензии**  на модуль "СМС-ПДС" делается **ТОЛЬКО**  через сайт лицензирования ([[:lic:lic|Описание системы лицензирования lic.carbis.ru]]) 
- 
----- 
- 
-==== Настройки RK7 ==== 
- 
-Установка модуля SMSPDS подразумевает, что связь между RK7 и CARDSERV уже настроена и готова к работе. 
- 
-Исходя из этого настройка RK7 для работы с SMSPDS сводится к добавлению двух скриптов и одного MCR алгоритма. 
- 
-=== Скрипт PDS_Activate === 
- 
-  - В менеджерской станции перейти в меню "Сервис > Скрипты" 
-  - В группе скриптов "Операции" добавить скрипт PDS_Activate 
-  - Добавить содержимое скрипта: 
-<code> 
- 
-var 
-card_num: String; 
-fio, fio2 : String; 
-date : String; 
-tel: String; 
-flag, i: Integer; 
-res: String; 
-addr:string; 
-begin 
-  flag:=0; 
-  addr := '192.168.1.7:11000'; 
-  card_num := gui.InputBox('Номер Карты', 'Введите номер карты, выдаваемой Гостю', '', true); 
-  fio := gui.InputBox('ФИО Гостя', 'Введите ФИО Гостя', '', false); 
-  date := gui.InputBox('Дата рождения (дд.мм.гггг)', '', '', true); 
- 
-  while flag = 0 do 
-  begin 
-    tel := gui.InputBox('Номер Телефона (7-ХХХ-ХХХ-ХХ-ХХ)', 'Введите номер Телефона ', '', true); 
-    if Length(tel) <> 11 then 
-      gui.ShowMessage('Не верный номер телефона!!!'); 
-    flag:=1; 
-  end; 
- 
-  flag := gui.MessageDlgEx('Карта: '+card_num+#10+'ФИО: '+fio+#10+'Дата рождения: '+date+#10+ 
-                         'Телефон: '+tel, mtConfirmation, mbYes+mbNo, 'Добавить; Отмена'); 
-  if flag = 6 then   // это "Ок" 
-    begin 
-      fio2 := ''; 
-      for i := 1 to Length(fio) do 
-      begin 
-        fio2 := fio2 + IntToStr(Ord(fio[i]))+'_'; 
-      end; 
-      if HttpGet('http://'+addr+'/setcard?card_num='+card_num+'&fio='+fio2+'&date='+date+'&tel='+tel, res) = 0 then 
-      begin 
-           if pos('<?ERROR?>', res)> 0 then 
-              gui.showmessage(res) 
-           else if pos('OK',res)> 0 then 
-              gui.showmessage('Карта успешно добавлена!') 
-           else 
-              GUI.ShowMessage('Ответ сервера: '+res); 
-      end; 
-    end; 
-end; 
- 
-</code> 
- 
-После создания скрипта нужно отредактировать значение переменной addr, заданное в начале скрипта. \\ Необходимо ввести IP адрес и listen порт модуля PDSSMS.exe через двоеточие. 
- 
-=== Скрипт PDS_Authorize === 
- 
-Повторить действия 1-3 из PDS_Activate, но задать имя скрипта "PDS_Authorize" 
- 
-Содержимое скрипта: 
- 
-<code> 
-var 
-card: String; 
-tel : String; 
-pin0: String; 
-pin1: String; 
-flag: Integer; 
-addr: string; 
-begin 
-  addr:='192.168.1.7:11000'; 
-  flag:=0; 
-  while flag = 0 do 
-  begin 
-    tel := gui.InputBox('Номер Телефона (7-ХХХ-ХХХ-ХХ-ХХ)', 'Введите номер Телефона ', '', true); 
-    if tel = '' then 
-      flag := 2; 
-    if Length(tel) <> 11 then 
-      gui.ShowMessage('Не верный номер телефона. Ожидается 11 цифр.') 
-    else 
-      flag:=1; 
-  end; 
- 
-  if Flag = 2 then 
-     Exit; 
- 
-  if HttpGet('http://'+addr+'/authorize?phone='+tel, pin0) = 0 then 
-  begin 
-       if pos('<?ERROR?>',pin0)> 0 then 
-            GUI.ShowMessage(pin0) 
-       else if pos('OK',pin0)> 0 then 
-         gui.ShowMessage('Гостю отправлен код авторизации.') 
-       else 
-         gui.ShowMessage('Ответ сервера: '+pin0); 
-  end 
-  else 
-      GUI.ShowMessage('Сервер авторизации не отвечает. Повторите попытку позднее.'); 
- 
-  if Parameter = 1 then 
-  begin 
-       pin1 := gui.InputBox('Введите ПИН-КОД', 'Введите ПИН-Код, отправленный на номер телефона', '', true); 
-       RK7.PerformMCRAlgorith(pin1, 0); 
-  end; 
-end; 
- 
-</code> 
- 
-**ВНИМАНИЕ!**  Для работы скрипта в быстром чеке (с отображением окна) необходимо у функциональной клавиши задать свойства "параметр" и "параметр.пуст" равным единице (1) 
- 
-Не в быстром чеке - тоже проверьте эти параметры, тоже должны быть равны единице. 
- 
-{{:external:smspds:подключить_смс_пдс_-_оазис_28.01.2020_07_59_06_46719.png}} 
- 
-=== MCR Алгоритм === 
- 
-  - Перейти в справочник "Сервис > Обработка сигналов устройств > MCR Алгоритмы" 
-  - Создать копию MCR Алгоритма, использующегося для классической авторизации карт ПДС 
-  - Переименовать его содержательно (например "ПИН код SMSPDS") 
-  - Выставить тип алгоритма "Скрипт вер. 7.0" 
-  - Поставить галки типов устройств "Клавиатура" и "Скрипт". Все остальные должны быть сняты. 
- 
-Содержимое скрипта: 
- 
-<code> 
-var 
-   res:string; 
-   url:string; 
-begin 
-     if Length(Parameter) <> 4 then 
-     begin 
-          Result:=false; 
-     end 
-     else 
-     begin 
-          url:='http://192.168.1.7:11000/pincode?pin='+Parameter; 
-          res:=''; 
-          httpget(url,res); 
-          if pos('<?ERROR?>',res)> 0 then 
-          begin 
-               GUI.ShowMessage('Ошибка авторизации пин-кода: '+res); 
-               Result:=false; 
-          end 
-          else if Length(res)> 0 then 
-          begin 
-               Parameter:=res; 
-               Result:=true; 
-          end; 
-     end; 
-end; 
- 
-</code> 
- 
-В строке, где задается значение переменной url исправить "192.168.1.7:11000" на IP адрес и listen порт PDSSMS.exe 
- 
-=== Настройка СМС сообщений === 
- 
-В стандартной поставке программного обеспечения используется интеграция с СМС провайдером [[https://smsc.ru/?pp336049|smsc]]. \\ 
-Для работы системы необходимо зарегистрировать у провайдера личный кабинет. После подтверждения номера телефона, Вам будет начислено 15 рублей на счет, которых должно быть достаточно для тестирования ПО. 
- 
-После того, как Вы зарегистрировали личный кабинет у провайдера, необходимо указать данные для авторизации в конфигурационном файле sms_smsc.ini \\ Для этого используется утилита inicrypt, включенная в дистрибутив. 
- 
-1. Запустите исполняемый файл IniCrypt_Project.exe, нажмите кнопку открыть и укажите файл sms_smsc.ini 
- 
-{{:external:smspds:inicrypt1.jpg|inicrypt1.jpg}} 
- 
-2. В поле "Секция" выберите пункт "smsc.ru" 
- 
-{{:external:smspds:inicrypt1_1.jpg|inicrypt1_1.jpg}} 
- 
-3. Вставьте логин и пароль Вашего личного кабинета в соответствующие поля, затем нажмите кнопку "Сохранить" 
- 
-{{:external:smspds:inicrypt1_2.jpg|inicrypt1_2.jpg}} 
- 
-4. Закройте программу IniCrypt_Project.exe 
- 
-**С версии PDSSMS.exe v1.0.2.99 появилась возможность авторизации карты по номеру телефона БЕЗ использования СМС кода** 
- 
-Для использования такого функционала необходимо: 
- 
-  - Перейти в справочник "Сервис > Обработка сигналов устройств > MCR Алгоритмы" 
-  - Создать копию MCR Алгоритма, использующегося для классической авторизации карт ПДС 
-  - Переименовать его содержательно (например "ПИН код SMSPDS") 
-  - Выставить тип алгоритма "Скрипт вер. 7.0" 
-  - Поставить галки типов устройств "Клавиатура" и "Скрипт". Все остальные должны быть сняты 
-  - Вставить в скрипт алгоритма следующий код: 
-<code> 
- 
-var 
-   res:string; 
-   url:string; 
-begin 
-     if Length(Parameter) <> 11 then //количество символов номера телефона 
-     begin 
-          Result:=false; 
-     end 
-     else 
-     begin 
-          url:='http://192.168.1.7:11000/fastauthorize?phone='+Parameter; 
-          res:=''; 
-          httpget(url,res); 
-          if pos('<?ERROR?>',res)> 0 then 
-          begin 
-               GUI.ShowMessage('Ошибка авторизации карты: '+res); 
-               Result:=false; 
-          end 
-          else if Length(res)> 0 then 
-          begin 
-               Parameter:=res; 
-               Result:=true; 
-          end; 
-     end; 
-end; 
- 
-</code> 
- 
-Аналогично с предыдущим MCR алгоритмом, в строке, где задается значение переменной url исправить "192.168.1.7:11000" на IP адрес и listen порт PDSSMS.exe 
- 
-**ЗЫ При использовании такого механизма, скрипт PDS_Authorize может быть отключен, для авторизации карты использовать стандартную функциональную клавишу "Код с клавиатуры".** 
- 
-=== Использование скриптов === 
- 
-Для активации скриптов необходимо назначить их на функциональные клавиши и добавить на экранные формы кассы. 
- 
-В справочнике "Сервис > Операции" выбрать две пользовательских операции для PDS_Authorize и PDS_Activate, назначить им соответствующие скрипты 
- 
-В справочнике "Настройки > Графический интерфейс > Функциональные клавиши" добавить функциональную клавишу "Авторизация карты" в группу "Операции с заказом > Селектор операций", а так же клавишу "Активация карты" в группу "Главное меню" 
- 
-Перейти в справочник "Настройки > Графический интерфейс > Селекторы" 
- 
-Сделать копию селектора главное меню, добавить в него клавишу "Активация карты" с параметром по умолчанию 
- 
-Сделать копию селектора операций для **быстрого чека**, добавить в него клавишу "Авторизация карты" с параметром 1 **!!!**  {{:external:smspds:подключить_смс_пдс_-_оазис_28.01.2020_07_59_06_46719.png}} 
- 
-Сделать копию селектора операций для чека ресторана, добавить в него клавишу "Авторизация карты" с параметром по умолчанию 
- 
-Добавить графическое отображение созданных клавиш в макеты скопированных селекторов, затем назначить использование этих селекторов по умолчанию. 
- 
----- 
- 
-===== Запуск ===== 
- 
-PDSSMS.exe является desktop приложением и не требует специальных ключей для запуска. В случае возникновения ошибок во время запуска необходимо в файле config.ini установить значение LogLevel=5 и добиться повторения ошибки. В этом случае в папке Log директории приложения можно будет найти файл с подробным описанием возникшей ошибки. 
- 
  
  • external/smspds/main.1632655420.txt.gz
  • Последнее изменение: 2021/09/26 14:23
  • Александр Ильин