GH GambleHub

Conformitate și raportare API

1) Scop

API de conformitate - o singură interfață pentru:
  • Colectarea și validarea evenimentelor (jocuri de noroc/plată/autentificare) pentru AML/Joc Responsabil (RG).
  • Inspecții (KYC/KYB, sancțiuni/PEP, surse de fonduri, vârstă).
  • Raportarea reglementară (periodică și ad-hoc) pe piață.
  • Menținerea jurnalelor de audit și executarea Legal Hold.
  • Schimbul de date cu furnizorii (PSP, schimburi KYC, liste de sancțiuni) și portaluri de stat.

Rezultatul: reducerea operațiunilor aeriene, raportarea mai rapidă, trasabilitatea și conformitatea locală.

2) Domeniul de aplicare

Identificare și verificare: statusuri KYC/KYB, niveluri de verificare, documente.
AML/sancțiuni/PEP: screening, monitorizarea tranzacțiilor, STR/SAR, alerte.
Jocul responsabil (RG): limite, auto-excludere, „cool-off”, scale de risc comportamental.
Plăți și tranzacții: depozite/retrageri, chargeback, mecanica bonusului.
Raportare: RGG/taxe, registrul jucătorilor/sesiunilor, restricții de marketing, incidente de securitate.
Audit și stocare: busteni imuabili (WORM), Legal Hold, DSAR/RTBF.

3) Consumatorii și producătorii de date

Consumatori: autorități de reglementare, conformitate internă/risc, BI/DWH, SecOps, finanțe.
Producători: fronturi/backend iGaming, PSP/acquiring, furnizori KYC, anti-fraudă, CRM, rețele afiliate.

4) Referință arhitecturală

1. Edge/API- шлюз (mTLS, OAuth2/OIDC, rate-limit, WAF).
2. Servicii de conformitate (reguli de afaceri, orchestrare furnizor, normalizare).
3. Event bus (Kafka/Redpanda) - fan-out în SIEM/DWH/arhivă.

4. Seifuri:
  • Online (PostgreSQL/ClickHouse) pentru interogări/agregări rapide.
  • Archive (Object Storage + WORM) pentru artefacte și rapoarte imuabile.
  • 5. Audit și observabilitate: OpenTelemetry (trace_id), jurnale de indexare, tablouri de bord.
  • 6. Conectori furnizori: KYC, sancțiuni, module RG, portaluri de stat cu semnătură electronică.

5) Criteriile finale principale (v1)

5. 1 KYC/KYB și sancțiuni

„POST/v1/kyc/check” - cerere de verificare KYC (idempotent).
'GET/v1/kyc/{ user _ id }/status' - nivelul actual și data expirării.
„POST/v1/sancțiuni/ecran” - sancțiune/PEP screening.
'GET/v1/sancțiuni/{ user _ id }/hits' - meciuri/escaladări.

5. 2 Monitorizarea AML și a tranzacțiilor

'POST/v1/aml/transaction' - trimiterea unui eveniment (depunere/in cadrul/pariu/plata).
"GET/v1/aml/alerte? state = open '- alerte/cazuri deschise.
„POST/v1/aml/str” - formarea si depunerea STR/SAR (pe piata).

5. 3 Joc Responsabil (RG)

„POST/v1/rg/autoexcludere” - set/eliminare auto-excludere.
'GET/v1/rg/limite/{ user _ id}' - limite (depozit/rată/timp).
„POST/v1/rg/evalua” - evaluarea riscului de comportament.

5. 4 Raportare și registre

„POST/v1/reports/generate” - generarea raportului (tip, perioadă, jurisdicție).
'GET/v1/reports/{ report _ id}' - status, artefact download (PDF/CSV/JSON), hash.
'GET/v1/registers/{ type}' - înregistrări (jucători, sesiuni, bonusuri, GGR) cu paginare.

5. 5 Audit și tranzacții juridice

'GET/v1/audit/evenimente' - selectarea evenimentelor (filtru după câmpurile ECS/OCSF).
'POST/v1/legal/hold' - set/remove Legal Hold on the object/folder.
'POST/v1/privacy/dsar' - start DSAR, statusuri, pachete de export.

6) Modele de date (abreviat)

6. 1 Evenimentul tranzacției (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 Rezultatul 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 Descrierea raportului

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) Securitate și acces

Autentificare: OAuth2/OIDC (acreditări client, JWT), opțional mTLS.
Autorizatie: RBAC/ABAC; domenii separate pe domenii ('aml: write', 'kyc: read', 'reports: generate').
Criptare: TLS 1. 2 + în tranzit; în repaus prin KMS/CMK; JWE pentru câmpuri sensibile.
Minimizare PII: minim de stocare; Masca PAN/IBAN aliasing 'user. pseudo_id'.
Jurnalul de acces: auditul tuturor lecturilor punctelor finale „sensibile”, alerte pentru încărcări în masă.
Deținerea și păstrarea legală: depozitarea WORM pentru rapoarte și STR; 5-7 ani politici de retenție (pe piață).

8) Versioning și compatibilitate

URI versioning: „/v1 ”, „/v2”; modificări minore - prin câmpuri extensibile.
Politica de amortizare: ≥ 6-12 luni de sprijin; titluri „Apus de soare”, „Depreciere”.
Scheme: JSON Schema + OpenAPI; contractele sunt validate în CI.
Migrații: adaptoare/feature-flags, compatibilitate bidirecțională pentru perioada de tranziție.

9) Fiabilitate: idempotență și „exact o dată”

Idempotency-Key in 'POST' (tastele magazinului ≥ 24-72 ore).
Cel puțin o dată de livrare prin autobuz + primi eliminarea duplicatelor (eveniment id/hash).
Outbox/Inbox-model pentru integrări, retrai cu pauză exponențială și jitter.
Ordine: user _ id/account _ id chei de partiționare pentru determinism.

10) Paginare, filtre, căutare

Pagination: cursor-based ('page _ token', 'limit <= 1000').
Filtre: pe jurisdicție, perioadă, statut, furnizor, evaluare a riscurilor.
Căutare full-text pentru audit/registre (subset limitat de câmpuri).
Export: asincron, limita de dimensiune, pregătirea unei arhive cu o semnătură hash.

11) Restricții și cote

Rate-limite per client/traseu (ex. 100 rps izbucni, 1000 rpm susținute).
Limitele bugetare ale rapoartelor grele (credite/zi).
N + 1 protecţie: loturi şi criterii finale agregate.
Limitarea adâncimii eșantioanelor istorice (de exemplu, ≤ 24 de luni online, denumită în continuare arhivă).

12) Tablouri de bord și SLO-uri

Ingera lag p95 <30 sec; Succes KYC> 99%; STR-SLA - dispecerat ≤ 24 de ore.
API ≥ 99 disponibilitate. 9%; Latență p95 <300 ms pentru citire; <800 ms pentru înregistrare.
Cost/GB de stocare a rapoartelor; Notificări ack-rate către autoritățile de reglementare.
Widget-uri: harta de căldură de alertă AML, pâlnie KYC, eliberarea rapoartelor de țară, coada STR.

13) Jurisdicții: Cartografiere și modele

Șabloane de raport de piață (câmpuri, formate, frecvență): „EE”, „LT”, „LV”, „RO”, „MT”, „UK” etc.
Cartografiere pe termen lung (GGR/NGR, bonusuri, limite de depozit, controlul vârstei).
Localizarea zonelor orare/calendarelor; Fixați eticheta FX Impact DST.
Directorul Schema: 'rapoarte/{ jurisdicția }/{ tipul }/{ versiunea} .schema. Json '.

14) Manipularea erorilor (format unic)

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) Testarea și certificarea

Teste de contract (OpenAPI → generarea de clienți de testare).
Seturi de fixare în funcție de jurisdicție, fișiere de aur pentru raportare.
„Liste negre” de câmpuri PII în jurnalele; analiza statică a scurgerilor secrete.
Exerciții regulate DR pentru a restabili arhivele raportului.

16) Exemple

16. 1 Generarea raportului

Anchetă

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

Răspuns

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

16. 2 STR/SAR trimite

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 Autoexcluderea

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

17) Audit încorporat și imutabilitate

Autologation: 'request _ id',' trace _ id', calling client, scope.
Semnarea pachetelor de raport (SHA-256) + registru hash; ancorarea periodică.
Arhiva WORM pentru încărcări de reglementare și STR.
Istoricul configurațiilor de reguli și șabloane (politica de schimbare jurnal ↔ link-ul).

18) Procese și RACI (pe scurt)

R: Echipa Platformei de Conformitate (Dezvoltare/Operațiuni).
R: Șef de conformitate/CISO (politici, bugete, priorități).
C: Legal/DPO, Finanțe, Arhitectură, Date.
I: Produs, Suport, Parteneri (PSP/KYC).

19) Foaia de parcurs privind implementarea

MVP (4-6 săptămâni):

1. „/v1/kyc/check ”, „/v1/aml/transaction”, „/v1/reports/generate ”(2-3 modele cheie).

2. OAuth2 + limita ratei + idempotența inițială.

3. Arhiva rapoartelor în Stocarea obiectelor cu semnătură hash.

4. Tabloul de bord SLO și cozi de sarcini.

Faza 2 (6-12 săptămâni):
  • Șabloane jurisdicționale (5-8 piețe), STR/SAR, RG-endpoints, DSAR.
  • Agregarea furnizorilor (CUS/sancțiuni), retrai, dedupe.
  • Politici legale Hold, WORM-uri, roluri extinse.
Faza 3 (12 + săptămâni):
  • Regula-ca-cod pentru rapoarte/reguli AML, schimba simulator.
  • Multi-chirie (B2B2C, mărci/piei), cote și facturare.
  • Sandbox și certificare pentru integratori externi.

20) Erori tipice și cum să le evitați

Divergența schemelor de piață: director centralizat, scheme auto-scame.
Fără idempotență - Type 'idempotency _ key' și fereastra de eliminare a duplicatelor.
Secrete în jurnalele: filtre de ingerare, analiză statică.
Rapoarte lungi on-line: face asincron cu status-trăgând și notificări.
RBAC slab: post 'read _ reports',' generate _ reports', 'admin'.
Monedă/fus orar: fixați 'fx _ source', 'fus orar', stocați UTC.

21) Glosar (scurt)

KYC/KYB - identificarea persoanelor fizice/juridice.
AML/STR/SAR - anti-spălare/activitate suspectă/raport.
RG este un joc responsabil.
GGR/NGR - Venituri brute/nete din jocuri.
WORM - scriere-o dată de stocare.
Rule-as-Code - reguli ca cod cu teste/versioning.

22) Linia de jos

API-ul de conformitate și raportare este un strat stabil, sigur și standardizat între operațiunile iGaming și cerințele de reglementare. Respectarea principiilor din acest articol (sisteme stricte, integrare sigură, idempotență, audit imuabil, șabloane jurisdicționale și SLO) asigură predictibilitatea, trecerea rapidă a auditurilor și atenuarea riscurilor pe piețele cheie.

Contact

Contactați-ne

Scrieți-ne pentru orice întrebare sau solicitare de suport.Suntem mereu gata să ajutăm!

Pornește integrarea

Email-ul este obligatoriu. Telegram sau WhatsApp sunt opționale.

Numele dumneavoastră opțional
Email opțional
Subiect opțional
Mesaj opțional
Telegram opțional
@
Dacă indicați Telegram — vă vom răspunde și acolo, pe lângă Email.
WhatsApp opțional
Format: cod de țară și număr (de exemplu, +40XXXXXXXXX).

Apăsând butonul, sunteți de acord cu prelucrarea datelor dumneavoastră.