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.
Credenciais do sandbox
Seção intitulada “Credenciais do sandbox”| 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 |
Rode o operador de referência
Seção intitulada “Rode o operador de referência”Você precisa de Node 22, Go 1.26 e Postgres 16 (ou Docker), e de um checkout do repositório da plataforma.
-
Suba o Postgres e instale os workspaces:
Janela do terminal npm install./scripts/dev-db.sh -
Suba a API apontando a carteira do
demo-embedpara 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/apiA API escuta em
:8080, com partidas simuladas e os tenants de demonstração.SPORTSBOOK_URLfaz alaunchUrldevolvida apontar para o servidor de desenvolvimento do sportsbook do próximo passo. -
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 -
Suba o cassino:
Janela do terminal npm start -w @bookmaker/example-operator -
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 comoana/ana-demo-123. O cassino envia um launch token novo ao iframe aberto (set_launch_token) e o boletim está pronto. -
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=49500e 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.
Teste a API à mão
Seção intitulada “Teste a API à mão”Crie uma sessão, como o seu servidor fará:
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.