GH GambleHub

준수 및보고 API

1) 목적

규정 준수 API-다음을위한 단일 인터페이스:
  • AML/Responsible Gaming (RG) 에 대한 이벤트 수집 및 검증 (게임/지불/인증).
  • 검사 (KYC/KYB, 제재/PEP, 자금 출처, 연령).
  • 시장 별 규제보고 (주기적 및 임시).
  • 감사 기록 유지 및 법적 보류 실행.
  • 공급자 (PSP, KYC 교환, 제재 목록) 및 주 포털과의 데이터 교환.

결과: 운영 오버 헤드 감소, 빠른보고, 추적 성 및 로컬 준수.

2) 범위

식별 및 검증: KYC/KYB 상태, 검증 수준, 문서.
AML/제재/PEP: 심사, 거래 모니터링, STR/SAR, 경고.
책임있는 놀이 (RG): 한계, 자기 배제, "냉각", 행동 위험 척도.
지불 및 거래: 예금/인출, 청구 회수, 보너스 메커니즘.
보고: GGR/세금, 플레이어/세션 레지스트리, 마케팅 제한, 보안 사고.
감사 및 보관: 불변의 로그 (WORM), 법적 보류, DSAR/RTBF.

3) 데이터 소비자 및 생산자

소비자: 규제 기관, 내부 준수/위험, BI/DWH, SecOps, 금융.
제조업체: 전면/백엔드 iGaming, PSP/aquiring, KYC 제공 업체, 사기 방지, CRM, 제휴 네트워크.

4) 건축 참조

1. 가장자리/API가 있습니다 (mSL, OAuth2/OIDC, 속도 제한, WAF).
2. 규정 준수 서비스 (비즈니스 규칙, 제공자 오케스트레이션, 정규화).
3. 이벤트 버스 (Kafka/Redpanda) -SIEM/DWH/archive의 팬 아웃.

4. 금고:
  • 빠른 쿼리/집계를위한 온라인 (PostgreSQL/ClickHouse).
  • 불변의 아티팩트 및 보고서를위한 아카이브 (Object Storage + WORM).
  • 5. 감사 및 관찰 가능성: OpenTelemetry (trace _ id), 인덱싱 로그, 대시 보드.
  • 6. 공급자 커넥터: KYC, 제재, RG 모듈, 전자 서명이있는 상태 포털.

5) 메인 엔드 포인트 (v1)

5. 1 KYC/KYB 및 제재

'POST/v1/kyc/수표' -KYC 확인 요청 (demempotent).
'GET/v1/kyc/{ user _ id }/상태' -현재 수준 및 만료 날짜.
'POST/v1/제재/화면' -제재/PEP 심사.
'GET/v1/제재/{ user _ id }/hits' -일치/에스컬레이션.

5. 2 AML 및 거래 모니터링

'POST/v1/aml/travel' -이벤트 보내기 (예금/내기/내기/지불).
'GET/v1/aml/경고? 상태 = 열린 '-열린 경고/사례.
'POST/v1/aml/str' - STR/SAR의 형성 및 제출 (시장 별).

5. 3 책임있는 게임 (RG)

'POST/v1/rg/self-exide' - 자체 제외를 설정/제거합니다.
'GET/v1/rg/limites/{ user _ id}' - 제한 (예금/요금/시간).
'POST/v1/rg/assess' -행동 위험 평가.

5. 4 보고 및 레지스트리

'POST/v1/보고서/생성' -보고서 생성 (유형, 기간, 관할권).
'GET/v1/reports/{ report _ id}' - 상태, 아티팩트 다운로드 (용지/파일/JSON), 해시.
'GET/v1/registers/{ Type}' - 페이지 매김이있는 레지스트리 (플레이어, 세션, 보너스, GGR).

5. 5 감사 및 법적 거래

'GET/v1/감사/이벤트' - 이벤트 선택 (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: ready', 'reports: entration').
암호화: TLS 1. 2 + 운송 중; KMS/CMK를 통한 휴식; 민감한 필드를위한 JWE.
PII 최소화: 최소 저장; 마스크 PAN/IBAN 앨리어싱 'user. pseudo _ id '.
액세스 로그: "민감한" 엔드 포인트에 대한 모든 읽기 감사, 대량 업로드 경고.
법적 보류 및 보유: 보고서 및 STR을위한 WORM 스토리지; 5-7 년 유지 정책 (시장 별).

8) 수정 및 호환성

루이 버전 지정: '/v1 ', '/v2'; 확장 가능한 필드를 통한 사소한 변경.
비난 정책: 6-12 개월 이상의 지원; 헤드 라인 '일몰', '우울증'.
계획: JSON Schema + OpenAPI; CI에서 계약이 검증됩니다.
마이그레이션: 어댑터/기능 플래그, 전환 기간 동안의 양방향 호환성.

9) 신뢰성: demempotency 및 "정확히 한 번"

'POST' 의 Idempotency-Key (24-72 시간 이상 저장 키).
버스 + 를 통한 최소 한 번의 배송은 중복 제거 (이벤트 ID/해시) 를받습니다.
통합을위한 전송/받은 편지함 패턴, 지수 일시 정지 및 지터가있는 retrai.
주문: 사용자 _ id/계정 _ id 결정 키를 결정합니다.

10) Pagination, 필터, 검색

페이지 기반: 커서 기반 ('페이지 _ 토큰', '제한 <= 1000').
필터: 관할권, 기간, 상태, 제공자, 위험 평가.
감사/레지스트리에 대한 전체 텍스트 검색 (필드의 제한된 하위 집합).
내보내기: 비동기식, 크기 제한, 해시 서명으로 아카이브 준비.

11) 제한 및 할당량

클라이언트/경로 당 요율 제한 (예: 100 rps 버스트, 1000 rpm 지속).
무거운 보고서 (크레딧/일) 에 대한 예산 제한.
N + 1 보호: 배치 및 집계 엔드 포인트.
역사적 샘플의 깊이를 제한합니다 (예: 온라인에서 약 24 개월, 이후 아카이브라고 함).

12) 대시 보드 및 SLO

섭취 지연 p95 <30 초; KYC 성공> 99%; STR-SLA-24 시간 디스패치

API가 99 개 이상입니다 9%; 읽기위한 대기 시간 p95 <300 ms; 녹음을위한 <800ms.
보고서의 비용/GB 저장; 규제 기관에 대한 금리 알림.
위젯: AML 경보 히트 맵, KYC 깔때기, 국가 보고서 릴리스, STR 대기열.

13) 관할권: 매핑 및 패턴

시장 보고서 템플릿 (필드, 형식, 주파수): 'EE', 'LT', 'LV', 'RO', 'MT', 'UK' 등

기간 매핑 (GGR/NGR, 보너스, 예금 제한, 연령 제어).
전역/달력의 현지화; FX 소스 Impact DST 라벨을 수정합니다.
스키마 디렉토리: 'reports/{ 관할권 }/{ Type }/{ 버전} .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 → 테스트 클라이언트 생성).
관할권, 보고를위한 골든 파일별로 설정된 고정 장치.
로그에있는 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) 내장 감사 및 불변성

자동화: '요청 _ id', 'trace _ id', 클라이언트 호출, 범위.
서명 보고서 패키지 (Ś-256) + 해시 레지스트리; 주기적 고정.
규제 업로드 및 STR을위한 WORM 아카이브.
규칙 및 템플릿 구성 내역 (정책 변경 로그 링크).

18) 프로세스 및 RACI (간단히 말해)

R: 규정 준수 플랫폼 팀 (개발/운영).
A: 준수/CISO 책임자 (정책, 예산, 우선 순위).
C: 법률/DPO, 재무, 건축, 데이터.
I: 제품, 지원, 파트너 (PSP/KYC).

19) 구현 로드맵

MVP (4-6 주):

1. '/v1/kyc/chek ', '/v1/aml/trution', '/v1/reports/servation '(2-3 키 패턴).

2. OAuth2 + 속도 제한 + 기준 dempotency.

3. 해시 서명이있는 오브젝트 스토리지의 보고서 보관.

4. SLO 대시 보드 및 작업 대기열.

2 단계 (6-12 주):
  • 법학 템플릿 (5-8 개 시장), STR/SAR, RG 엔드 포인트, DSAR.
  • 공급자 집계 (CUS/제재), retrai, dedupe.
  • 법률 보유 정책, WORM, 확장 된 역할.
3 단계 (12 주 이상):
  • 보고서/AML 규칙에 대한 규칙 변경, 시뮬레이터 변경.
  • 멀티 테넌시 (B2B2C, 브랜드/스킨), 할당량 및 청구.
  • 외부 통합 업체를위한 샌드 박스 및 인증.

20) 전형적인 오류 및이를 피하는 방법

시장 별 체계의 차이: 중앙 집중식 디렉토리, 자동 보풀이 있습니다.
idempotency 없음-Type 'idempotency _ key' 및 중복 제거 창.
로그의 비밀: 섭취 필터, 정적 분석.
긴 온라인 보고서: 상태 잡아 당김 및 알림으로 비동기식으로 수행하십시오.
약한 RBAC: '읽기 _ 보고서', '생성 _ 보고서', '관리자' 게시.
통화/시간대: 'fx _ source', 'types', 매장 UTC를 수정하십시오.

21) 용어집 (브리핑)

KYC/KYB-신체/법인의 식별.
AML/STR/SAR-세탁 방지/의심스러운 활동/보고서.
RG는 책임있는 게임입니다.
GGR/NGR-총/순 게임 수익.
WORM-한 번 쓰기 스토리지.
Rule-as-Code-테스트/버전이 포함 된 코드로서의 규칙.

22) 결론

준수 및보고 API는 iGaming 운영과 규제 요구 사이의 안정적이고 안전하며 표준화 된 계층입니다. 이 기사의 원칙 (엄격한 체계, 안전한 통합, 불변의 감사, 관할권 템플릿 및 SLO) 을 준수하면 주요 시장에서 예측 가능성, 빠른 감사 통과 및 위험 완화가 보장됩니다.

Contact

문의하기

질문이나 지원이 필요하시면 언제든지 연락하십시오.우리는 항상 도울 준비가 되어 있습니다!

통합 시작

Email — 필수. Telegram 또는 WhatsApp — 선택 사항.

이름 선택 사항
Email 선택 사항
제목 선택 사항
메시지 선택 사항
Telegram 선택 사항
@
Telegram을 입력하시면 Email과 함께 Telegram에서도 답변드립니다.
WhatsApp 선택 사항
형식: +국가 코드 + 번호 (예: +82XXXXXXXXX).

버튼을 클릭하면 데이터 처리에 동의하는 것으로 간주됩니다.