Публичное пространство
SetRetail10 ◾️ Стыковка с SetPrisma по новому протоколу с использованием данных в JSON-формате (начиная с версии 10.2.23)
Старый протокол
На текущий момент отправка событий на сервер SetPrisma реализована в виде Посредника SetPrisma - отдельного сервиса, установленного на кассе. Касса передает события в стандартном формате SetPrisma в Посредник в виде UDP-пакетов, а посредник осуществляет переадресацию на сервер SetPrisma по TCP или UDP-протоколу (в зависимости от настройки). Также, посредник SetPrisma реализует буфер не отправленных событий (для конфигурации TCP).
События между кассой и сервером SetPrisma передаются в не зашифрованном виде в результате:
Снижается безопасность в магазине, так как легко перехватить и проанализировать пакет.
В магазине могут ставить сторонние событийные системы, поведение которых может быть не предсказуемым из-за изменений, которые мы можем вносить в кассовое ПО, что в свою очередь может выражаться в негатив со стороны клиента.
Необоснованный, так как мы обязательств за работоспособность сторонних систем мы не несем. Однако, для снижения репутационных рисков целесообразно такие ситуации предотвращать изначально.
Новый протокол
Начиная с версии 10.2.23, реализована произведен переход на новый протокол стыковки с SetPrisma, который обладает рядом преимуществ:
расширяемость протокола за счет использования передачи данных в JSON-формате;
защищенность передаваемых данных с помощью шифрования;
повышение надежности за счет обратной связи от сервера SetPrisma;
новый протокол реализован в виде модуля кассы, избавившись от Посредника SetPrisma;
cовместимость со старым протоколом не требуется. Заказчик должен будет обновить SetPrisma одновременно с установкой новой версии SetRetail10.
касса будет отправлять данные в SetPrisma только по TCP-протоколу;
касса в оффлайне накапливает данные в течение двух недель. Более старые данные подрезаются.
если в кассе скопились в буфере не отправленные события после восстановлении связи, тогда они отправляются в пакетном режиме, по 100 событий в одном пакете.
в оффлайн режиме производительность кассы не снижается;
допустима задержка отправки событий до 5 минут при восстановлении связи с SetPrisma.
В кассовом патче необходимо предусмотрено выключение Посредника SetPrisma, а в скрипте отката - включение.
Параметры подключения
на кассе настраивается IP-адрес сервера Set Prisma и порт;
значение порта: 21945;
транспортный протокол: TCP.
На сервере:
1. Интеграция → Внешние процессинги → введите в строку поиска set:prisma → кликните Призма → установите флажок Set:Prisma → кликните .
2. Войдите в настройки Set:Prisma, установите IP-адрес событийного сервера → кликните .
Тип соединения tcp или udp перед IP-адресом не указывается!
Отправка событий
при наступлении события на кассе формируется информационный пакет для Set Prisma;
информация передается в формате JSON;
пакет шифруется;
в одном пакете можно будет передавать как одно событие, так и список событий.
Обратная связь от SetPrisma
По каждому принятому и обработанному пакету с касс (не зависимо от того, пришли ли эти пакеты по одиночке или в пачке), на кассы, с которых пришли эти пакеты отправляются сообщения о количестве обработанных событий в пакете или код ошибки:
если Set Prisma успешно обработала Х событий из пакета, полученного от кассы, на эту кассу отправляется «X»;
если от кассы пришло битое событие, на кассу отправляется код ошибки «-2» (не удалось расшифровать пакет);
если Set Prisma не обнаружила лицензию, кассам в ответ на пакеты с событиями отправляется код ошибки «-1» (нет лицензии).
Активация пересылки сообщений в Set Prisma (версий ниже 6.0.4) событий с касс использующих новый протокол
1. Скопируйте папку «SetPrismaProxy» на компьютер с установленной службой «SET - Сервер приема и первичной обработки событий от касс».
2. Установите на этом компьютере (или проверьте, что установлена) java 7x32 не ниже 80-ой версии.
3. Из папки "SetPrismaProxy" запустите SETPrismaProxy.exe из командной строки «
SETPrismaProxy.exe /install4. Настройте перезапуск службы SET - Prisma Proxy при сбоях.
5. Добавьте разрешение для порта 21945 в брендмауэр, выполнив следующие команды в командной строке от имени администратора:
netsh advfirewall firewall addrule name="Set Prisma Proxy IN TCP" protocol=TCP localport=21945action=allow dir=IN profile=any
netsh advfirewall firewall addrule name="Set Prisma Proxy IN UDP" protocol=UDP localport=21945action=allow dir=IN profile=any
netsh advfirewall firewall addrule name="Set Prisma Proxy OUT TCP" protocol=TCP localport=21945action=allow dir=OUT profile=any6. Запустите службу SET - Prisma Proxy.