Ctrl K
Comece aqui

Introducao

Aprenda a integrar catalogo de jogos, lancamento de sessoes e callbacks de saldo/transacao com a API do Solutions-One.

20 provedores 1,099 jogos ativos REST + JSON
Configuracao

Base URL

Todos os endpoints abaixo sao relativos a esta base publica de producao.

URL https://grupo-wl.online/api/v1
Configuracao

Autenticacao

As rotas de listagem sao publicas. O endpoint de launch exige credenciais de agente no corpo da requisicao.

Essa rota de launch requer agent_code, agent_token e agent_secret no JSON.
Listagens publicas

GET /api/v1/providers e GET /api/v1/games nao exigem autenticacao.

Launch autenticado

Envie as credenciais do agente no body JSON de POST /api/v1/game-launch.

Configuracao

Callback URL

Cada agente possui um callback_url unico. Essa mesma URL recebe os eventos user_balance e transaction.

A callback_url deve ser HTTPS publica e responder HTTP 200 em todas as requisicoes.
Endpoints

Listar provedores

Retorna a lista de provedores cadastrados conforme base de dados.

GET /api/v1/providers
Exemplo de retorno
{
    "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"
        }
    ]
}
Endpoints

Listar jogos

Lista somente jogos ativos. Use provider + game_code retornados para lancamento.

GET /api/v1/games
Exemplo de retorno
{
    "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"
        }
    ]
}
Endpoints

Game launch

Cria sessao de jogo e retorna launch_url para abertura no iframe ou nova aba.

POST /api/v1/game-launch

Body Parameters

method string Obrigatorio

Use exatamente "game_launch".

agent_code string Obrigatorio

Codigo do agente.

agent_token string Obrigatorio

Token do agente.

agent_secret string Obrigatorio

Secret key do agente.

user_code string Obrigatorio

Identificador publico do jogador no sistema parceiro.

user_balance number Obrigatorio

Saldo do jogador. O backend exige valor positivo (> 0).

provider_code string Obrigatorio

Codigo do provedor, conforme /api/v1/providers.

game_code string Obrigatorio

Codigo do jogo ativo, conforme /api/v1/games.

lang string (2) Opcional

Idioma. Padrao: "pt".

Request body
{
    "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"
}
Exemplo de retorno
{
    "status": 1,
    "msg": "SUCCESS",
    "launch_url": "https://grupo-wl.online/play/15_dragon_pearls/eyJ0b2tlbiI6..."
}
Endpoints

Abrir launch_url

Use iframe ou nova aba conforme o produto parceiro.

Iframe
<iframe
  src="https://grupo-wl.online/play/15_dragon_pearls/eyJ0b2tlbiI6..."
  width="100%"
  height="720"
  frameborder="0"
  allowfullscreen
></iframe>
launch_url interna: protegida por token, expira por sessao — gere novamente via game-launch.
launch_url sports: pode vir direta do provedor.
Webhooks

Callback user_balance

Evento de consulta e sincronizacao de saldo do jogador enviado para sua callback_url.

Payload recebido
{
    "method": "user_balance",
    "user_code": "player_123",
    "user_balance": 100.5
}
Responda HTTP/1.1 200 OK para confirmar o recebimento.
Webhooks

Callback transaction

Evento de rodada processada. O objeto interno muda conforme o game_type.

Payload slot
{
    "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"
    }
}
Payload pool
{
    "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"
    }
}
Responda 200 OK e aplique idempotencia por txn_id no seu ledger.
Referencia

Status e erros

Codigos HTTP comuns no fluxo de game-launch.

400 Falha do provedor na criacao da launch_url. POST /api/v1/game-launch
403 Credenciais invalidas, jogo indisponivel ou saldo operacional insuficiente. POST /api/v1/game-launch
404 Jogo nao encontrado para o provider_code informado. POST /api/v1/game-launch
422 Validacao falhou (campos obrigatorios ausentes ou formato invalido). POST /api/v1/game-launch
Referencia

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.
Referencia

Exemplos cURL

Chamadas rapidas para homologacao e testes manuais.

Listar provedores
curl -s https://grupo-wl.online/api/v1/providers
Listar jogos
curl -s https://grupo-wl.online/api/v1/games
Game launch
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"
  }'
Referencia

Exemplo Node.js

Exemplo basico com fetch para requisitar launch_url.

Node.js (fetch)
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);
}