gkAPI (далее, apiCards2) предназначен для доступа к некоторым данным системы Game-Keeper, а также для внесения изменений в эти данные. Технология реализована со на базе Microsoft Web Server IIS и инструментах платформы .Net Core.
Схема взаимодействия
Внешняя система посылает запрос согласно протоколу обмена на на WEB-сервер IIS apiCards2. WEB WEB-сервер обрабатывает запрос и через gkExtServer переправляет его в gkPosServer, который в свою очередь самостоятельно обращается в базу данных, осуществляя чтение или изменение данных. Полученная информация передается по этому же пути обратно внешней системе. Обращение к кассовому серверу используется для служебных нужд.
Состав дистрибутива
Папка с WEB-сервером apiCards2 находится в основном дистрибутиве версии GK в папке ..\GK\gkAPI\api.ext\cards2apiCards2\.Папка
Начиная с gkExtServer находится в основном дистрибутиве версии GK в папке ..\GK\gkAPI\gkExtServer\.версии 418 вспомогательный gkExtServer больше не используется!
Для удобства дальнейшей настройки и навигации необходимо создать скопировать apiCards2 в папку WEB в корне папки GK и скопировать в неё cards2 и gkExtServer.
Установка и настройка gkExtServer
В папке с модулями gkExtServer, настраиваем конфигурационный файл gkExtServer.ini:
[DbConnect] – связь с gkPosServer
Port = 50300 – порт gkPosServer
Настройка подключения apiCards2
Настройка заключается в конфигурировании файла appsettings.json.
Содержимое файла appsettings.json:
{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*",
"GKPosServer": {
//"useExtServer": true,
"Url": https://127.0.0.1:50302 ServerName = 127.0.0.1 – ip-адрес, где запущен gkPosServer
[Settings]
ServiceName=Cards – имя службы gkExtServer (будет отображаться в службах Windows)
HttpPort=50301 – порт gkExtServer
POSID=997
LogLevel=5
;Mode=1
Далее необходимо проинсталлировать службу gkExtServer, запустив через командную строку с ключом /install. Для удобства инсталляции службы в папке с gkExtServer.exe имеется install.bat, который необходимо запустить от имени Администратора. Предварительно в тексте файла необходимо отредактировать путь к gkExtServer.exe.
Запустить службу gkExtServer.
Настройка подключения apiCards2
Настройка заключается в конфигурировании файла gkconfig.json.
Содержимое файла:
{
, 50302 – PortH из gkPosServer.ini
},
"ConnectionStrings": {
"GKDB": "Data Source= "host": "127.0.0.1", - ip-адрес, где запущен gkExtServer
"port": "50301", - порт gkExtServer
}
;Initial Catalog=gkArcade;Persist Security Info=True;User ID=sa;Password= 1q2w3e777! " – строка подключения к БД gkArcade.
}
}
Установка платформы .Net Core
Для работы gkApi с версии GK 418 необходимо установить Net Core 5-го поколения!Установка платформы .Net Core
Установка и настройка Microsoft Web Server IIS
Установка и настройка Microsoft Web Server IIS
В главном окне Диспетчера IIS выбираем элемент дерева «сайты», правой клавишей мыши – Добавить веб-сайт.
Вводим имя сайта, в нашем случае это apiCards2, указываем физический путь к папке cards2, задаем порт для веб-сервиса и нажимаем кнопку «ОК». При вводе имени сайта автоматически будет создан пул приложений для этого сайта с одноименным названием, необходимо в Диспетчере служб IIS перейти в меню дерева «Пулы приложений» и проверить, что пул создался с версией среды CLR.NET v4.0.
Проверка работоспособности
Для проверки работоспособности сервиса gkApi необходимо использовать тестовый механизм apicards2demo. Он располагается в дистрибутиве версии рядом с самим apiCards2:
Настройка подключения в файле Config.js
Содержимое файла:
const baseUrl = "http://127.0.0.1:8081"; - ip-адрес и порт сервиса apiCards2
Непосредственно для проверки запускаем файл index.html
В открывшемся через web-браузер окне вводим номер карты и нажимаем кнопку операции, допустим пополнить баланс:
Заключение
Описание протокола можно найти в Приложение 3. Web API. Описание протокола, или в приложении к gkApi в файле «webApi2. Описание протокола.html». Через интерфейс сторонние системы, приложения, сайты могут получить доступ ук к некоторым данным Game-Keeper, а также изменять их в соответствии с запросами.
...