GH GambleHub

API de complacência e relatórios

1) Destino

A API da complacência é uma interface única para:
  • Coleta e validação de eventos (jogo/pagamento/autenticação) para AML/Resolvível Gaming (RG).
  • Inspeções (KYC/KYB, sanções/RER, fontes de fundos, idade).
  • A formação de relatórios regulatórios (periódicos e ad-h.) sobre os mercados.
  • Fazer registros de auditoria e execução do Legal Hold.
  • Compartilhamento de dados com provedores (PSP, bolsas KYC, listas de sanções) e portais gos.

Resultado: diminui a carga operacional, acelera a elaboração dos relatórios, garante a rastreabilidade e a conformidade com as normas locais.

2) Área de alcance (scope)

Identificação e verificação: KYC/KYB estatais, níveis de verificação, documentos.
AML/sanções/PEP: screening, monitoramento de transações, TR/SAR, alertas.
Jogo responsável (RG): limites, auto-exclusão, «cool-off», escalas comportamentais de risco.
Pagamentos e transações: depósitos/conclusões, chargeback, mecânicos de bónus.
Relatórios: GGR/impostos, registros de jogadores/sessões, restrições de marketing, incidentes de segurança.
Auditoria e armazenamento: logs imutáveis (WORM), Legal Hold, DSAR/PTBF.

3) Consumidores e fabricantes de dados

Consumidores: reguladores, interna Compliance/Risk, BI/DWH, SecOps, finanças.
Fabricantes: frentes/backends iGaming, PSP/Aquairing, fornecedores KYC, antifrode, CRM, redes afiliadas.

4) Árbitro arquitetônico

1. Edge/API-шлюз (mTLS, OAuth2/OIDC, rate-limit, WAF).
2. Serviço de complacência (Regras de Negócios, Orquestra de Provedores, Normalização).
3. Pneu de evento (Kafka/Redpanda) - fã-out no SIEM/DWH/arquivo.

4. Armazéns:
  • Operacional (PostgreSQL/ClickHouse) para consultas rápidas/agregações.
  • Arquivo (Object Armazenamento + WORM) para artefatos e relatórios imutáveis.
  • 5. Auditoria e observabilidade: OpenTelemetry (trace _ id), indexação de logs, dashboard.
  • 6. Conectores de provedores: KYC, sanções, módulos RG, portais gos com assinatura e-mail.

5) Endpoints básicos (v1)

5. 1 KYC/KYB e sanções

'POST/v1/kyc/check' - Pedido de verificação KYC (Idumpotent).
'GET/v1/kyc/1962 user _ id a./status' é o nível e a validade atuais.
'POST/v1/sanções/screen' - screening de sanções/RER.
'GET/v1/Sanções/Se _ D.N.G.G.T./hits' - Correspondências/escalações.

5. 2 AML e monitoramento de transações

'POST/v1/aml/transmissão' - Envio de evento (deposit/withdraw/bet/payout).
`GET /v1/aml/alerts? state = open '- alertas/malas abertas.
'POST/v1/aml/strr' - formação e fornecimento de TR/SAR (mercado).

5. 3 Responsible Gaming (RG)

'POST/v1/rg/self-exclusion' - instalação/levantamento de auto-exclusão.
'GET/v1/rg/limits/se _ id _ drive' - limites (depósito/taxa/hora).
'POST/v1/rg/assess' é uma avaliação de risco de comportamento.

5. 4 Relatórios e registros

'POST/v1/reports/generate' - geração de relatório (tipo, período, jurisdição).
'GET/v1/relatórios/\relatório _ id a.' - status, carregamento de artefato (PDF/CSV/JSON), hash.
'GET/v1/registries/diante de' - registros (jogadores, sessões, bónus, GGR) com paginação.

5. 5 Auditoria e transações legais

'GET/v1/auditoria/events' é uma amostra de eventos (filtro por campo ECS/OCSF).
'POST/v1/legal/hold' - instalar/retirar o Legal Hold por objeto/pasta.
'POST/v1/private/dsar' - iniciar DSAR, estatais, exportação de pacotes.

6) Modelos de dados (reduzido)

6. 1 Evento de transação (JSON)

json
{
"idempotency_key": "trx-8b1a9953",
"timestamp": "2025-11-01T16:02:11Z",
"user": {"id":"U-12345","dob":"1999-04-21","country":"EE"},
"transaction": {
"id": "T-778899",
"type": "deposit",
"amount": {"value": 200. 00, "currency": "EUR"},
"method": "card",
"psp_ref": "PSP-222-ABC"
},
"context": {
"ip": "198. 51. 100. 10",
"device_id": "d-9af0",
"session_id": "s-2233",
"trace_id": "f4c2..."
},
"labels": {"market": "EE", "affiliate": "A-77"}
}

6. 2 Resultado KYC

json
{
"user_id": "U-12345",
"level": "L2",
"status": "verified",
"expires_at": "2026-04-21",
"checks": [
{"type":"document","result":"pass"},
{"type":"liveness","result":"pass"},
{"type":"pep_sanctions","result":"no_hit"}
],
"provider": {"name":"KYCX","reference":"KYCX-4455"}
}

6. 3 Descrição do relatório

json
{
"report_id": "RPT-EE-GGR-2025Q3",
"type": "ggr_quarterly",
"jurisdiction": "EE",
"period": {"from":"2025-07-01","to":"2025-09-30"},
"status": "ready",
"artifact": {
"format": "CSV",
"size_bytes": 183442,
"sha256": "c9b1f...e21",
"download_url": "urn:reports:RPT-EE-GGR-2025Q3"
},
"notes": "Rounded to cents; FX=ECB daily"
}

7) Segurança e acesso

Autenticação: OAuth2/OIDC (cliente credentals, JWT), opcionalmente mTLS.
Autorização: RBAC/ABAC; scopes individuais por domínio ('aml: write', 'kyc: read', 'reports: generate').
Criptografia: TLS 1. 2+ in-transit; at-rest via KMS/CMK; JWE para campos sensíveis.
Minimização PII - armazenamento mínimo; mascarar PAN/IBAN; pseudônimo 'user. pseudo_id`.
Registro de acesso: auditoria de todas as leituras de endpoint sensíveis, alertas de descarga em massa.
Legal Hold e Retensivo: Armazenamento WORM para relatórios e TR; políticas de armazenamento de 5 a 7 anos (mercados).

8) Versionização e compatibilidade

Versionização URI: '/v1 ', '/v2'; alterações menores - através de campos extensíveis.
Deprecation-policy: ≥ 6-12 meses de suporte; «Sunset», «Deprecation».
Esquemas: JSON Schema + OpenAPI; os contratos são validados na CI.
Migrações: adaptadores/funções-bandeiras, compatibilidade bilateral para o período de transição.

9) Confiabilidade: Idempotidade e «Exatamente um dia»

Idempotency-Key em 'POST' (armazenar chaves ≥ 24-72 h).
At-least-once entrega através de pneu + dedução na recepção (event id/hash).
Outbox/Inbox-pattern para integrações, retais com pausa exponencial e jitter.
Ordem: chaves de partilha 'user _ id '/' account _ id' para o determinismo.

10) Paginação, filtros, pesquisa

Paginação: cursor-based ('page _ tocen', 'limit <= 1000').
Filtros por jurisdição, período, status, provedor, avaliação de risco.
Pesquisa em texto completo: para auditorias/registros (subconjunto de campos limitado).
Exportação: asincrona, limite de tamanho, preparação de arquivo com assinatura hash.

11) Restrições e quotas

Rate-limits per cliente/rota (por exemplo, 100 rps burst, 1000 rpm sustained).
Budet-limits para relatórios pesados (créditos/dia).
Proteção contra N + 1: batches e endpoints agregados.
Limite a profundidade das amostras históricas (por exemplo, ≤ 24 m online, a seguir o arquivo).

12) Dashboards e SLO

Ingest lag p95 <30 segundos; Sucesso KYC> 99%; TR-SLA - Envio ≤ 24 h.
Disponibilidade API ≥ 99. 9%; Latency p95 <300 ms para leitura; <800 ms para gravar.
Custo/GB armazenamento de relatórios; Ack-rate notificações aos reguladores.
Widgets: quente-mapa de alertas AML, vórtice KYC, emissão de relatórios por país, fila de TR.

13) Jurisdição: mapping e modelos

Modelos de relatórios de mercado (campos, formatos, frequência): «EE», «LT», «LV», «RO», «MT», «UK», etc.
Termos Mupping (GGR/NGR, bônus, limites de depósito, controle de idade).
Localização de temporizão/calendário; a fixação da origem FX; marca de influência DST.
O diretório de diagramas é: 'reports/a.jurisdictiva.r.j. de processo json`.

14) Processamento de erros (formato único)

json
{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Too many requests",
"request_id": "req-7f91",
"hint": "Reduce RPS or request higher quota",
"retry_after": 30
}
}

Частые коды: `INVALID_SCHEMA`, `NOT_AUTHORIZED`, `LEGAL_HOLD_ACTIVE`, `PROVIDER_TIMEOUT`, `REPORT_NOT_READY`.

15) Testes e certificação

Testes contratuais (OpenAPI → geração de clientes de teste).
Kits de ficstur por jurisdição, golden-files para relatórios.
«Listas negras» de campos PII nos logs; análise estática de fugas de segredos.
Exercícios DR regulares de recuperação de arquivos de relatórios.

16) Exemplos

16. 1 Geração de relatório

Consulta

http
POST /v1/reports/generate
Content-Type: application/json
Authorization: Bearer <token>
json
{
"type": "ggr_monthly",
"jurisdiction": "EE",
"period": {"from":"2025-10-01","to":"2025-10-31"},
"format": "CSV",
"notify": ["compliance@company"],
"parameters": {"include_bonus_breakdown": true}
}

Resposta

json
{"report_id":"RPT-EE-GGR-2025-10","status":"processing","eta_seconds":120}

16. 2 TR/SAR envio

json
{
"case_id": "AML-2025-0091",
"user_id": "U-12345",
"reason": "Structuring deposits under threshold",
"evidence": ["txn:T-778899","txn:T-778900"],
"attachments": ["urn:doc:kyc:U-12345:v3"],
"jurisdiction": "EE"
}

16. 3 Auto-exclusão

json
{
"user_id":"U-12345",
"type":"national_register",
"action":"enable",
"effective_from":"2025-11-01",
"effective_to":"2026-11-01"
}

17) Auditoria integrada e imutabilidade

Loging automático: 'request _ id', 'trace _ id', o cliente que chama, scope.
Assinatura de pacotes de relatórios (SHA-256) + registro de hash; Anistia periódica.
Arquivo WORM para downloads regulatórios e TR.
Histórico de configuração de regras e modelos (registro de alterações de políticas ↔ links).

18) Processos e RACI (em resumo)

R: Comando da Plataforma Completa (Desenvolvimento/Operações).
A: Head of Compliance/CISCO (políticas, orçamentos, prioridades).
C: Legal/DPO, Finanças, Arquitetura, Data.
I: Produto, Suporte, Associados (PSP/KYC).

19) Mapa de trânsito de implementação

MVP (4-6 semanas):

1. '/v1/kyc/check ', '/v1/aml/direction', '/v1/reports/generate '(2-3 modelos-chave).

2. OAUTh2 + rate-limit + idempotidade básica.

3. Arquivo de relatórios no Objeto de armazenamento com assinatura hash.

4. Dashboard SLO e filas de tarefas.

Fase 2 (6-12 semanas):
  • Modelos jurisdicionais (5-8 mercados), TR/SAR, RG-endpoint, DSAR.
  • Unidade de fornecimento (CUS/sanções), retraí, dedupe.
  • Políticas Legal Hold, WORM, papéis avançados.
Fase 3 (12 + semanas):
  • Rule-as-Código para relatórios/regras AML, simulador de alterações.
  • Multi-tenência (B2B2C, marcas/skins), quotas e billing.
  • Caixa de areia e certificação para integradores externos.

20) Erros típicos e como evitá-los

Os circuitos de mercado incluem um catálogo centralizado, auto-lint.
Não há idempotidade: digite 'idempotency _ key' e uma janela de dedução.
Segredos em logs: filtros em ingest, análise estática.
Longos relatórios online, faça asincrona com status e notificações.
RBAC fraco: espalhe 'read _ reports', 'generate _ reports', 'admin'.
Moeda/Timzon: Fixe «fx _ fonte», «timezone», armazene UTC.

21) Glossário (breve)

KYC/KYB - identificação física/yur. caras

AML/TR/SAR - contra lavagem/atividade suspeita/denúncia.
RG é um jogo responsável.
GGR/NGR - receita bruta/neta dos jogos.
WORM - Armazenamento imutável (write-once).
Rule-as-Code - regras como código de teste/versionagem.

22) Resultado

A API de complacência e relatórios é uma camada sustentável, segura e normalizada entre as operações de iGaming e as exigências dos reguladores. O cumprimento dos princípios deste artigo (esquema rigoroso, integração segura, idempotidade, auditoria imutável, modelos jurisdicionais e SLO) garante previsibilidade, verificação rápida e redução de riscos em mercados-chave.

Contact

Entrar em contacto

Contacte-nos para qualquer questão ou necessidade de apoio.Estamos sempre prontos para ajudar!

Iniciar integração

O Email é obrigatório. Telegram ou WhatsApp — opcionais.

O seu nome opcional
Email opcional
Assunto opcional
Mensagem opcional
Telegram opcional
@
Se indicar Telegram — responderemos também por lá.
WhatsApp opcional
Formato: +indicativo e número (ex.: +351XXXXXXXXX).

Ao clicar, concorda com o tratamento dos seus dados.