Komplayens va hisobot API
1) Vazifasi
Komplayensning API - quyidagilar uchun yagona interfeys:- AML/Responsible Gaming (RG) uchun voqealarni yig’ish va validatsiya qilish (o’yin/to’lov/autentifikatsiya).
- Tekshirishlarni o’tkazish (KYC/KYB, sanksiyalar/TB, mablag’manbalari, yoshi).
- Bozorlar bo’yicha tartibga solish hisobotini (davriy va ad-hoc) shakllantirish.
- Audit-jurnallarni yuritish va Legal Hold.
- Provayderlar (PSP, KYC-birjalar, sanksiya ro’yxatlari) va davlat portallari bilan ma’lumotlar almashish.
Natija: operatsion yuk kamayadi, hisobotlarni tayyorlash jadallashtiriladi, izlanish va mahalliy normalarga muvofiqlik taʼminlanadi.
2) Qamrov sohasi (scope)
Identifikatsiya va verifikatsiya: KYC/KYB maqomi, tekshirish darajasi, hujjatlar.
AML/sanksiyalar/PEP: skrining, tranzaksiyalar monitoringi, STR/SAR, alertlar.
Mas’uliyatli o’yin (RG): limitlar, o’zini istisno qilish, «cool-off», xatti-harakatlar darajasi.
To’lovlar va operatsiyalar: depozitlar/xulosalar, chargeback, bonus mexanikalari.
Hisobot: GGR/soliqlar, o’yinchilar/sessiyalar reyestrlari, marketing cheklovlari, xavfsizlik hodisalari.
Audit va saqlash: o’zgarmas loglar (WORM), Legal Hold, DSAR/RTBF.
3) Iste’molchilar va ma’lumotlar ishlab chiqaruvchilar
Iste’molchilar: regulyatorlar, ichki Compliance/Risk, BI/DWH, SecOps, moliya.
Ishlab chiqaruvchilar: iGaming frontlari/orqa tomonlari, PSP/akvayring, KYC provayderlari, antifrod, CRM, affiliat tarmoqlari.
4) Arxitektura referensi
1. Edge/API-шлюз (mTLS, OAuth2/OIDC, rate-limit, WAF).
2. Komplayens xizmati (biznes-qoidalar, provayderlarni orkestrlash, normallashtirish).
3. Voqealar shinasi (Kafka/Redpanda) - SIEM/DWH/arxivdagi fan-aut.
- Tezkor soʻrovlar/agregatsiyalar uchun tezkor (PostgreSQL/ClickHouse).
- Oʻzgarmas artefaktlar va hisobotlar uchun arxiv (Object Storage + WORM).
- 5. Audit va kuzatuv: OpenTelemetry (trace_id), log indeksatsiyasi, dashbordlar.
- 6. Provayderlar konnektorlari: KYC, sanksiyalar, RG-modullar, elektron imzo bilan davlat portallari.
5) Asosiy endpointlar (v1)
5. 1 KYC/KYB va sanksiyalar
’POST/v1/kyc/check’ - KYC tekshirish so’rovi (idempotent).
’GET/v1/kyc/{ user _ id }/status’ - joriy daraja va amal qilish muddati.
’POST/v1/sanctions/screen’ - sanksiya/PER skrining.
’GET/v1/sanctions/{ user _ id }/hits’ - tasodiflar/eskalatsiyalar.
5. 2 AML va tranzaksiyalar monitoringi
’POST/v1/aml/transaction’ - hodisani joʻnatish (deposit/withdraw/bet/payout).
`GET /v1/aml/alerts? state = open’- ochiq alertlar/keyslar.
’POST/v1/aml/str’ - STR/SARni shakllantirish va berish (bozor bo’yicha).
5. 3 Responsible Gaming (RG)
’POST/v1/rg/self-exclusion’ - o’z-o’zini chiqarib tashlashni o’rnatish/olib tashlash.
’GET/v1/rg/limits/{ user _ id}’ - limitlar (depozit/stavka/vaqt).
’POST/v1/rg/assess’ - xulq-atvor xavfini baholash.
5. 4. Hisobot va reyestrlar
’POST/v1/reports/generate’ - hisobot generatsiyasi (turi, davri, yurisdiksiyasi).
’GET/v1/reports/{ report _ id}’ - maqom, artefaktni yuklash (PDF/CSV/JSON), hash.
’GET/v1/registries/{ type}’ - paginatsiyali reyestrlar (oʻyinchilar, sessiyalar, bonuslar, GGR).
5. 5. Audit va huquqiy operatsiyalar
’GET/v1/audit/events’ - hodisalarni tanlash (ECS/OCSF maydonlari boʻyicha filtr).
’POST/v1/legal/hold’ - Legal Hold’ni obyekt/jild boʻyicha oʻrnatish/olib tashlash.
’POST/v1/privacy/dsar’ - DSARni ishga tushirish, maqomi, paketlarni eksport qilish.
6) Ma’lumotlar modellari (qisqartirilgan)
6. 1 Tranzaksiya hodisasi (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 KYC natijasi
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 Hisobot tavsifi
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) Xavfsizlik va foydalanish
Autentifikatsiya: OAuth2/OIDC (client credentials, JWT), ixtiyoriy mTLS.
Avtorizatsiya: RBAC/ABAC; alohida scopes (’aml: write’,’kyc: read’,’reports: generate’).
Shifrlash: TLS 1. 2+ in-transit; KMS/CMK orqali at-rest; Sezgir maydonlar uchun JWE.
PII-minimallashtirish: minimumni saqlash; PAN/IBAN maskalash; taxalluslash’user. pseudo_id`.
Kirish jurnali: «sezgir» endpointlarning barcha o’qishlari auditi, ommaviy tushirish uchun alertlar.
Legal Hold va retenshn: hisobotlar va STR uchun WORM ombori; 5-7 yil saqlash siyosati (bozorlar bo’yicha).
8) Versiyalash va muvofiqlik
URI versiyasi: ’/v1’, ’/v2’; minor o’zgarishlar - kengaytiriladigan maydonlar orqali.
Deprecation-policy: ≥ 6-12 oy qo’llab-quvvatlash; «Sunset», «Deprecation» sarlavhalari.
Sxemalar: JSON Schema + OpenAPI; kontraktlar CIda validatsiya qilinadi.
Migratsiya: adapterlar/feature-bayroqlar, o’tish davrida ikki tomonlama moslashuvchanlik.
9) Ishonchlilik: idempotentlik va «bir marta»
Idempotency-Key v’POST’(kalitlarni 24-72 soatdan ≥ saqlash).
At-least-once shina orqali yetkazib berish + qabul qilishda de-duplikatsiya (event id/hash).
Integratsiyalar uchun Outbox/Inbox-pattern, eksponensial pauzali retralar va jitter.
Tartib: determinizm uchun’user _ id ’/’ account _ id’partiyalash kalitlari.
10) Paginatsiya, filtrlar, qidiruv
Paginatsiya: cursor-based (’page _ token’,’limit <= 1000’).
Filtrlar: yurisdiksiya, davr, maqom, provayder, tavakkalchilik-baholash bo’yicha.
Toʻliq matnli qidiruv: audit/reyestrlar uchun (cheklangan maydonlar toʻplami).
Eksport: asinxron, o’lcham limiti, arxivni hash-imzo bilan tayyorlash.
11) Cheklovlar va kvotalar
Rate-limits per client/route (masalan, 100 rps burst, 1000 rpm sustained).
Budget-limits og’ir hisobotlarga (kreditlar/sutka).
N + 1 dan himoyalanish: batchi va agregatsiyalangan endpointlar.
Tarixiy tanlov chuqurligini cheklash (masalan, 24 oylik onlayn ≤, keyingi arxiv).
12) Dashbordlar va SLO
Ingest lag p95 <30 sek; KYC muvaffaqiyati> 99%; STR-SLA - jo’natish ≤ 24 soat
API foydalanish imkoniyati ≥ 99. 9%; Latency p95 <300 ms o’qish uchun; <800 ms yozish uchun.
Hisobotlarni saqlash Cost/GB; Regulyatorlarga xabar berish uchun Ack-rate.
Vidjetlar: AML alertlarining issiqlik xaritasi, KYC hunisi, mamlakatlar bo’yicha hisobotlar chiqarish, STR navbati.
13) Yurisdiksiyalar: mapping va shablonlar
Bozorlar bo’yicha hisobot namunalari (maydonlar, formatlar, chastotalar):’EE’,’LT’,’LV’,’RO’,’MT’,’UK’va boshqalar.
Mapping terminlari (GGR/NGR, bonuslar, depozit limitlari, yosh nazorati).
Taymzon/taqvimlarni mahalliylashtirish; FX manbasini qayd etish; DST ta’sir belgisi.
Sxemalar katalogi:’reports/{ jurisdiction }/{ type }/{ version} .schema. json`.
14) Xatolarni qayta ishlash (yagona format)
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 sinovi va sertifikatlashtirish
Kontrakt testlari (OpenAPI → test-mijozlar ishlab chiqarish).
Yurisdiksiyalar bo’yicha fikstura to’plamlari, hisobotlar uchun golden-files.
PII-maydonlarning «Qora ro’yxatlari»; sirlarning chiqib ketishini statik tahlil qilish.
Hisobotlar arxivini tiklash bo’yicha muntazam DR-mashqlar.
16) Misollar
16. 1 Hisobot generatsiyasi
Soʻrov
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}
}
Javob
json
{"report_id":"RPT-EE-GGR-2025-10","status":"processing","eta_seconds":120}
16. 2 STR/SAR joʻnatish
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 O’zini istisno qilish
json
{
"user_id":"U-12345",
"type":"national_register",
"action":"enable",
"effective_from":"2025-11-01",
"effective_to":"2026-11-01"
}
17) O’rnatilgan audit va o’zgarmaslik
Avtologlashtirish:’request _ id’,’trace _ id’, chaqiruvchi mijoz, scope.
Hisobotlar (SHA-256) paketlari imzosi + xeshlar reyestri; davriy ankering.
Tartibga solish yuklamalari va STR uchun WORM arxivi.
Qoidalar va shablon konfiguratsiyalari tarixi (siyosatni oʻzgartirish jurnali).
18) Jarayonlar va RACI (qisqacha)
R: Compliance Platform buyrug’i (ishlab chiqish/operatsiyalar).
A: Head of Compliance/CISO (siyosatchilar, byudjetlar, ustuvorliklar).
C: Legal/DPO, Moliya, Arxitektura, Data.
I: Mahsulot, Qo’llab-quvvatlash, Sheriklar (PSP/KYC).
19) Joriy etish yo’l xaritasi
MVP (4-6 hafta):1. ’/v1/kyc/check’, ’/v1/aml/transaction’, ’/v1/reports/generate’(2-3 ta asosiy shablon).
2. OAuth2 + rate-limit + bazaviy idempotentlik.
3. Object Storage’dagi hisobotlar arxivi.
4. Dashbord SLO va vazifalar navbati.
2-faza (6-12 hafta):- Yurisdiksiya shablonlari (5-8 bozor), STR/SAR, RG-endpointlar, DSAR.
- Provayder-agregatsiya (KS/sanksiyalar), retraylar, dedupe.
- Legal Hold siyosati, WORM, kengaytirilgan rollar.
- Hisobotlar/AML qoidalari uchun rule-as-Code, oʻzgarishlar simulyatori.
- Multi-tenantlik (B2B2C, brendlar/terilar), kvotalar va billing.
- Tashqi integratorlar uchun qum qutisi va sertifikatlash.
20) Namunaviy xatolar va ulardan qanday qochish mumkin
Bozorlar bo’yicha sxemalarni farqlash: markazlashtirilgan katalog, auto-lint sxemalar.
’idempotency _ key’ va duplikatsiya oynasini kiriting.
Jurnallardagi sirlar: ingest filtrlari, statik tahlil.
Uzoq onlayn hisobotlar: status-pulling va bildirishnomalar bilan asinxron qiling.
Kuchsiz RBAC:’read _ reports’,’generate _ reports’,’admin’.
Valyuta/taymzon:’fx _ source’,’timezone’, UTC saqlang.
21) Lugʻat (qisqacha)
KYC/KYB - identifikatsiya fiz./jur. shaxs.
AML/STR/SAR - yuvishga qarshi kurashish/shubhali faoliyat/xabar.
RG - mas’uliyatli o’yin.
GGR/NGR - o’yinlardan yalpi/sof tushum.
WORM - o’zgarmas saqlash (write-once).
Rule-as-Code - qoidalar test/versiya kodi sifatida.
22) Jami
Komplayens va hisobot API iGaming operatsiyalari va regulyator talablari o’rtasidagi barqaror, xavfsiz va standartlashtirilgan qatlamdir. Ushbu moddaning tamoyillariga rioya qilish (qat’iy sxemalar, xavfsiz integratsiya, idempotentlik, o’zgarmas audit, yurisdiksiya shablonlari va SLO) asosiy bozorlarda oldindan aytib bo’ladigan, tezkor tekshiruvlardan o’tish va xavflarni kamaytirishni ta’minlaydi.