Cadastro → KYC → depósito → jogo → saque
- Cadastro —
POST /playerscom umexternalIdestável (o id do jogador no seu sistema), nome, e-mail, CPF válido e data de nascimento (maior de 18 anos). O jogador nasceativocom KYCnao_iniciado. A API não recebe senha: o login é seu. - KYC —
POST /players/{playerId}/kyc/submissionsregistra o envio de um documento (você guarda o arquivo e informa umareference). O KYC passa aem_analise. A decisão é da equipe de compliance no backoffice; você recebe o resultado pelo webhookkyc.status_changed(ou consultandoGET /players/{playerId}/kyc). Em sandbox, simule a decisão comPOST /sandbox/players/{playerId}/kyc/decision. - Depósito — o meio de pagamento é seu. Crie o depósito com
POST /players/{playerId}/deposits(ficapending), e quando o pagamento for confirmado chamePOST /deposits/{depositId}/confirm, que credita a carteira. Se o pagamento não se concretizar, usePOST /deposits/{depositId}/fail. - Jogo —
POST /players/{playerId}/game-sessionsdevolve agameUrl. Exige jogador ativo e KYCaprovado. Abra a URL no navegador do jogador (por exemplo, em um iframe); as apostas movimentam a carteira sem passar pelo seu servidor. - Saque —
POST /players/{playerId}/withdrawalsentra na fila de análise da equipe. Acompanhe pelo webhookwithdrawal.status_changedou porGET /withdrawals/{withdrawalId}. Enquanto estiver em análise você pode cancelar comPOST /withdrawals/{withdrawalId}/cancel. Em sandbox, simule a análise comPOST /sandbox/withdrawals/{withdrawalId}/decision(approve,rejectoupay).
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_MISMATCHcaso contrário).