編譯和報告API
1)任命
Compliance API-用於以下目的的單一接口:- AML/響應遊戲(RG)的事件收集和驗證(遊戲/支付/身份驗證)。
- 進行檢查(KYC/KYB,制裁/RER,資金來源,年齡)。
- 形成市場監管報告(定期和臨時報告)。
- 維護審計日誌並執行Legal Hold。
- 與提供商(PSP,KYC交易所,制裁清單)和國家門戶網站共享數據。
結果:減少了操作負載,加快了報告的編寫,確保了可跟蹤性和符合當地法規。
2)覆蓋範圍(scope)
識別和驗證:KYC/KYB狀態,驗證級別,文檔。
AML/制裁/PEP:篩選,交易監控,STR/SAR,Alertes。
負責任的遊戲(RG):限制,自我體驗,「冷靜」,行為風險量表。
付款和交易:存款/收款,收款,獎金機制。
報告:GGR/稅收,球員/會議註冊,營銷限制,安全事件。
審核和存儲:不變邏輯(WORM),法律保留,DSAR/RTBF。
3)消費者和數據制造商
消費者:監管機構,內部合規性/風險,BI/DWH,SecOps,金融。
制造商:iGaming前端/後端、PSP/水彩、 KYC提供商、防凍、CRM、附屬網絡。
4)建築參考
1.Edge/API-шлюз (mTLS, OAuth2/OIDC, rate-limit, WAF).
2.合並服務(業務規則,提供商編排,規範化)。
3.事件總線(Kafka/Redpanda)是SIEM/DWH/檔案館的粉絲。
- 用於快速查詢/聚合的聯機(PostgreSQL/ClickHouse)。
- 不變工件和報告的歸檔(Object Storage+WORM)。
- 5.審核和可觀察性:OpenTelemetry(trace_id),Logs索引,dashbords。
- 6.提供商連接器:KYC,制裁,RG模塊,帶有電子簽名的門戶網站。
5)主要終點(v1)
5.1 KYC/KYB和制裁
「POST/v1/kyc/check」-KYC驗證請求(偶數)。
「GET/v1/kyc/{user_id}/status」-當前級別和有效期。
「POST/v1/sanctions/screen」-制裁/RER篩選。
「GET/v1/sanctions/{user_id}/hits」-匹配/上報。
5.2 AML和事務監控
「POST/v1/aml/transaction」-發送事件(deposit/withdraw/bet/payout)。
`GET /v1/aml/alerts?state=open'是開放的Alerts/案例。
「POST/v1/aml/str」-STR/SAR的形成和提交(按市場)。
5.3 Responsible Gaming (RG)
「POST/v1/rg/self-exclusion」-設置/解除自我體驗。
「GET/v1/rg/limits/{user_id}-限額」(存款/利率/時間)。
「POST/v1/rg/assess」-行為風險評估。
5.4報告和登記冊
「POST/v1/reports/generate」-報告的生成(類型、周期、管轄權)。
"GET/v1/reports/{report_id}-狀態,加載工件(PDF/CSV/JSON), hash。
「GET/v1/registries/{type}」-具有分頁功能的註冊表(球員,會議,獎金,GGR)。
5.5審計和法律運作
「GET/v1/audit/events」-事件采樣(ECS/OCSF字段過濾器)。
「POST/v1/legal/hold」-在對象/文件夾中安裝/刪除Legal Hold。
「POST/v1/privacy/dsar」-啟動DSAR、狀態、數據包導出。
6)數據模型(縮寫)
6.1交易事件(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結果
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報告說明
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)安全和準入
身份驗證:OAuth2/OIDC(客戶端,JWT),可選mTLS。
授權:RBAC/ABAC;跨域的單個語句(「aml:write」,「kyc:read」,「reports:generate」)。
加密:TLS 1。2+ in-transit;通過KMS/CMK進行休息;JWE用於敏感字段。
PII最小化: 存儲最小值;偽裝PAN/IBAN;化名「user」。pseudo_id`.
訪問日誌:審核所有「敏感」尾隨讀物,Alerta用於批量卸載。
法律保管和保存:報告和STR的WORM存儲;5-7年保管政策(按市場)。
8)轉化與兼容性
URI轉化:'/v1','/v2';次要變化-通過可擴展字段。
脫離政策:≥ 6至12個月的支持;標題「Sunset」,「Deprecation」。
電路:JSON Schema+OpenAPI;合同在CI中得到驗證。
遷移:適配器/功能標誌,過渡期間的雙向兼容性。
9)可靠性: 相容性和「正好有一天」
「POST」中的Idempotency-Key(存儲密鑰≥ 24-72小時)。
通過總線+接收重復數據消除(event id/hash)進行在線交付。
Outbox/Inbox模式用於集成,指數停頓後繼和噴射器。
順序:確定性的「user_id」/「account_id」分期密鑰。
10)分割,過濾器,搜索
分離:基於cursor(「page_token」,「limit<=1000」)。
過濾器:按司法管轄區,時期,狀態,提供商,風險評估。
全文搜索:用於審計/註冊表(字段的有限子集)。
導出:異步,大小限制,用哈希簽名準備存檔。
11)限制和配額
按客戶端/路線(例如100 rps burst,1000 rpm sustained)。
重度報告(貸款/每天)的預算限制。
N+1防護:batchi和聚合後端。
限制歷史樣本的深度(例如≤ 24個月在線,接下來是存檔)。
12)Dashbords和SLO
Ingest lag p95 <30秒;KYC成功>99%;STR-SLA-發送≤ 24小時。
API可用性≥ 99。9%;Latency p95 <300 ms供閱讀;<800 ms用於記錄。
報告存儲成本/GB;Ack-rate通知監管機構。
小部件:AML Alert熱卡,KYC漏鬥,按國家/地區發布報告,STR隊列。
13)司法管轄區: mapping和template
市場報告模板(字段,格式,頻率):「EE」,「LT」,「LV」,「RO」,「MT」,「UK」等。
Mapping術語(GGR/NGR,獎金,存款限制,年齡控制)。
定時區/日歷本地化;FX源固定;DST影響標簽。
圖形目錄: 'reports/{jurisdiction}/{type}/{version} .schema。json`.
14)錯誤處理(單一格式)
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)測試和認證
合同測試(OpenAPI →測試客戶端生成)。
按司法管轄區劃分的虛擬文件集,用於報告的黃金文件。
Logs中PII字段的「黑名單」;機密泄漏的靜態分析。
定期進行DR演習,以恢復報告檔案。
16)示例
16.1報告生成
查詢: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}
}
回答
json
{"report_id":"RPT-EE-GGR-2025-10","status":"processing","eta_seconds":120}
16.2 STR/SAR發送
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自我排序
json
{
"user_id":"U-12345",
"type":"national_register",
"action":"enable",
"effective_from":"2025-11-01",
"effective_to":"2026-11-01"
}
17)內置審核和不變性
自稱:調用客戶端的「request_id」,「trace_id」 scope。
報告包簽名(SHA-256)+哈希註冊表;定期錨定。
用於監管卸載和STR的WORM存檔。
規則和模板配置的歷史記錄(策略更改日誌↔鏈接)。
18)流程和RACI(簡述)
R:Compliance Platform(開發/運營)團隊。
A:合規之頭/CISO(政策,預算,優先事項)。
C:法律/DPO,財務,體系結構,數據。
I:產品、支持、合作夥伴(PSP/KYC)。
19)實施路線圖
MVP(4-6周):1.'/v1/kyc/check ","/v1/aml/transaction","/v1/reports/generate"(關鍵模板2-3)。
2.OAuth2+rate-limit+基本冪等。
3.在Object Storage中存檔帶有哈希簽名的報告。
4.Dashboard SLO和任務隊列。
第二階段(6至12周):- 管轄範本(5-8個市場),STR/SAR,RG端口,DSAR。
- 提供聚合服務(CUS/制裁),retrai,dedupe。
- Legal Hold策略、WORM、高級角色。
- 報告/AML規則的Rule-as-Code,更改模擬器。
- 多影子(B2B2C,品牌/皮膚),配額和計費。
- 沙盒和外部集成商認證。
20)類型錯誤以及如何避免它們
按市場劃分的方案:集中目錄,自動鏈接方案。
無偶然性:輸入「idempotency_key」和重復數據消除窗口。
博客中的秘密:ingest上的過濾器,靜態分析。
長時間在線報告:異步處理按鍵狀態和通知。
弱的RBAC:分開「read_reports」、「generate_reports」、「admin」。
貨幣/時間區:固定'fx_source'、'timezone'、存儲UTC。
21)詞匯表(簡短)
KYC/KYB-物理/侏儒鑒定。個人。
AML/STR/SAR-反洗錢/可疑活動/舉報。
RG是負責任的遊戲。
GGR/NGR是遊戲的毛收入/凈收入。
WORM-不可變存儲(write-once)。
規則即代碼-作為具有測試/驗證的代碼的規則。
22)結果
編譯和報告API是iGaming操作與監管機構要求之間的穩定,安全和標準化的層。遵守本文的原則(嚴格的計劃,安全的集成,相等性,不變的審計,管轄模式和SLO)可確保可預測性,快速通過檢查並降低關鍵市場的風險。