Общая информация по подключению

Термины:

  • Платформа - комплекс программных средств предоставляющий Партнеру доступ к своим играм посредством 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):

Подключение Партнера к Платформе.

Предварительные шаги:

  1. Каждому Партнеру присваивается Идентификатор Партнера, который оговаривается в устном порядке перед подключением к Платформе.
  2. Каждому Партнеру выдается пароль, который, вместе с Идентификатором Партнера, используется для доступа к Личному Кабинету.
  3. Секретный ключ может быть получен и изменен Партнером самостоятельно в любое время в Личном Кабинете.

Практические шаги по подключению:

  • Создать веб страницу с произвольным дизайном содержащую iframe для загрузки интегрируемых игры - Пример
  • Использовать API Платформы для получения списка игр, валют, а также для запуска игровой сессии
  • Реализовать работу методов на Партнерской стороне в соответствии с API Партнера
  • Пример реализации интеграции для PHP.

Порядок работы с API (Workflow):

  1. Выполнить запрос к Платформе на инициализацию сессии
    Для РЕАЛЬНОЙ сессии /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. Получение конфигурации
    для РЕАЛЬНОЙ сессии
    • Во время обработки запросна инициализацию сессии Платформа отправляет Партнеру 2 запроса: /check.session и /check.balance для проверки, что запрос инициализирован Партнером, а также для получения параметров сессии.
    • Если проверка запроса прошла успешно, то Платформа отправляет партнеру конфигурацию для запуска игры
    для РЕАЛЬНОЙ сессии с ФРИРАУНДАМИ
    • Во время обработки запросна инициализацию сессии Платформа отправляет Партнеру 3 запроса: /check.session, /freerounds.activate и /check.balance для проверки, что запрос инициализирован Партнером, а также для получения параметров сессии.
    • Если проверка запроса прошла успешно, то Платформа отправляет партнеру конфигурацию для запуска игры
    • При активации фрираундов учитывайте следующие особенности:
      • Если произошла ошибка при любом из 3-х указанных выше запросов, то Платформа будет считать фрираунды НЕактивировнными. В том числе если запрос к /freerounds.activate прошел успешно.
      • Игроку нельзя активировать фрираунды для игры, в которой для него уже активированы фрираунды.
      • Если в игре есть незавершенный ход, незаконченная фича и/или активные фриспины, все эти особенности игры будут приудительно завершены, а выигрыш за них будет отправлен с запросом /deposit.win сразу после запроса /check.balance.
      • Фрираунды всегда активируются по максимальному для игры количеству линий и по минимальной для игры ставке. Подробнее о фрираундах и как на них регулировать размер выигрышей
    для ДЕМО сессии
    • Платформа сразу отправляет партнеру конфигурацию для запуска игры без каких либо запросов
    • Особенности работы демо сессий:
      • Пункты 4 и 5 "Порядка работы с API (Workflow)" не касаются демо-сессий
      • Демо-сессии не шлют Партнеру абсолютно никаких запросов в ходе своей работы
      • Невозможно пополнить баланс демо-сессии
      • Отследить состояние (например, баланс, число ходов, выигрыши и пр.) демо-сессии невозможно
      • Для демо-сессий невозможно активировать фрираунды
      • Демо-сессий не нужно закрывать запросом /close.session
  3. Запуск игры Партнером с использованием полученной от Платформы конфигурации. Подробно механизм получения ссылки для iframe из Параметров описан в разделе Запуск интегрированной игры
  4. Обработка ходов Платформой. На каждый ход Игрока Платформа формирует к Партнеру 2 запроса
    • /withdraw.bet - списание с баланса игрока стоимости хода. Совершается до начала визуализации результата хода
    • /deposit.win - начисление на баланс выигрыша за ход. Запрос шлется даже если выигрыш нулевой. Присылается при окончательном расчете размера выиграша за игровое действие.
      Так, например, если в игре есть бонусы, фриспины и/или риск-игра, то окончательный расчет размера выигрыша производится по завершении игроком этих особенностей игры.
    В результате каждого из этих запросов Партнер шлет баланс сессии на своей стороне, а Платформа сверяет его со своими данными. Таким образом гарантируется механизм совпадения баланса как на стороне платформы так и на стороне партнера в любой момент времени.
  5. Обработка ошибок Платформой. Все операции обработки ошибок делают несколько попыток соединения и в случае отсутсвия корректного ответа от Партнера требуют ручного запуска для завершения хода.
    • /trx.cancel - уведомление об ошибке при списани баланса с игрока и отмене данной транзакции
    • /trx.complete - уведомление об ошибке при начислении выигрыша игроку.

Запуск интегрированной игры:

  • Получение конфигурации для запуска:
    1. Выполнить запрос инициализации игровой сессии (для демо сессии к методу /session.demo.init или /session.init для реальной)
    2. В теле ответа на запрос в параметре "response" будет JSON-объект следующего вида
      {
        "casinoBrand": "some",
        "clientDist" : "https://example.com",
        "token" : "85520955afda57b28905181593440dbb",
        "targetElement": "game"
      }
    3. Для получения url для запуска игры нужно объединить значения параметров слудующим образом: {clientDist}?t={token}
      Результатом станет ссылка такого вида
    4. https://example.com?t=85520955afda57b28905181593440dbb
    5. Установить полученную ссылку в атрибут src целевого iframe
    6. <iframe src="https://example.com?t=85520955afda57b28905181593440dbb"></iframe>