Общая информация по подключению
Термины:
-
Платформа- комплекс программных средств предоставляющийПартнерудоступ к своим играм посредством API описанном в данной документации. -
Партнер- внешняя платформа, желающая подключиться кПлатформе. Может быть представлена агрегатором игр или самостоятельным веб-сайтом выполняющим интеграцию напрямую. -
Личный кабинет- В личном кабинет доступна дополнительная информация по подключению к Платформе, а также остальные настройки на которые может влиять Партнер. Набор функций оговаривается для каждого конкретногоПартнераиндивидуально. Доступ в личный кабинет осуществляется поИдентификатору партнераи паролю выдаваемых при подключении. Пароль может быть изменен через обращение в техподдержку. -
Идентификатор партнера- цифро-буквенная последовательность символов. В качестве символов могут использоваться только латинские буквы нижнего регистра.([a-z][a-z0-9]{2,12}) -
Секретный ключ- используется для подписи запросов от Платформы к Партнеру. Задается в личном кабинетеПартнера -
Подпись- MD5 хэш получаемый из параметров запроса иСекретного ключа, используетсяПартнеромдля проверки достоверности запросов отПлатформыкПартнеру Игрок- пользователь, который запустил игру.
Деноминация:
- Деноминатор - цена игровой монеты относительно валюты игрока
- В системе деноминатор указывается в сотых долях. Так для цены монеты равной одной единице валюты игрока значение деноминаци должно быть 1.00, что в перводе на сотые доли - 100.
-
Примеры доступных деноминаций (список может быть настроен индивидуально под Партнера).
- 1 = 0.01
- 5 = 0.05
- 10 = 0.1
- 25 = 0.25
- 50 = 0.5
- 100 = 1
- 500 = 5
- 1000 = 10
- 2000 = 20
Пример интеграции (php):
Подключение Партнера к Платформе.
Предварительные шаги:
- Каждому
ПартнеруприсваиваетсяИдентификатор Партнера, который оговаривается в устном порядке перед подключением кПлатформе. - Каждому
Партнерувыдается пароль, который, вместе сИдентификатором Партнера, используется для доступа кЛичному Кабинету. Секретный ключможет быть получен и измененПартнеромсамостоятельно в любое время вЛичном Кабинете.
Практические шаги по подключению:
- Создать веб страницу с произвольным дизайном содержащую iframe для загрузки интегрируемых игры - Пример
- Использовать API Платформы для получения списка игр, валют, а также для запуска игровой сессии
- Реализовать работу методов на Партнерской стороне в соответствии с API Партнера
- Пример реализации интеграции для PHP.
Порядок работы с API (Workflow):
-
Выполнить запрос к
Платформена инициализацию сессии
Для РЕАЛЬНОЙ сессии/init.session, передаваемые параметры:currency: string- Валюта игровой сессииgame.id: number- Идентификатор игры на стороне Платформыpartner.alias: string- Идентификатор Партнера (Логин Субагента)partner.session: string- Идентификатор сессии игрока сгенерированный Партнером
/init.session, передаваемые параметры:currency: string- Валюта игровой сессииfreerounds.id: string- Идентификатор фрираундовgame.id: number- Идентификатор игры на стороне Платформыpartner.alias: string- Идентификатор Партнера (Логин Субагента)partner.session: string- Идентификатор сессии игрока сгенерированный Партнером
/init.demo.session, передаваемые параметры:currency: string- Валюта игровой сессииgame.id: number- Идентификатор игры на стороне Платформыbalance: number- Баланс в копейках/центахdenomination: number- (Опционально)Деноминатор игровой сесии в сотых долях. Если не указано, то значение по умолчанию 100
-
Получение конфигурации
для РЕАЛЬНОЙ сессии
- Во время обработки запросна инициализацию сессии
ПлатформаотправляетПартнеру2 запроса:/check.sessionи/check.balanceдля проверки, что запрос инициализированПартнером, а также для получения параметров сессии. - Если проверка запроса прошла успешно, то
Платформаотправляет партнеру конфигурацию для запуска игры
для РЕАЛЬНОЙ сессии с ФРИРАУНДАМИ
- Во время обработки запросна инициализацию сессии
ПлатформаотправляетПартнеру3 запроса:/check.session,/freerounds.activateи/check.balanceдля проверки, что запрос инициализированПартнером, а также для получения параметров сессии. - Если проверка запроса прошла успешно, то
Платформаотправляет партнеру конфигурацию для запуска игры - При активации фрираундов учитывайте следующие особенности:
-
Если произошла ошибка при любом из 3-х указанных выше запросов,
то
Платформабудет считать фрираунды НЕактивировнными. В том числе если запрос к /freerounds.activate прошел успешно. - Игроку нельзя активировать фрираунды для игры, в которой для него уже активированы фрираунды.
- Если в игре есть незавершенный ход, незаконченная фича и/или активные фриспины, все эти особенности игры будут приудительно завершены, а выигрыш за них будет отправлен с запросом /deposit.win сразу после запроса /check.balance.
- Фрираунды всегда активируются по максимальному для игры количеству линий и по минимальной для игры ставке. Подробнее о фрираундах и как на них регулировать размер выигрышей
-
Если произошла ошибка при любом из 3-х указанных выше запросов,
то
для ДЕМО сессии
Платформасразу отправляет партнеру конфигурацию для запуска игры без каких либо запросов- Особенности работы демо сессий:
- Пункты 4 и 5 "Порядка работы с API (Workflow)" не касаются демо-сессий
- Демо-сессии не шлют Партнеру абсолютно никаких запросов в ходе своей работы
- Невозможно пополнить баланс демо-сессии
- Отследить состояние (например, баланс, число ходов, выигрыши и пр.) демо-сессии невозможно
- Для демо-сессий невозможно активировать фрираунды
- Демо-сессий не нужно закрывать запросом
/close.session
- Во время обработки запросна инициализацию сессии
-
Запуск игры
Партнеромс использованием полученной отПлатформыконфигурации. Подробно механизм получения ссылки для iframe из Параметров описан в разделе Запуск интегрированной игры -
Обработка ходов
Платформой. На каждый ходИгрокаПлатформаформирует кПартнеру2 запроса/withdraw.bet- списание с баланса игрока стоимости хода. Совершается до начала визуализации результата хода/deposit.win- начисление на баланс выигрыша за ход. Запрос шлется даже если выигрыш нулевой. Присылается при окончательном расчете размера выиграша за игровое действие.
Так, например, если в игре есть бонусы, фриспины и/или риск-игра, то окончательный расчет размера выигрыша производится по завершении игроком этих особенностей игры.
Партнершлет баланс сессии на своей стороне, аПлатформасверяет его со своими данными. Таким образом гарантируется механизм совпадения баланса как на стороне платформы так и на стороне партнера в любой момент времени.
-
Обработка ошибок
Платформой. Все операции обработки ошибок делают несколько попыток соединения и в случае отсутсвия корректного ответа отПартнератребуют ручного запуска для завершения хода./trx.cancel- уведомление об ошибке при списани баланса с игрока и отмене данной транзакции/trx.complete- уведомление об ошибке при начислении выигрыша игроку.
Запуск интегрированной игры:
-
Получение конфигурации для запуска:
- Выполнить запрос инициализации игровой сессии (для демо сессии к методу
/session.demo.initили/session.initдля реальной) - В теле ответа на запрос в параметре "response" будет JSON-объект следующего вида
{ "casinoBrand": "some", "clientDist" : "https://example.com", "token" : "85520955afda57b28905181593440dbb", "targetElement": "game" } - Для получения url для запуска игры нужно объединить значения параметров слудующим образом:
{clientDist}?t={token}
Результатом станет ссылка такого вида - Установить полученную ссылку в атрибут src целевого iframe
https://example.com?t=85520955afda57b28905181593440dbb
<iframe src="https://example.com?t=85520955afda57b28905181593440dbb"></iframe>
- Выполнить запрос инициализации игровой сессии (для демо сессии к методу