Introducao
Aprenda a integrar catalogo de jogos, lancamento de sessoes e callbacks de saldo/transacao com a API do Solutions-One.
Base URL
Todos os endpoints abaixo sao relativos a esta base publica de producao.
https://grupo-wl.online/api/v1
Autenticacao
As rotas de listagem sao publicas. O endpoint de launch exige credenciais de agente no corpo da requisicao.
agent_code, agent_token e agent_secret no JSON.
GET /api/v1/providers e GET /api/v1/games nao exigem autenticacao.
Envie as credenciais do agente no body JSON de POST /api/v1/game-launch.
Callback URL
Cada agente possui um callback_url unico. Essa mesma URL recebe os eventos user_balance e transaction.
Listar provedores
Retorna a lista de provedores cadastrados conforme base de dados.
/api/v1/providers
{
"status": 1,
"msg": "Lista de provedores",
"providers": [
{
"id": "1",
"code": "BOOONGO",
"name": "BOOONGO",
"type": "slot",
"status": "1"
},
{
"id": "2",
"code": "CQ9",
"name": "CQ9",
"type": "slot",
"status": "1"
},
{
"id": "3",
"code": "DREAMTECH",
"name": "DREAMTECH",
"type": "slot",
"status": "1"
}
]
}
Listar jogos
Lista somente jogos ativos. Use provider + game_code retornados para lancamento.
/api/v1/games
{
"status": 1,
"msg": "SUCCESS",
"games": [
{
"game_name": "15 Dragon Pearls",
"game_code": "15_dragon_pearls",
"provider": "BOOONGO",
"img_url": "https://www.grupo-wl.online/storage/games/playfiver/15_dragon_pearls.webp",
"game_type": "slot",
"status": "1",
"original": "0",
"distribution": "originais"
},
{
"game_name": "3 Coins",
"game_code": "3_coins",
"provider": "BOOONGO",
"img_url": "https://www.grupo-wl.online/storage/games/playfiver/3_coins.webp",
"game_type": "slot",
"status": "1",
"original": "0",
"distribution": "originais"
}
]
}
Game launch
Cria sessao de jogo e retorna launch_url para abertura no iframe ou nova aba.
/api/v1/game-launch
Body Parameters
Use exatamente "game_launch".
Codigo do agente.
Token do agente.
Secret key do agente.
Identificador publico do jogador no sistema parceiro.
Saldo do jogador. O backend exige valor positivo (> 0).
Codigo do provedor, conforme /api/v1/providers.
Codigo do jogo ativo, conforme /api/v1/games.
Idioma. Padrao: "pt".
{
"method": "game_launch",
"agent_code": "AGT001",
"agent_token": "xxxxxxxx",
"agent_secret": "yyyyyyyy",
"user_code": "player_123",
"user_balance": 100.5,
"provider_code": "BOOONGO",
"game_code": "15_dragon_pearls",
"lang": "pt"
}
{
"status": 1,
"msg": "SUCCESS",
"launch_url": "https://grupo-wl.online/play/15_dragon_pearls/eyJ0b2tlbiI6..."
}
Abrir launch_url
Use iframe ou nova aba conforme o produto parceiro.
<iframe
src="https://grupo-wl.online/play/15_dragon_pearls/eyJ0b2tlbiI6..."
width="100%"
height="720"
frameborder="0"
allowfullscreen
></iframe>
launch_url sports: pode vir direta do provedor.
Callback user_balance
Evento de consulta e sincronizacao de saldo do jogador enviado para sua callback_url.
{
"method": "user_balance",
"user_code": "player_123",
"user_balance": 100.5
}
HTTP/1.1 200 OK para confirmar o recebimento.
Callback transaction
Evento de rodada processada. O objeto interno muda conforme o game_type.
{
"method": "transaction",
"user_code": "player_123",
"user_balance": 97.3,
"game_type": "slot",
"slot": {
"provider_code": "BOOONGO",
"game_code": "15_dragon_pearls",
"type": "BASE",
"bet_money": 1,
"win_money": 0.3,
"txn_id": "txn_20260101_00001",
"txn_type": "debit_credit"
}
}
{
"method": "transaction",
"user_code": "player_123",
"user_balance": 96.8,
"game_type": "pool",
"pool": {
"provider_code": "BOOONGO",
"game_code": "pool_fish_hunter",
"bet_money": 2,
"win_money": 1.5,
"txn_id": "txn_20260101_00002",
"txn_type": "debit_credit"
}
}
txn_id no seu ledger.
Status e erros
Codigos HTTP comuns no fluxo de game-launch.
Boas praticas
Recomendacoes publicas para integracao segura e estavel.
- Use callback_url em HTTPS publico.
- Registre logs de callbacks para auditoria.
- Aplique idempotencia por txn_id.
- Nao exponha agent_token e agent_secret no frontend.
- Atualize catalogo local consumindo /providers e /games periodicamente.
Exemplos cURL
Chamadas rapidas para homologacao e testes manuais.
curl -s https://grupo-wl.online/api/v1/providers
curl -s https://grupo-wl.online/api/v1/games
curl -s -X POST https://grupo-wl.online/api/v1/game-launch \
-H "Content-Type: application/json" \
-d '{
"method": "game_launch",
"agent_code": "AGT001",
"agent_token": "xxxxxxxx",
"agent_secret": "yyyyyyyy",
"user_code": "player_123",
"user_balance": 100.50,
"provider_code": "BOOONGO",
"game_code": "15_dragon_pearls",
"lang": "pt"
}'
Exemplo Node.js
Exemplo basico com fetch para requisitar launch_url.
async function launch() {
const res = await fetch("https://grupo-wl.online/api/v1/game-launch", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
method: "game_launch",
agent_code: "AGT001",
agent_token: "xxxxxxxx",
agent_secret: "yyyyyyyy",
user_code: "player_123",
user_balance: 100.50,
provider_code: "BOOONGO",
game_code: "15_dragon_pearls",
lang: "pt"
})
});
const json = await res.json();
console.log(json.launch_url);
}