Pular para o conteúdo principal

Mapa de Endpoints da API

Base URL stage: https://stage1-api-new.bs2bet.com/v2

Catálogo dos endpoints do BFF consumidos pelo template front-web-base (direto ou via packages do core @cactus-agents/*). Para ver qual rota SSR (/api/*) chama cada um, consulte SSR Routes → BFF.

Auth (15 endpoints)

MetodoEndpointObservacao
POST/auth/loginLogin por email/senha (+ 2FA, captcha, icg_token)
POST/auth/logoutInvalida sessao
POST/auth/logout-autoLogout automatico (sessao expirada)
GET/auth/user-profile[?check_spa_again=1&icg_token=…]Perfil do usuario logado
POST/users/refresh-tokenRefresh JWT
POST/auth/registerRegistro completo (quando documento/telefone sao obrigatorios)
POST/auth/register/simplifiedRegistro simplificado legado
POST/bff/register-simplifiedRegistro single-step por email
POST/bff/social/{provider}Login social (troca token do provider por JWT Cactus)
POST/bff/social/{provider}/registerSimplifiedRegistro social (provider dinamico)
POST/auth/passwords/reset/optionsEsqueci a senha — envia opcoes de recuperacao
POST/auth/passwords/reset/by-emailEnvia codigo por email
POST/auth/passwords/reset/by-smsEnvia codigo por SMS
POST/auth/passwords/reset/validate-codeValida codigo de recuperacao
POST/auth/passwords/reset/confirmConfirma nova senha
POST/documents/validateValida CPF (BR) ou CURP (MX)

O endpoint final de registro e resolvido por resolveRegisterEndpoint() no template em runtime conforme registerTypeVersion da brand + flags requestDocument/requestPhone/socialService.

Brand (4 endpoints)

MetodoEndpointObservacao
GET/appearanceConfiguracao visual da marca (logo, cores, banners)
GET/bff/featuresFeature flags ativas
POST/bookmaker-settingsConfiguracoes do bookmaker (operador)
GET/getlegaltermTermos legais / contratos da marca

User (26 endpoints)

MetodoEndpointObservacao
POST/users/update/{id}Atualiza dados do usuario
POST/users/change-password/{id}Troca senha
GET/bff/users/address-by-userEndereco cadastrado
PATCH/bff/users/self-emailAtualiza email
PATCH/bff/users/add-phoneAdiciona telefone
PATCH/bff/users/update-addressAtualiza endereco
PATCH/bff/users/self-contractsAceita contratos/termos
PATCH/bff/users/self-mktOpt-in/out marketing
PATCH/bff/users/update-user-info-metadataPreferencias genericas (whitelist no core)
PATCH/bff/users/update-pending-dataAtualiza dados pendentes pos-login
POST/bff/users/check-passwordVerifica senha atual
PATCH/bff/users/self-two-factorHabilita/desabilita 2FA
GET/bff/users/account-socialLista contas sociais vinculadas
POST/bff/users/account-social/connect/{type}Vincula conta social (google, apple)
DELETE/bff/users/account-social/{id}Remove conta social
GET/bff/users/login-history?page={page}Historico de logins paginado
GET/bff/games/user-last-casino-games-dlUltimos jogos jogados pelo usuario (DL)
GET/bff/users/zendesk/create-or-update-userToken SSO do Zendesk
POST/users/list-referralsLista convidados (refer-a-friend)
POST/apicepLookup de CEP/codigo postal
PATCH/bff/users/update-limitsAtualiza limites de deposito/aposta
PATCH/bff/users/timeout-limitsDefine timeout temporario
PATCH/bff/users/self-exclusionAutoexclusao
POST/income-report/generateGera relatorio IRPF
GET/income-report/{id}Polling do relatorio (intervalo de 3s)
GET/income-report/available-yearsAnos disponiveis para relatorio

Wallet (7 endpoints)

MetodoEndpointObservacao
GET/users/walletSaldo atual
POST/bff/transactionsHistorico de transacoes (filtros no body)
GET/transactions/cashback?page=...&per_page=10Historico de cashback paginado
GET/bonus/rolloverRollover ativo
GET/bonus/rollover-accomplishedRollover concluido
POST/bonus/transferTransfere saldo de bonus
POST/cashback/transferResgata cashback
GET/withdraw/{id}/generateGera comprovante de saque
observação

Wallet tem 8 linhas na tabela, mas /withdraw/{id}/generate e operacao de saque — contabilizado aqui por proximidade funcional.

Payments (12 endpoints)

MetodoEndpointObservacao
GET/payment-providersLista de providers de pagamento disponiveis
POST/wallet/add-creditDeposito
GET/wallet/charge/{transactionId}Status do deposito (polling)
POST/new-withdrawsSolicita saque
GET/bff/users/bank-listLista de bancos
POST/pix-keys/user-keyLe chave PIX cadastrada (BR)
POST/pix-keys/update-user-key-v2Atualiza chave PIX (BR)
GET/mex-bank-accounts/user-accountConta bancaria do usuario (MX)
POST/mex-bank-accounts/storeCadastra conta bancaria (MX)
GET/generic-bank-accounts/user-accountConta bancaria generica do usuario (CHL/NGA)
POST/generic-bank-accounts/storeCadastra conta bancaria generica (CHL/NGA)
GET/coupons/{code}Valida cupom promocional

Games (19 endpoints)

MetodoEndpointObservacao
GET/casino-games/homeLayout da homepage — rows com jogos por categoria
GET/casino-games/page/{page}Layout de pagina curada pelo BFF (alt. de /home)
GET/casino-games/list/baseCategorias (custom_categories) + providers
GET/casino-games/list/?…Lista paginada: categories[]=slug&providers[]=slug&term=texto&page=1&per_page=24
GET/casino-games?slug={slug}Detalhe de um jogo
GET/casino-games/filterLegacy — substituido por /casino-games/list
GET/start-game-v2?…?slug=&platform=MOBILE|WEB&use_demo=0|1 — autenticado, abre jogo
GET/bff/games/top-wins-dlMaiores ganhos (data-lake)
GET/bff/games/game-top-wins-dl?slug={slug}Maiores ganhos por jogo (data-lake)
GET/bff/games/last-winsUltimos ganhos
GET/bff/games/game-high-payers-dlHigh-payers (data-lake) — alimenta top-games na home
GET/bff/games/statistics?slug={slug}Estatisticas por periodo (5min, 1h, 24h, 7d, 15d, 30d)
GET/bff/games/statistics-dl?slug={slug}Estatisticas data-lake (usadas por /api/games/statistics-dl)
GET/casino-game-votes?casinoGameId={id}Voto do usuario (autenticado)
GET/casino-game-votes/count/{gameId}Contagem de likes/dislikes
POST/casino-game-votes/store/Body: { casinoGameId, is_like } — autenticado
DELETE/casino-game-votes/destroy/{gameId}Remove voto — autenticado
GET/bff/favorite-gamesLista jogos favoritos do usuario
PUT/bff/favorite-games/toggleToggle de favorito (body { slug_url })

Sports (6 endpoints)

MetodoEndpointObservacao
GET/cactus-sportbook/searchBusca no sportsbook
GET/cactus-sportbook/launchLaunch autenticado
GET/cactus-sportbook/anonymous-launchLaunch anonimo
GET/cactus-sportbook/*Proxy transparente para qualquer subpath (/api/cactus-sportbook/*)
POST/betby/get-jwtJWT para provider Betby
GET/alternar/tokenToken para provider Altenar

KYC (4 endpoints)

MetodoEndpointObservacao
GET/bff/users/kyc?source={source}Inicia KYC
GET/bff/users/kyc/recoveryRecovery do KYC
GET/bff/users/kyc/status?kyc_id={id}Status do KYC
GET/bff/users/kyc/status/recoveryStatus recovery do KYC

Validation (8 endpoints)

:::warning Typo no backend Os endpoints /bff/users/validade-email-code e /bff/users/validade-sms-code possuem typo no backend — "validade" ao inves de "validate". Nao corrigir no front; usar exatamente como esta. :::

MetodoEndpointObservacao
POST/bff/users/send-emailEnvia codigo de verificacao por email
POST/bff/users/validade-email-codeValida codigo de email (typo: "validade")
POST/bff/users/send-smsEnvia codigo de verificacao por SMS
POST/bff/users/validade-sms-codeValida codigo de SMS (typo: "validade")
PATCH/bff/users/self-phoneAtualiza telefone apos validacao
PATCH/bff/users/add-addressAdiciona endereco
PATCH/bff/users/add-initial-dataDados iniciais pos-registro
POST/bff/validate-confirmationConfirma link de validacao por email

Gamification (2 endpoints REST + Smartico SDK)

A gamificacao do Cactus expoe 2 endpoints REST pelo BFF (rewards / redeem). Alem disso, ha integracao client-side com Smartico (3rd party) via JS SDK, sem rotas BFF envolvidas.

MetodoEndpointObservacao
GET/bff/gamification/rewards?page=…&per_page=…&type=…Lista paginada de rewards do usuario
POST/bff/gamification/redeemResgata reward — body { reward_id }

Smartico: ver SmarticoInitializer no layout e o hook useSmartico().


Headers obrigatorios

Toda requisicao envia:

HeaderDescricao
tenantID do tenant (marca)
langIdioma (ex: pt-BR)
languageIdioma alternativo
versionVersao da API
origin-domainDominio de origem
AuthorizationBearer token (quando logado)

Comportamentos por status HTTP

StatusComportamento
401Logout automatico
429Abre challenge/captcha
202Timeout limit (resolve, nao throw)

Rotas de proxy do template (/api/*)

O template front-web-base expõe ~90 rotas internas que atuam como proxies server-side: leem o JWT do cookie HttpOnly e delegam ao BFF. O front-end só chama essas rotas — nunca o BFF diretamente.

Consulte SSR Routes → BFF para o mapa completo /api/* → BFF, agrupado por dominio (Auth, Validation, User, Wallet, Payments, Games, Search, Sports, KYC, Rewards, Income Report, Album, FTD Cashback, Tracking, Infra).