Столото – это сервис продажи лотерейных билетов, взаимодействующий с внешней товаро-учетной системой, а также с кассовой программой УКМ 5 согласно следующей схеме:
Пояснения к схеме:
Программный комплекс | Комментарий |
---|---|
Товароучетная система | Система учета товародвижения, существующая у ретейлера. Данное решение является мастер-системой для ввода товаров и цен, а также получает данные о розничных продажах от кассового решения. |
Сервер УКМ 5 | Серверная часть кассового решения СуперМаг УКМ 5. Устанавливается в ЦОД ретейлера и используется для управления кассовыми модулями УКМ 5 во всей сети. |
Касса УКМ 5 | Кассовый модуль УКМ 5. Устанавливается на всех кассах ретейлера. |
Сервис Столото | Сервис, предоставляемый компанией Столото для обеспечения процесса продажи лотерейных билетов. Устанавливается в ЦОД Столото. |
Потоки данных | Комментарий |
---|---|
1 | Типовой обмен данными между внешней системой товародвижения и кассовым решением СуперМаг УКМ 5. Используется стандартный конвертер обмена Импорт/Экспорт XML (версия 1.0), реализованный в кассовом решении. |
2 | Внутренний протокол обмена данными решения СуперМаг УКМ 5. |
3 | Протокол обмена данными с сервисом Столото. |
2.1.1 Процесс регистрации кассы в ЛС
Настройка
I. Каждую кассу, на которой предполагается продавать лотерейные билеты Столото, необходимо зарегистрировать на лотерейном сервере. Делается это следующим образом:
- Ретейлер сообщает сервису Столото количество касс, которое необходимо подключить к лотерейному серверу, и одновременно получает от него
инструкцию для генерации сертификатов.
- Сервис Столото присваивает каждой кассе уникальный номер.
- Сервис Столото сообщает ретейлеру уникальные номера, присвоенные кассам.
- С помощью утилиты генерации, ретейлер формирует файлы с сертификатами для каждой кассы, либо один сертификат для всех касс.
- Ретейлер выполняет действия по настройке касс, описанные ниже.
II. Настройки кассы происходят на кассовом сервере УКМ 5 по адресу: Магазин – Типы касс, где нужно выбрать тип кассы и нажать кнопку Настройки:
1. Для начала, необходимо добавить новые файлы конфигурации Столото в выбранный тип касс. Для этого, в открывшемся окне настроек типа касс нужно выполнить экспорт текущего типа касс с помощью кнопки Экспорт:
2. Скачанный архив необходимо открыть и добавить файл loto.conf в папку applications/sale/ и файл loto.js в папку applications/sale/scripts/.
3. После добавления файлов нужно сделать импорт конфигурации типа кассы при помощи кнопки Импорт:
4. Далее, в файле conf/applications/sale/sale.conf необходимо добавить в раздел plugins следующий параметр:
{ include file("conf/applications/sale/loto.conf") }
5. Затем нужно отредактировать файл loto.conf, указав в нем следующее:
- baseUrl – адрес шлюза (высылается сервисом Столото);
- responseTimeout – тайм-аут ожидания ответа от лотерейной системы;
- terminalNumber (terminal_id) – высылается представителями Столото, которые распределяются по кассам самим ретейлером. С технической точки зрения, не имеет значения, какой кассе будет присвоен определенный terminal_id. Главное правило – присваивать по одному terminal_id каждой кассе. Ретейлеру в будущем рекомендуется отслеживать данный момент при изменении настроек, перезаливке касс и т. д.
Согласно инструкциям и требованиям, необходимо сгенерировать клиентский сертификат и ключ от него (Требования_к_сертификатам.docx, актуальную информацию по требованиям и инструкцию по генерации клиентских сертификатов необходимо уточнять у представителей сервиса Столото). Посредством OpenSSL создать файл пары ключ-сертификат и поместить в хранилище с помощью утилиты KeyStoreExplorer (open-source) (Создание хранилища (STOLOTO).docx):
Созданное хранилище ключей keyStore.p12 поместить на кассу в домашний каталог пользователя ~/.config/keys/keyStore.p12 и прописать полный путь до файла хранилища в значении параметра keyStorePath.
Пароль от хранилища прописать в параметре keyStorePassword, который указали на этапе создания хранилища.
Названия лотерей задаются параметром gamesNames. Формат параметра: "ХХХХ: Название;YYYY: Название", где "ХХХХ", "YYYY" - Код лотереи (GAME_ID), "Название" - название лотереи, как должно быть в чеке. Например: “5101: Лото - Спортлото 6 из 45;5536: Лото - Спортлото 5 из 36 (+1);4420: Лото - Спортлото 4 из 20;5150: Лото - Спортлото 7 из 49;7105: Бинго - Жилищная лотерея;7115: Бинго - Золотая подкова;7103: Бинго - Русское лото”
Числовые лотереи:
- keyStorePath – файл хранилища ключей для безопасного доступа keyStore.p12 расположение файла ~/.config/keys/keyStore.p12 (может иметь другой путь). Хранилище ключей создаётся отдельным ПО KeyStore Explorer (
- Прописать пароль от хранилища keyStorePassword (придуманный на предыдущем шаге)
- Названия лотерей задаются параметром gamesNames. Формат параметра: "ХХХХ: Название;YYYY: Название", где "ХХХХ", "YYYY" - Код лотереи (GAME_ID), "Название" - название лотереи, как должно быть в чеке.
- Указать СКУ лотерейного билета goodsId
baseUrl – адрес шлюза
Тест: https://ga-agent.russian-lotteries.net:51443
Продакшен: https://agent.stolotogate.ru:51443
responseTimeout - тайм-аут ожидания ответа от лотерейной системы
terminalNumber - пришлют представители Столото (terminal_id), которые распределяются по кассам самим Ретейлером. С технической точки зрения не имеет значения, какой id для какой кассы будет присвоен. Главное правило – 1 касса = 1 id. Ретейлеру в будущем рекомендуется отслеживать данный момент при изменении настроек, перезаливке касс и тд.
- Настройка клавиатуры для кнопочной кассы:
- Адрес ЛС для подключения.
- Тайм-аут ожидания ответа от ЛС
- Код товара, идентифицирующего продажу ЛБ
Для каждой кассы в УКМ5:
- Указать присвоенный идентификатор терминала.
- Разместить файл с сертификатом.
ПРОДАЖА | |
---|---|
Клавиатурная касса | Touch-касса |
ОТМЕНА ПОКУПКИ ЛОТЕРЕЙНОГО БИЛЕТА | |
---|---|
Клавиатурная касса | Touch-касса |
ОТМЕНА ЧЕКА С ЛОТЕРЕЙНЫМИ БИЛЕТАМИ | |
---|---|
Клавиатурная касса | Touch-касса |
ОТСУТСТВИЕ СВЯЗИ С СЕРВЕРОМ СТОЛОТО | |
---|---|
Клавиатурная касса | Touch-касса |