GH GambleHub

API di compliance e reporting

1) Destinazione

L'API della compilazione è un'unica interfaccia per:
  • Raccolta e convalida di eventi (giochi/pagamenti/autenticazione) per AML/Respontible Gaming (RG).
  • Controlli (KYC/KYB, sanzioni/RER, fonti di fondi, età).
  • Creazione di rapporti regolatori (periodici e ad hoc) sui mercati.
  • Gestione dei registri di controllo e esecuzione di Legale Hold.
  • Scambio di dati con provider (PSP, borse KYC, listini di sanzioni) e portali gos.

Risultato: riduzione del carico operativo, elaborazione più rapida dei report, tracciabilità e conformità alle normative locali.

2) Area di copertura (scope)

Identificazione e convalida: KYC/KYB stati, livelli di convalida, documenti.
AML/sanzioni/PEP: screening, monitoraggio delle transazioni, STR/SAR, alert.
Gioco responsabile (RG): limiti, auto-esclusione, «cool-off», linee di rischio comportamentali.
Pagamenti e transazioni: depositi/conclusioni, marceback, meccanici bonus.
Rapporti: GGR/tasse, registri giocatori/sessioni, restrizioni di marketing, incidenti di sicurezza.
Controllo e conservazione: loghi invariati (WORM), Legale Hold, DSAR/RTBF.

3) Consumatori e produttori di dati

Consumatori: regolatori, interno Compliance/Risk, BI/DWH, SecOps, finanza.
Produttori: fronti/backend, PSP/acquairing, provider KYC, antifrode, CRM, affiliati.

4) Arbitro architettonico

1. Edge/API-шлюз (mTLS, OAuth2/OIDC, rate-limit, WAF).
2. Servizio di compilazione (regole aziendali, orchestrazione dei provider, normalizzazione).
3. Bus evento (Kafka/Redpanda) - fan-out in SIEM/DWH/archivio.

4. Storage:
  • Operativo (PostgreSQL/ClickHouse) per query/aggregazioni rapide.
  • Archivio (Object Storage + WORM) per gli artefatti e i report invariati.
  • 5. Controllo e osservabilità: OpenTelemetry (trace _ id), indicizzazione dei logi, dashboard.
  • 6. Connettori provider: KYC, sanzioni, moduli RG, portali gos con e-firma.

5) Endpoint di base (v1)

5. 1 KYC/KYB e sanzioni

«POST/v1/kyc/check» - Richiesta di convalida KYC (Idempotent).
«GET/v1/kyc/{ user _ id }/status» è il livello corrente e la data di scadenza.
«POST/v1/sanction/screen» è uno screening di sanzioni/RR.
«GET/v1/sanctions/{ user _ id }/hits» - corrispondenze/scalate.

5. 2 AML e monitoraggio delle transazioni

«POST/v1/aml/communication» - Invia un evento (deposit/withdraw/bet/payout).
`GET /v1/aml/alerts? state = open '- alert/valigetta aperti.
«POST/v1/aml/strr» è la formazione e l'erogazione di START/SAR (mercato).

5. 3 Responsible Gaming (RG)

«POST/v1/rg/self-exclusion» - Imposta/rimuove l'auto-esclusione.
«GET/v1/rg/limits/{ user _ id}» - limiti (deposito/tasso/tempo).
«POST/v1/rg/assess» è una valutazione del rischio comportamentale.

5. 4 Rapporti e registri

«POST/v1/reports/generate» - Generazione di report (tipo, periodo, giurisdizione).
«GET/v1/report/{ report _ id}» è lo stato di caricamento dell'artefatto (PDF/CSV/JSON), hash.
«GET/v1/registries/{ type}» - registri (giocatori, sessioni, bonus, GGR) con paginazione.

5. 5 Verifiche e operazioni legali

«GET/v1/audit/events» è un campione di eventi (filtro ECS/OCSF).
«POST/v1/legale/hold» - Imposta/rimuove Legale Hold per oggetto/cartella.
«POST/v1/privacy/dsar» - Avvio DSAR, states, esportazione pacchetti.

6) Modelli di dati (abbreviato)

6. 1 Evento transazione (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 Risultato 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 Descrizione report

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) Sicurezza e accesso

Autenticazione: OAuth2/OIDC (client credentials, JWT), opzionale.
Autorizzazione: RBAC/ABAC; singoli scopes per dominio («aml: write», «kyc: read», «reports: generate»).
Crittografia TLS 1. 2+ in-transit; at-rest tramite KMS/CMK; JWE per campi sensibili.
Minimizzazione PII - Conservare il minimo; mascherare PAN/BAN; Alias "user. pseudo_id`.
Registro di accesso: controllo di tutte le letture di endpoint sensibili, alert di scarico di massa.
Legale Hold e Retenschn: Storage WORM per report e TR Regole di conservazione 5-7 anni (mercati).

8) Versioning e compatibilità

Versioning URI: '/v1 ', '/v2'; modifiche minori - attraverso campi espandibili.
Deprecation-policy: 6-12 mesi di supporto Titoli Sunset, Deprecation.
Schemi JSON Schema + OpenAPI; i contratti sono validi in CI.
Migrazioni: adattatori/feature-flag, compatibilità bidirezionale per il periodo di transizione.

9) Affidabilità: Idampotenza e «un giorno esatto»

Idempotency-Key in «POST» (memorizzare le chiavi 24-72 ore).
At-least-once consegna tramite bus + deduplicazione in ricezione (event id/hash).
Outbox/Inbox-pattern per integrazioni, retrai con pausa esponenziale e jitter.
Ordine: chiavi di partizione'user _ id '/' account _ id 'per il determinismo.

10) Paginazione, filtri, ricerca

Paginazione: cursor-based ('page _ token', 'limit <= 1000').
Filtri per giurisdizione, periodo, stato, provider, valutazione dei rischi.
Ricerca full text per controllo/registro (sottoinsieme di campi limitato).
Esporta: asincrona, limite di dimensione, preparazione dell'archivio con firma hash.

11) Vincoli e quote

Rate-limits per client/route (ad esempio, 100 rps burst, 1000 rpm sustained).
Budget-limits per rapporti pesanti (prestiti/24 ore).
Protezione da N + 1: batch e endpoint aggregati.
Vincola la profondità dei campionamenti storici (ad esempio, ≤ 24 mes online, segue l'archivio).

12) Dashboard e SLO

Ingest lag p95 <30 secondi; Successo KYC> 99%; STR-SLA - invio 24 ore

Disponibilità API 99. 9%; Latency p95 <300 ms per la lettura <800 ms da scrivere.
Cost/GB di storage dei report Ack-rate notifiche ai regolatori.
Widget: calore-mappe degli alert AML, vortice KYC, rilascio di report per paese, coda di STR.

13) Giurisdizione: mapping e modelli

Modelli di report di mercato (campi, formati, frequenza): «EE», «LT», «LV», «RO», «MT», «UK», ecc.
Termini Mupping (GGR/NGR, bonus, limiti di deposito, controllo dell'età).
Localizzazione timsone/calendari Fissa l'origine FX etichetta di influenza DST.
Directory diagrammi: 'reports/{ jurisdiction }/{ type }/{ variante} .schema. json`.

14) Gestione degli errori (formato unico)

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) Test e certificazione

Test contrattuali ( generazione test client).
Insiemi di ficstur per giurisdizione, golden-files per report.
Elenchi neri dei campi PII nei fogli; analisi statica delle fughe di segreti.
Esercitazioni DR regolari per il ripristino degli archivi dei report.

16) Esempi

16. 1 Generazione di report

Query

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}
}

Risposta

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

16. 2 SAR invio

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-esclusione

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

17) Controllo integrato e invariabilità

Logica automatica: 'richiest _ id', 'trace _ id', client, scope.
Firma pacchetti di report (SHA-256) + Registro hash; L'anchering periodico.
Archivio WORM per i download di regolazione e le STR.
Cronologia delle configurazioni di regole e modelli (Cronologia delle modifiche dei criteri al lince).

18) Processi e RACI (in breve)

R - Comando Compliance Platform (sviluppo/operazioni).
A: Head of Compliance/CISCO (criteri, budget, priorità).
C: Legale/DPO, Finanza, Architettura, Data.
I: Prodotto, Supporto, Partner (PSP/KYC).

19) Road map di implementazione

MVP (4-6 settimane):

1. '/v1/kyc/check ', '/v1/aml/communication', '/v1/reports/generate '(2-3 modelli chiave).

2. OAuth2 + rate-limit + idampotenza di base.

3. Archivio dei report in Object Storage con firma hash.

4. Dashboard SLO e code di lavoro.

Fase 2 (6-12 settimane):
  • Modelli giurisdizionali (5-8 mercati), TR/SAR, RG-endpoint, DSAR.
  • Provider aggregazione (CUS/sanzioni), retrai, dedupe.
  • Criteri Legali Hold, WORM, ruoli avanzati.
Fase 3 (12 + settimane):
  • Rule-as-Code per report/regole AML, simulatore di modifiche.
  • Multi-tenenza (B2B2C, marchi/skin), quote e billing.
  • Sabbia e certificazione per integratori esterni.

20) Errori tipici e come evitarli

Diagrammi di mercato eterogenei: catalogo centralizzato, diagrammi auto-lint.
Nessuna idempotenza: inserisci «idempotency _ key» e la finestra di deduplicazione.
I segreti nei fogli sono filtri su ingest, analisi statica.
Rapporti online di lunga durata: fare asincrona con stato-pulling e notifiche.
RBAC debole: esplode «read _ reports», «generate _ reports», «ammin».
Valuta/Timeson: fissa fx _ source, timezone, memorizza UTC.

21) Glossario (breve)

KYC/KYB - identificazione fisica/your. Le facce.
AML/STRR/SAR - contrasto al riciclaggio/attività sospetta/segnalazione.
RG è un gioco responsabile.
GGR/NGR - ricavi lordi/netti dei giochi.
WORM - Storage non modificabile (write-once).
Rule-as-Code - Regole come codice con test/versioning.

22) Totale

L'API di compilazione e reporting è uno strato sostenibile, sicuro e standardizzato tra le operazioni di iGaming e i requisiti dei regolatori. Il rispetto dei principi di questo articolo (schemi rigorosi, integrazione sicura, idipotenza, verifiche invariate, modelli giurisdizionali e SLO) garantisce la prevedibilità, il rapido passaggio dei controlli e la riduzione dei rischi nei principali mercati.

Contact

Mettiti in contatto

Scrivici per qualsiasi domanda o richiesta di supporto.Siamo sempre pronti ad aiutarti!

Avvia integrazione

L’Email è obbligatoria. Telegram o WhatsApp — opzionali.

Il tuo nome opzionale
Email opzionale
Oggetto opzionale
Messaggio opzionale
Telegram opzionale
@
Se indichi Telegram — ti risponderemo anche lì, oltre che via Email.
WhatsApp opzionale
Formato: +prefisso internazionale e numero (ad es. +39XXXXXXXXX).

Cliccando sul pulsante, acconsenti al trattamento dei dati.