Documentação da API

Fluxos ponta a ponta

Do cadastro do jogador ao saque — a ordem das chamadas e onde entram KYC, depósito, jogo e webhooks.

Cadastro → KYC → depósito → jogo → saque

  1. Cadastro — POST /players com um externalId estável (o id do jogador no seu sistema), nome, e-mail, CPF válido e data de nascimento (maior de 18 anos). O jogador nasce ativo com KYC nao_iniciado. A API não recebe senha: o login é seu.
  2. KYC — POST /players/{playerId}/kyc/submissions registra o envio de um documento (você guarda o arquivo e informa uma reference). O KYC passa a em_analise. A decisão é da equipe de compliance no backoffice; você recebe o resultado pelo webhook kyc.status_changed (ou consultando GET /players/{playerId}/kyc). Em sandbox, simule a decisão com POST /sandbox/players/{playerId}/kyc/decision.
  3. Depósito — o meio de pagamento é seu. Crie o depósito com POST /players/{playerId}/deposits (fica pending), e quando o pagamento for confirmado chame POST /deposits/{depositId}/confirm, que credita a carteira. Se o pagamento não se concretizar, use POST /deposits/{depositId}/fail.
  4. Jogo — POST /players/{playerId}/game-sessions devolve a gameUrl. Exige jogador ativo e KYC aprovado. Abra a URL no navegador do jogador (por exemplo, em um iframe); as apostas movimentam a carteira sem passar pelo seu servidor.
  5. Saque — POST /players/{playerId}/withdrawals entra na fila de análise da equipe. Acompanhe pelo webhook withdrawal.status_changed ou por GET /withdrawals/{withdrawalId}. Enquanto estiver em análise você pode cancelar com POST /withdrawals/{withdrawalId}/cancel. Em sandbox, simule a análise com POST /sandbox/withdrawals/{withdrawalId}/decision (approve, reject ou pay).
Cadastro ──▶ KYC em análise ──▶ (compliance aprova) ──▶ KYC aprovado
                                                            │
      Depósito pending ──▶ confirm ──▶ saldo creditado ─────┤
                                                            ├──▶ Sessão de jogo (gameUrl)
                                                            └──▶ Saque em análise ──▶ aprovado ──▶ pago

Quer executar tudo isso agora? Veja os primeiros passos, com comandos prontos.

Situações do saque

Situação Significado
under_review em análise pela equipe (pode ser cancelado)
approved aprovado, aguardando pagamento
paid pago; o valor foi debitado da carteira
rejected recusado pela equipe
cancelled cancelado por você antes da aprovação
failed falhou no processamento

O saldo só é debitado no pagamento. Para evitar pedidos que, somados, excedam o saldo, o campo withdrawable da carteira já desconta os saques em aberto.

Regras que valem em todo o fluxo

  • Só há saque e sessão de jogo com KYC aprovado; depósito e jogo respeitam autoexclusão e o limite diário definido pelo jogador (RG_BLOCKED).
  • Toda operação que cria recursos ou move dinheiro usa idempotência.
  • Trate falhas com os códigos de erro documentados; em timeouts, repita com a mesma Idempotency-Key.
  • A moeda informada em depósitos e saques deve ser a moeda do jogador (CURRENCY_MISMATCH caso contrário).