gkAPI (далее, apiCards2) предназначен для доступа к некоторым данным системы Game-Keeper, а также для внесения изменений в эти данные. Технология реализована со на базе Microsoft Web Server IIS и инструментах платформы .Net Core.
1.Схема взаимодействия
Внешняя система посылает запрос согласно протоколу обмена на WEB-сервер IIS apiCards2. WEB-сервер обрабатывает запрос и через gkExtServer переправляет его в gkPosServer, который в свою очередь обращается в базу данных, осуществляя чтение или изменение данных. Полученная информация передается по этому же пути обратно внешней системе.
2. Состав дистрибутива
Папка с WEB-сервером apiCards2 находится в основном дистрибутиве версии GK в папке ..\GK\gkAPI\api.ext\cards2\.
...
Для удобства дальнейшей настройки и навигации необходимо создать папку WEB в корне папки GK и скопировать в неё cards2 и gkExtServer.
3. Установка и настройка gkExtServer
...
Port = 50300 – порт gkPosServer
ServerName = 127.0.0.1 1 – ip-адрес, где запущен gkPosServer
...
Запустить службу gkExtServer.
4. Настройка подключения apiCards2
...
"port": "50301", - порт gkExtServer
}
Установка платформы .Net Core
Установка и настройка Microsoft Web Server IIS
Установка и настройка Microsoft Web Server IIS
В главном окне Диспетчера IIS выбираем элемент дерева «сайты», правой клавишей мыши – Добавить веб-сайт.
Вводим имя сайта, в нашем случае это apiCards2, указываем физический путь к папке cards2, задаем порт для веб-сервиса и нажимаем кнопку «ОК». При вводе имени сайта автоматически будет создан пул приложений для этого сайта с одноименным названием, необходимо в Диспетчере служб IIS перейти в меню дерева «Пулы приложений» и проверить, что пул создался с версией среды CLR.NET v4.0.
Заключение
Описание протокола можно найти в Приложение 3. Web API. Описание протокола, или в приложении к gkApi в файле «webApi2. Описание протокола.html». Через интерфейс сторонние системы, приложения, сайты могут получить доступ ук некоторым данным Game-Keeper, а также изменять их в соответствии с запросами.
Для возможности использования доступа к базе данных через интерфейс необходимо приобрести лицензию на модуль «WEB API».