API Платформы

Общие схемы ответов Платформы на запросы Партнера

Все ответы от Платформы на запросы Партнера приходят в формате JSON

  • Http Status Code - не является частью апи и во всех ответах должен быть 200 (в случае успешных и неуспешных вызовах). Http Status Code отличный от 200 говорит либо о серьезных неполадках на сервере, либо полностью ошибочном запросе. Сверьтесь с документацией или обратитесь в тех.поддержку.
  • Общая схема положительного ответа : Все положительные ответы в теле ответа содержат "status": 200
    {
          "status" : 200,
          "method" : "service.method",
          "response" : ...response entity as json...
    }
  • Общая схема отрицательного ответа:

    {
          "status" : "цифровой код отличный от 200",
          "method" : "service.method",
          "message" : "Строковое описание ошибки. В целях безопасности, описание не 
    обязательно четко описывает, что произошло на сервере, но в некоторых случаях может 
    служить подсказкой. В остальных случаях обратитесь в тех.поддержку."
    }

Методы на стороне Платформы

/games.list - Получение списка игр

  • Метод HTTP
    • GET
Пример ответа Платформы

JSON:

{
    "method": "games.list",
    "status": 200,
    "response": [
      {
        "id" : 15,
        "title" : "Always Hot",
        "icon" : "button_slot_alwayshot.png",
        "type" : "slots",
        "provider" : "superomatic",
        "is_enabled" : true,
        "group" : "gaminator"
      },
      ...
    ]
}

/currencies.list - Получение списка доступных валют

  • Метод HTTP
    • GET
Пример ответа Платформы

JSON:

{
    "method": "currencies.list",
    "status": 200,
    "response": [
      {
        "title" : "Euro",
        "code" : "EUR",
        "minor_units" : 2
      },
      ...
    ]
}

/init.session - Получение ссылки на игровую сессию

  • Метод HTTP
    • POST
  • Заголовок
    • Content-type: application/json
  • Параметры
    • @partner.alias - Идентификатор партнера (Логин Субагента)
    • @partner.session - Идентификатор сессии игрока сгенерированный Партнером
    • @freerounds.id - Идентификатор фрираундов. Необязательный параметр (указывать только для активации фрираундов).
    • @game.id - Идентификатор игры на стороне Платформы
    • @currency - Валюта игровой сессии
Пример ответа Платформы

JSON:

{
    "method": "init.session",
    "status": 200,
    "response": {
      "casinoBrand": "some",
      "clientDist" : "https:\/\/example.com",
      "token" : "85520955afda57b28905181593440dbb",
      "targetElement": "game"
    }
}

/init.demo.session - Получение ссылки на ДЕМО игровую сессию

  • Метод HTTP
    • POST
  • Заголовок
    • Content-type: application/json
  • Параметры
    • @balance - Демо-баланс
    • @denomination - Деноминация демо-баланса в копейках(при значении 100 деноминация 1:1)
    • @game.id - Идентификатор игры на стороне Платформы
    • @currency - Валюта игровой сессии
Пример ответа Платформы

JSON:

{
    "method": "init.demo.session",
    "status": 200,
    "response": {
      "casinoBrand": "demo",
      "clientDist" : "https:\/\/example.com",
      "token" : "85520955afda57b28905181593440dbb",
      "targetElement": "game"
    }
}

/close.session - Принудительное закрытие игровой сессии

  • Метод HTTP
    • POST
  • Заголовок
    • Content-type: application/json
  • Параметры
    • @partner.alias - Идентификатор партнера (Логин Субагента)
    • @partner.session - Идентификатор сессии игрока сгенерированный Партнером
  • Особенности реализации
    • Во время обработки запроса Платформа шлет партнеру 2 запроса /check.balance и /deposit.win. Сессия будет закрыта только в случае успешного выполнения обоих запросов
    • /check.balance актуализирует баланс на стороне Платформы на тот случай если он изменялся на стороне Партнера
    • Сумма всех призов от неоконченных игроком фич игры будет отправлена запросом /deposit.win
    • Закрытие сессии в процессе интерактивных бонусов не рекомендуется
    • После закрытия сессии становится недоступна для дальнейшей игры. В том числе если на этой сессии есть неоконченные фрираунды
    • Платформа работает корректно, как с вариантом без закрытия сессий так и с закрытием. При варианте без закрытия игровая сессия как бы ставится на паузу и игрок может вернуться к ней в любой момент. Принудительное же закрытие сессии гарантирует, что у игрока не останется в игре приза незачисленного на баланс. Выбор способа окончания игры Платформа оставляет Партнеру
    • Выбор способа окончания игры можно предоставить игроку показывая, например, модальное окно с выборами: "Поставить игру на паузу" или "Закончить игровую сессию"
Пример ответа Платформы

JSON:

{
    "method": "close.session",
    "status": 200,
    "response": true
}

/games.freeroundsInfo - Получение краткой информации о состоянии фрираунда.

  • Метод HTTP
    • POST
  • Заголовок
    • Content-type: application/json
  • Параметры
    • @partner.alias - Идентификатор партнера (Логин Субагента)
    • @sign - Подпись
    • @freerounds.id - уникальный для Партнера идентификатор фрираундов
Пример ответа Платформы

JSON:

{
  "status": 200,
  "response": {
    "max_step" : 15, // кол-во выделенных шагов
    "steps" : 2, // кол-во отыгранных шагов
    "total_win" : "15000"
  }
}