GH GambleHub

<نام گزارش رسمی>

1) هدف و محدوده

استاندارد سازی جمع آوری، تولید و ارائه گزارش های نظارتی برای همه مجوزها و بازارها. این سند تعریف می کند:
  • گزارش کاتالوگ و برنامه
  • فرمتها و طرحوارههای داده
  • اعتبار سنجی و قوانین کنترل کیفیت ؛
  • کانال های انتقال و تأیید ؛
  • نقش ها و RACI، ورود به سیستم مصنوعی و نگهداری.
💡 سلب مسئولیت: زمینه های خاص/شرایط به شرایط مجوز بستگی دارد. فرم های نهایی توسط قانونی/انطباق تایید شده است.

2) نقش ها و RACI

مالک: رئیس انطباق - نسخه ها، اولویت ها (A) را تصویب می کند.
Schema Steward (DWH Lead) - پشتیبانی از طرح ها و نقشه ها (R).
تولید کنندگان: AML/RG/پرداخت/عملیات بازی - منابع داده (R).
QA/DQ: تیم کیفیت داده - اعتبار سنجی، کیت تست (R).
حقوقی: تفسیر هنجارها، تصویب تغییرات (C).
امنیت/DPO: PII/Aliasing، کانال های تحویل (C).
گزارش عملیات: آپلود، امضا، ارسال، تایید (R).

3) کاتالوگ گزارش (کلاس ها)

1. گزارش های بازی - شرط/برنده/تعادل/جلسات، RTP، صداقت.
2. مالی - سپرده/برداشت، کسر، مالیات، GGR/NGR، بازپرداخت.
3. AML/CFT - معاملات مشکوک، PEP/تحریم ها، جمع آوری ریسک.
4. بازی مسئولانه (RG) - خود حذفی، محدودیت ها، مداخلات.
5. حادثه - در دسترس بودن، نشت، اطلاعیه ها و مهلت.
6. بازاریابی/وابسته - منابع ترافیک، محدودیت های تبلیغاتی (در صورت نیاز به مجوز).
7. فنی - uptime، نسخه های RNG، هش های ساخت/پیکربندی، گزارش حسابرسی.

هر گزارش توسط یک کارت (§ 4) توصیف شده است.

4) کارت گزارش (قالب)


ID: REP- <code >/Version: v <MAJOR. MINOR >/Owner: <role>
Jurisdiction/License: <e.g. MT/MGA B2C, GB/UKGC, SE/Spelinspektionen>

5) Data formats: standards

5. 1 CSV/TSV

Encoding: UTF-8 without BOM.
Delimiter: ',' (CSV), or '\t '(TSV).
Escape '' around delimited/line feed fields.
Decimal separator: '.'; Date/Time - ISO-8601 'YYYY-MM-DDThh: mm: ssZ'.

Example (CSV, rates):

report_date,player_id_hash,game_code,currency,stake,win,round_id,session_id,geo,ts_utc

2025-10-31,4b1c...a9,EGT_40SUPERC,EUR,1 است. 00,0. 00,rd_789,ss_123,DE,2025-10-31T15: 02:11Z


5. 2 XML

Namespace fixed; XSD validation.
Null values as empty element with'nil = "true" 'attribute.

5. 3 JSON

JSON Lines for large offloads; JSON Schema v2020-12.
Timezones - UTC; sums - decimal with string representation.

5. 4 XLSX

Used only if prescribed by the regulator. The sheet template and column names are fixed.

6) Core dictionaries

6. 1 Common fields

'report _ date '(DATE, UTC) - key date (aggregation window).
'operator _ id '(STRING) - ID of the license/operator.
'player _ id _ hash '(STRING) - hashed player ID (salt per jurisdiction).
'geo '(STRING, ISO-3166-1 alpha-2) is the country of the player/session.
`currency` (STRING, ISO-4217).
'ts _ utc '(TIMESTAMP) is the moment of the event.

6. 2 Gaming

`game_code`, `provider_code`, `round_id`, `session_id`, `stake`, `win`, `bonus_flag`, `rtn_balance_before/after`, `rake`.

6. 3 Payments

`txn_id`, `method_code`, `psp_id`, `amount`, `fee`, `status`, `decline_reason`, `kya_level`, `chargeback_flag`.

6. 4 AML/RG

`risk_score`, `peps_hit`, `sanctions_hit`, `sar_id`, `rg_limit_type`, `rg_breach`, `self_exclusion`.

7) Jurisdictional features (examples)

MT (MGA): monthly gaming aggregates: bets/winnings/RTP by title and provider; CSV/XLSX format currency code, split into "cash/bonus."
GB (UKGC): reports on RG (self-exclusion), marketing (channel compliance), incident notifications; CSV/XML preference, portal.
NL (KSA): detailed game events (often JSON/XML), strict time synchronization and fields for CRUKS (self-exclusion register).
SE (Spelinspektionen): Spelpaus integration, reports on RG interventions; CSV format, SFTP.
DE (GlüStV): rate/deposit limits and compliance, RG events; locale DE, but the numbers are '.'.
ES/PT/IT: monthly GGR aggregates/taxes/active players, XLSX/CSV; separate report on bonuses and advertising.

> The register for all markets is kept in Git/Confluence; any changes are recorded by the changelog.

8) Transmission channels and security

Regulator portals: downloading a file, obtaining a registry ID.
API: OAuth2/MTLS, quota, retray with idempotency.
SFTP: encryption in transit, PGP file signature, atomic calculation ('.part' → '.csv').
Mail (secure): only on demand, encrypted/signed.

Artifacts: receipts/receipt ID, checksums (SHA256), send logs.

9) Data quality control (DQ) and validation

9. 1 Check layers

1. Schema validation: types, mandatory, value domains.
2. Business rules: balanced identities ('opening + deposit − within − bet + win = closing ± adj'), valid RTP ranges.
3. Cross-source reconciliation: PSP vs. wallet vs. GL (general ledger).
4. Freshness: SLA window display updates; late events are marked and loaded.
5. Uniqueness: 'txn _ id', 'round _ id' are unique within the window.

9. 2 Model rules

`stake ≥ 0`, `win ≥ 0`; when 'bonus _ flag = 1' - a separate bucket.
`currency ∈ ISO-4217`; `geo ∈ ISO-3166-1`.
'ts _ utc'inside the report window; time zone - UTC only.
For returns, separate records with'amount <0'and'status = REFUND'.

10) Liniage and circuit versioning

Lineage: for each field - source (table/column), transformation (SQL/udf), owner.
Semantic Versioning:
MAJOR - incompatible changes (deleting/renaming fields).
MINOR - Add optional fields.
PATCH - Description/Validation Corrections.
Deviation Policy: double unloading period (old + new format) ≥ 1 reporting cycle.
Change Log: date, author, reason, jurisdictions affected.

11) Aliasing and PII

Hashing 'player _ id' with salt on jurisdiction; salt is stored in a secret storage.
Masking e-mail/phone, if required.
Access Profiles: PII only sees DPOs/Commissioners; export to portals - already with hashes.

12) Mapping Examples (DWH → Report)

Game unit (day, title, currency):

SQL

انتخاب کنید

DATE_TRUNC («روز»، ts_utc) AS report_date،

game_code،

واحد پول،

SUM (سهام) به عنوان stake_sum،

SUM (برنده) به عنوان win_sum،

SAFE_DIVIDE (SUM (win), NULLIF (SUM (stake), 0)) AS rtp

از fact_game_rounds

از کجا ts_utc> = از و ts_utc <: به

گروه توسط 1,2,3 ؛


Payments (deposits/withdrawals/fees):

SQL

انتخاب کنید

DATE_TRUNC («روز»، ts_utc) AS report_date،

method_code، psp_id، واحد پول

مجموع (مورد زمانی که نوع = 'سپرده' سپس مقدار دیگری 0 پایان) به عنوان سپرده،

مجموع (مورد زمانی که نوع = 'برداشت' سپس مقدار دیگری 0 پایان) به عنوان برداشت,

مجموع (هزینه) هزینه های AS

از fact_payments

از کجا ts_utc بین: از و: به

گروه توسط 1,2,3,4 ؛


13) Sample files

13. 1 Gaming Unit (CSV)

report_date,operator_id,game_code,currency,stake_sum,win_sum,rtp

2025-10-31,OP123,NET_STARBURST,EUR,125000 است. 50,119800. 00,0. 9585


13. 2 RG Events (JSON Lines)

{«گزارش _ تاریخ»: » 2025-10-31 «، «بازیکن _ شناسه «: «b93e «...، «rg _ event «: «SELF _ EXCLUSION»،» duration _ days»: 180،» ts _ utc»:» 2025-10-31T09: 11: 02Z»}

{"گزارش _ تاریخ": "2025-10-31"، "player _ id _ hash": "cp1a"...، "rg _ event": "LIMIT _ BREACH"، "limit _ type": "LOSS _ DAILY"، "مقدار": "200. 00 "، "ts _ utc":" 2025-10-31T13: 45: 22Z"}


13. 3 AML aggregate (XML, fragment)

XML

🚨 amlReport تاریخ =» 2025-10-31» operatorId =» OP123» xmlns = «urn: operator: aml: v1»>
بخش riskTier =" HIGH" گردش مالی =" 98500. 00" ارز =" EUR "/>
pepsMatches شمارش =» 2 »/>
sanctionsMatches count =» 0 »/>
/amlReport>

14) فرآیند گردش عملیاتی

1. آماده سازی پنجره: انجماد، محاسبه aggregates، بارگیری مجدد رویدادهای اواخر.
2. اعتبار سنجی: طرح + قوانین کسب و کار + آشتی.
3. تولید فایل: نسخه طرح در نام ('REP-GB-GAME-v1. 3_2025-10-31. CSV ').
4. امضا/هش: PGP + SHA256.
5. تحویل: پورتال/API/SFTP ؛ ثبت پذیرش (شناسه/رسید).
6. بایگانی: اصلی + امضا + دریافت در فروشگاه گزارش.
7. نظارت: داشبورد «گزارش نظارتی» - وضعیت «آماده/ارسال/پذیرفته/خطا».
8. Retro: تجزیه و تحلیل خطا/انحراف، CAPA.

15) چک لیست

قبل از ارسال

[] تاریخ پنجره و منطقه زمانی تایید شده است.
[] تمام اعتبار سنجی سبز هستند، مقدار گزارش شده با GL/PSP آشتی.
[] نسخه Schema با رجیستری مطابقت دارد.
[] PII ماسک/aliased.
[] فایل امضا شده/چک شده، هش متعهد است.
[] تماس با تنظیم کننده به روز است (پورتال در دسترس است).

پس از ارسال

[] دریافت/شناسه دریافت شده، بایگانی شده است.
[] وضعیت به روز شده در داشبورد.
[] طرح به روز رسانی در صورت خطای اعتبار سنج توافق شده است.

16) معیارها و SLO

به موقع بودن:٪ از گزارش های ارسال شده در زمان.
پذیرش اولین تلاش:٪ بدون اصلاحات پذیرفته شده است.
DQ Score: درصد ورودی ها بدون خطا (طرح/کسب و کار).
شکاف آشتی: اختلاف مطلق/درصد با GL/PSP.
زمان سرب برای گزارش: زمان از بسته شدن پنجره تا ارسال.
Change Failure Rate (formats): سهم انتشار schema با رول بک.

17) حکومت

بررسی سه ماهه ادعاهای صلاحیت ؛ برنامه ریزی نشده - در طول به روز رسانی تنظیم کننده.
RFC برای تغییرات طرح: تجزیه و تحلیل تاثیر، قابلیت همکاری، خلبان ماسهبازی.
دو بار تخلیه در چرخه MAJOR ≥ 1.
آموزش تیم در نسخه های منتشر شده، به روز رسانی playbooks و پرسش و پاسخ.

18) اشتباهات مکرر و چگونگی اجتناب از آنها

منطقه زمانی نادرست: همیشه در UTC تحکیم، ذخیره محلی به طور جداگانه.
گرد کردن: استفاده از دهدهی، قوانین گرد کردن بانک یکنواخت.
ناسازگاری شناسه ها: رجیسترهای تک «game _ code»، «method _ code»، «psp _ id».
محلی سازی اعداد/تاریخ: فقط ISO-8601 و دوره به عنوان جداساز اعشاری.
PII در روشن: چک کردن ماسک در قبل از ارتکاب و CI.

19) تعبیه در اکوسیستم

ارتباط با بخش ها: داشبورد انطباق، اطلاعیه ها و مهلت ها، دفترچه های حوادث، مدیریت بحران، گزارش های حسابرسی.
در ربات حادثه: command '/report <jurisdiction> <report_id>' - طرح و مهلت را دریافت کنید.
صادرات عکس های فوری در S1/S2 به بسته artifact اضافه شده است.

20) برنامه پیاده سازی (30 روز)

1 هفته

1. فهرست تمام گزارش های قانونی مجوز.
2. ایجاد کارت (§ 4) و فرهنگ لغت کد.
3. تصویب فرمت ها و کانال های انتقال.

2 هفته
4. ساخت ویترین های DWH و lineage اعتبار سنجی اولیه
5. تولید فایل های آزمایشی (یک بازار/کلاس).
6. پیکربندی امضا/هش ها و آرشیو.

3 هفته
7. ادغام با پورتال sandbox/API/SFTP.
8. وضعیت داشبورد و هشدار توسط مهلت.
9. گزارش آموزش عملیات و چک لیست.

4 هفته
10. تحویل خلبان 2-3 گزارش ؛ جمع آوری بازخورد
11. CAPA برای DQ/اعتبار سنجی ؛ تعدیل طرح ها
12. v1 را آزاد کنید. 0; برنامه تجدید نظر و یک تقویم مهلت واحد.

بخش های مرتبط:
اطلاعیه های نقض و مهلت گزارش
داشبورد انطباق و نظارت
کتاب های بازی و اسکریپت های حادثه
مدیریت بحران و ارتباطات
برنامه تداوم کسب و کار (BCP )/DRP
گزارش های حسابرسی معاملات
Contact

با ما در تماس باشید

برای هرگونه سؤال یا نیاز به پشتیبانی با ما ارتباط بگیرید.ما همیشه آماده کمک هستیم!

Telegram
@Gamble_GC
شروع یکپارچه‌سازی

ایمیل — اجباری است. تلگرام یا واتساپ — اختیاری.

نام شما اختیاری
ایمیل اختیاری
موضوع اختیاری
پیام اختیاری
Telegram اختیاری
@
اگر تلگرام را وارد کنید — علاوه بر ایمیل، در تلگرام هم پاسخ می‌دهیم.
WhatsApp اختیاری
فرمت: کد کشور و شماره (برای مثال، +98XXXXXXXXXX).

با فشردن این دکمه، با پردازش داده‌های خود موافقت می‌کنید.