Интеграция игр WINBET Casino
Платформа предоставляет готовое API для подключения легендарных EGT слотов (40 Super Hot, 20 Super Hot, Shining Crown, Burning Hot, Dazzling Hot, Flaming Hot) и многопользовательской игры Crash по протоколу Seamless Wallet.
Как работает Seamless Wallet?
В отличие от устаревшей модели с переводом баланса (Transfer Wallet), при бесшовной интеграции средства игрока всегда находятся исключительно на вашем бэкенде.
- Игрок открывает слот в iframe или окне через метод
/api/v1/game/launch. - Каждый спин вызывает колбэк
POST /betна ваш сервер для списания ставки. - При выигрыше сервер отправляет колбэк
POST /winдля зачисления денег на баланс игрока. - Среднее время обработки транзакции составляет < 50 миллисекунд.
win_live_key_994 и Secret Key: win_sec_1bd8319c.
[Игрок в браузере]
│
│ 1. Нажатие Spin / Ставка
▼
[WINBET Game Engine]
│
│ 2. POST /bet (X-Signature: HMAC-SHA256)
▼
[Бэкенд вашего казино]
│
│ 3. Списание с баланса игрока
▼
[WINBET Game Engine]
│
│ 4. Анимация барабанов + POST /win
▼
[Бэкенд вашего казино]
Аутентификация и безопасность
Все запросы защищены цифровой криптографической подписью на основе алгоритма HMAC-SHA256.
При каждом запросе передаются обязательные HTTP-заголовки:
| Заголовок | Тип | Описание |
|---|---|---|
X-Api-Key |
String | Уникальный публичный идентификатор мерчанта (Client ID). |
X-Signature |
String (Hex) | Подпись HMAC-SHA256 тела запроса (JSON raw string), вычисленная с использованием вашего Secret Key. |
Content-Type |
String | Всегда application/json. |
const crypto = require('crypto');
function signPayload(body, secretKey) {
const payloadStr = typeof body === 'string'
? body
: JSON.stringify(body);
return crypto
.createHmac('sha256', secretKey)
.update(payloadStr)
.digest('hex');
}
// Пример заголовков:
// X-Api-Key: win_live_key_994
// X-Signature: a3f889...994e
Запуск игры (Game Launch)
Создает игровую сессию и возвращает безопасный URL для отображения игры пользователю в <iframe> или полноэкранном окне.
Параметры запроса (JSON body)
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
api_key |
string | Да | Ваш публичный API ключ. |
game_id |
string | Да | Идентификатор игры: 40-super-hot, 20-super-hot, shining-crown, burning-hot, dazzling-hot, flaming-hot, crash. |
user_id |
string | Да | Уникальный ID игрока в базе вашего казино. |
currency |
string | Да | Валюта счета: EUR, USD, RUB, USDT. |
mode |
string | Нет | real (по умолчанию) или demo. |
return_url |
string | Нет | URL, куда слот вернет игрока по нажатию кнопки «Домой» (Home). |
curl -X POST http://localhost:3000/api/v1/game/launch \
-H "Content-Type: application/json" \
-d '{
"api_key": "win_live_key_994",
"game_id": "40-super-hot",
"user_id": "player_88412",
"currency": "EUR",
"mode": "real",
"return_url": "https://mycasino.com/slots"
}'
{
"status": "success",
"session_token": "tok_994e_b82a170",
"launch_url": "http://localhost:3000/games/40-super-hot?user=player_88412&token=tok_994e_b82a170¤cy=EUR&closeurl=https%3A%2F%2Fmycasino.com%2Fslots",
"game": {
"id": "40-super-hot",
"name": "40 Super Hot",
"rtp": 95.81
}
}
Колбэк списания ставки (/bet)
Отправляется бэкендом платформы на ваш URL при совершении спина игроком. Ваше казино должно списать сумму ставки и вернуть текущий актуальный баланс.
Тело запроса платформы (JSON body)
| Поле | Тип | Описание |
|---|---|---|
action |
string | Всегда "bet". |
round_id |
string | Уникальный номер раунда (например rnd_884192). |
user_id |
string | ID игрока. |
amount |
number | Сумма ставки (например 4.00). |
currency |
string | Валюта ставки (например "EUR"). |
{
"status": "success",
"balance": 996.00,
"transaction_id": "tx_bet_00192841"
}
{
"status": "error",
"error_code": "INSUFFICIENT_FUNDS",
"message": "Недостаточно средств на счете",
"balance": 1.20
}
Live Sandbox (Интерактивная песочница)
Вы можете протестировать метод генерации ссылки на запуск слота прямо сейчас без написания кода:
{
"message": "Нажмите кнопку 'Отправить запрос'"
}