Como o casino conecta provedores live através de bridge
O que é bridge no contexto do casino live
Bridge é um espaço entre a plataforma da operadora e os provedores de serviços live (Evolution, Pragmatic Live, Ezugi, TVBet, etc) que normaliza API, eventos, logs e finraschets. Em termos simples, bridge torna uma dúzia de diferentes integrações «por vista» iguais: um único contrato de apostas, um único esquema de rodadas, webhooks uniformizados e relatórios.
Porquê ele
Contrato único para dezenas de provedores (menos alterações na plataforma).
Idempotidade e proteção contra suplentes (retais de rede, reconnect do jogador).
Normaliza o catálogo (tabelas, limites, side-bets, locais).
Caixa única e regras de risco (limites, AML/KYT, RG).
Monitoramento de QoS de striptease e SLA por provedores.
Cadeia de componentes
1. Casino Plataforma (hóspede): contas, KYC/RG, bónus, carteira, frente.
2. Bridge: Adaptadores de provedores, ônibus eventos, mesa de mapping/limites, finalização, loging, webhooks.
3. Live-Provider: Estrim (normalmente WebRTC/HLS), motor de jogo, contagem de resultados, distribuidores.
4. Carteira: Seamless (saldo armazenado na operadora) ou Transfer (depósito no banco de jogo do provedor).
5. Observabilidade: métricas de strim (FPS, RPT, tampão), métricas de negócios (Bet, GGR, Hold).
Protocolos e sessões de rede
Vídeo:- WebRTC é um atraso baixo (100-500 ms), necessário ICE/STUN/TURN.
- HLS/LL-HLS - atraso maior, mas mais fácil de CDN.
- Apostas e eventos: WebSocket/HTTP-SSE/REST.
- Tokens: JWT/opaque de curta duração (TTL 3-10 min), rotação a pedido do provedor.
Modelos de carteira
1) Seamless wallet (recomendado)
A taxa/pagamento vai através do bridge para a carteira da operadora.
Vantagens: equilíbrio único, controle instantâneo de limites, RG simplificado.
Contras: requisitos rigorosos de disponibilidade de carteira (SLA).
2) Transfer wallet
O jogador está transferindo fundos para o «banco de mesa» do provedor.
Vantagem: menos pressão sobre a carteira do operador durante os picos.
Contras: mais complexos retornos, recôncil e controle AML, fricção em UX.
Ciclo de vida da sessão (seamless)
1 ./ createSession → bridge cria «sessionId», devolve «streamUrl», «betSocketUrl».
2. A frente abre o leitor (WebRTC/HLS) e a conexão de eventos.
3. O jogador aposta → 'placeBet' em bridge ('idempotencyKey', 'roundId', 'selation', 'stake').
4. O Bridge pré-autoriza o valor (hold) na carteira → confirma o provedor.
5. O provedor declara "bettingClosed" → spin/deal → 'roundResult ".
6. Bridge calcula o pagamento, desconta/devolve hold, gera 'transactionId'.
7. Bridge envia webhook para a plataforma ('roundId', 'result',' payout ',' balanceAfter '), escreve para o candeeiro.
8. A conexão final/reinstalação é por 'sessionId' (idimpotente).
Contrato de evento (exemplo)
Aposta → bridge (WS/REST):json
{
"type": "bet. place", "idempotencyKey": "c0a4-77f…", "sessionId": "sess_abc123", "roundId": "R-2025-10-17-18:45:03-Table23", "selection": [{"market":"roulette_straight","value":"17"}], "stake": {"amount":"5. 00","currency":"EUR"}, "limitsProfile":"VIP_A"
}
Resposta bridge:
json
{
"status":"accepted", "balanceHold":"-5. 00", "betId":"bet_9f2…", "effectiveLimits":{"maxBet":"5000. 00"}
}
Resultado da rodada plataforma (webhook):
json
{
"event":"round. settle", "roundId":"R-2025-10-17-18:45:03-Table23", "bets":[
{"betId":"bet_9f2…","stake":"5. 00","payout":"180. 00","outcome":"WIN"}
], "transactions":[
{"id":"trn_bet_9f2…","type":"DEBIT","amount":"5. 00"}, {"id":"trn_pay_9f2…","type":"CREDIT","amount":"180. 00"}
], "balanceAfter":"1320. 40"
}
Regras-chave:
- Idempotidade: Todas as solicitações com 'idempotencyKey'.
- «WIN/LOSE/PUSH/VOID/RETRY».
- Identificadores estáveis: 'roundId' é globalmente único (tabela + tempo + shard).
Diretório e limites
Discovery: '/providers/: id/táveis '- lista mesas, limites, side-bets, idiomas, agendamento.
Pulas de limite: «DEFAULT», «VIP _ A», «VIP _ B», «Ultra».
Regras de mapping: país/moeda/status KYC → mesas e perfis de limite válidos.
Mudança de limite quente: eventos 'limits. update 'sem reiniciar a mesa.
Observabilidade e qualidade de striptease (QoS)
Métricas por jogador:- RPT sinais de apostas (alvo <150 ms WebRTC).
- Dropped frames / buffer events.
- Bitrate/Resolution adaptação.
- Bet window latency (tempo entre 'bettingOpen' e aceitação real da taxa).
- O botequim da mesa, aborted rounds, late testlents, frequência 'VOID'.
- Time-to-setle médio após encerrar as apostas.
- Alertas de degradação FPS, picos 'retry'.
Complaens e segurança
KYT/AML: Análise de fontes de depósito, bandeira de «alto risco» → proibição de apostas em live.
RG (jogo responsável): time, limites, auto-exclusão, aplicados antes de 'placeBet'.
Data residency: lógica e PII são armazenados em um operador; bridge só guarda a tecnologia. Revistas e equipamentos.
Transporte seguro: mTLS/IP-whitelist a provedores, assinaturas de solicitações HMAC, TTL de tokens curtos.
Auditoria: descarregável (WORM/append-only), exportado por «roundId »/« sessionId».
Cálculo, recôncil e devoluções
On-the-fly setle: débito instantâneo/crédito para cada resultado.
Batch reconcile: Configura os relatórios do provedor (hourly/daily) com o ledge bridge (P&L, comissão).
O VOID/REFUND do cenário: falha no striptease, erro no distribuidor, disputa - retornos parciais/completos com códigos de causa claros.
Dispute Center: ligação 'roundId' ↔ gravação de vídeo (tempo-código) para que o suporte resolva rapidamente os tíquetes.
Desempenho e resistência a falhas
Escalar: Adaptadores stateless do provedor + Kafka/NATS como um pneu de evento.
Armazéns: quente (Redis) para sessões/limites, quente (Postgres) para ledger, frio (S3) para logs.
Folbacks: Se a carteira não atender, 'SOFT _ DECLINE' com retais; se o provedor não estiver disponível, desativar as mesas/ocultar no lobby.
Retraias Idempotentes: Por tempo de rede, repita 'placeBet '/' setle' em segurança.
UX: Frontend Pattern
Sincronizar o relógio: use 'serverTime' do bridge para os temporizadores «Fechar apostas através»....
Localização: linguagem do distribuidor ≠ idioma da interface; mostre legendas/glossário de termos.
Estrim player: auto-fallback WebRTC → LL-HLS com rede ruim.
Error UI: códigos compreensíveis ('LBRG-401 TOKYO _ EXPIRED', 'LBRG-429 LIMIT _ EXCEEDED', 'LBRG-503 PROVIDER _ DOWN').
Multiplicidade: Porção rápida de mesas sem quebra de sessão (reuse 'sessionId').
Anti-pattern
Guardar tokens de longa vida em um cliente.
Aceitar uma aposta depois de 'bettingClosed' por causa do dileu - a disputa está garantida.
A ausência de 'idempotencyKey' → a dupla de retais.
Misturar time-áreas em 'roundId' e relatórios.
Definir limites de olho sem perfis ou status KYC.
Ignorar o QoS de strim - churn alto nas redes móveis.
Plano de implementação passo a passo (folha de cheque)
Arquitetura e contratos
- Fixar um único contrato de eventos: 'bet. place`, `bet. accepted`, `bet. rejected`, `round. settle`, `limits. update`, `session. close`, `provider. error`.
- Definir idempotency e formatos 'roundId', 'betId', 'transactionId'.
- Selecionar o modelo de carteira (Seamless é prioridade).
Segurança
- mTLS aos provedores, assinatura HMAC webhooks, TTL token ≤ 10 minutos.
- Política RG/AML/KYT antes da permissão de taxas, auditoria-logs.
Diretório e limites
- Importar mesas e perfis de limite, mupping por país/moeda/CUS.
- Atualização quente dos limites e estatais das mesas.
Frontend
- leitor WebRTC com folback LL-HLS, relógios de sincronização, temporizadores estáveis de apostas.
- Códigos errados e mensagens humanas.
Plano de teste
- Cenário high-latency/packet-loss, reconnation sem perda de aposta.
- Clique duplo de aposta → um débito (idempotidade).
- VOID/REFUND, rodadas disputadas, discrepâncias de relatórios.
Observabilidade
- Дашборд QoS: RTT, dropped frames, aborted rounds, time-to-settle.
- Alertas por SLA do provedor, relatórios de recôncil.
Bridge transforma o «zoológico» de integrações ao vivo em um sistema controlado, com taxas unificadas, cálculos unificados, um UX previsível e um controle transparente da qualidade do striptease. Com o bridge adequado, a operadora conecta mais rapidamente os novos provedores de serviços live, reduz os riscos tecnológicos e protege o P&L através da idempotação, limites rigorosos e observabilidade clara.