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 - Закрытие сессии в процессе интерактивных бонусов не рекомендуется
- После закрытия сессии становится недоступна для дальнейшей игры. В том числе если на этой сессии есть неоконченные фрираунды
- Платформа работает корректно, как с вариантом без закрытия сессий так и с закрытием. При варианте без закрытия игровая сессия как бы ставится на паузу и игрок может вернуться к ней в любой момент. Принудительное же закрытие сессии гарантирует, что у игрока не останется в игре приза незачисленного на баланс. Выбор способа окончания игры Платформа оставляет Партнеру
- Выбор способа окончания игры можно предоставить игроку показывая, например, модальное окно с выборами: "Поставить игру на паузу" или "Закончить игровую сессию"
- Во время обработки запроса Платформа шлет партнеру 2 запроса
Пример ответа Платформы
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"
}
}