Pular para o conteúdo

Início rápido

Em quinze minutos você vai rodar o sandbox e o Tucano Casino (o operador de referência em examples/operator-node), entrar, fazer uma aposta no sportsbook incorporado e ver o débito assinado chegar à carteira do cassino.

Valor
Tenant demo-embed (moeda USD, carteira seamless)
Chave de API de integração (X-API-Key) dev-integration-key
Segredo da carteira (HMAC) dev-wallet-secret
Origens de incorporação permitidas http://localhost:3000, http://127.0.0.1:3000, :5173, :8080 e :4322 nos dois hosts
Back office /admin/, admin@bookmaker.dev / admin-dev-password

Você precisa de Node 22, Go 1.26 e Postgres 16 (ou Docker), e de um checkout do repositório da plataforma.

  1. Suba o Postgres e instale os workspaces:

    Janela do terminal
    npm install
    ./scripts/dev-db.sh
  2. Suba a API apontando a carteira do demo-embed para o cassino que você vai rodar:

    Janela do terminal
    SEAMLESS_WALLET_URL_OVERRIDE=http://127.0.0.1:3000/wallet \
    SPORTSBOOK_URL=http://localhost:5173 \
    npm run dev -w @bookmaker/api

    A API escuta em :8080, com partidas simuladas e os tenants de demonstração. SPORTSBOOK_URL faz a launchUrl devolvida apontar para o servidor de desenvolvimento do sportsbook do próximo passo.

  3. Suba o sportsbook (ele também serve o SDK de incorporação em /embed/v1.js):

    Janela do terminal
    npm run dev -w @bookmaker/sportsbook
  4. Suba o cassino:

    Janela do terminal
    npm start -w @bookmaker/example-operator
  5. Abra http://localhost:3000, escolha qualquer cotação e clique em Log in to bet. O sportsbook pede ao cassino que faça o login do jogador (login_required); entre como ana / ana-demo-123. O cassino envia um launch token novo ao iframe aberto (set_launch_token) e o boletim está pronto.

  6. Informe 5 como valor e faça a aposta. O terminal do cassino mostra a chamada assinada da plataforma:

    wallet debit bet:5d7e5cd1-ae46-4159-9a66-51ee70aba189 player=casino-1001 amount=500 kind=bet -> 200 balance=49500

    e o cabeçalho do cassino cai para $495.00 quando o sportsbook envia balance_changed. Abra o Integration log no canto inferior direito para ver todos os eventos.

Para liquidar a aposta na hora, abra o back office em /admin/ (login de staff acima), vá em Liquidação manual e informe o resultado do mercado: a plataforma chama o endpoint credit do cassino com o prêmio, ou com valor 0 se a aposta perdeu. Veja Testes.

Crie uma sessão, como o seu servidor fará:

Janela do terminal
curl -s http://localhost:8080/api/v1/integration/sessions \
-H 'Content-Type: application/json' \
-H 'X-Tenant-ID: demo-embed' \
-H 'X-API-Key: dev-integration-key' \
-d '{"externalPlayerId": "player-42", "displayName": "Maria", "path": "/live"}'
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…",
"launchToken": "lt_NIpjVSCtwQlG0iLUbF9T7WeY84YSVs3pVQeLxbbH1O0",
"launchExpiresAt": "2026-10-16T03:01:22.081091Z",
"launchUrl": "http://localhost:5173/?tenant=demo-embed&launch=lt_NIpjVSCtwQlG0iLUbF9T7WeY84YSVs3pVQeLxbbH1O0&path=%2Flive",
"player": { "id": "pl_bd387263c326f44e90808bde", "externalId": "player-42", "status": "active", "…": "…" }
}

Abra a launchUrl em até dois minutos: você está logado como player-42, e a barra de endereço já não contém o token. Abra de novo: você não está, porque launch tokens são de uso único.

Depois, monte o sportsbook em uma página sua com o SDK de incorporação, ou experimente todos os comandos no Playground.