GH GambleHub

API analitiklər və metriklər

1) Niyə ayrı bir API təbəqəsi

KPI üçün vahid həqiqət: «SQL zoopark» istisna.
Məhsul sürəti: ön tərəflər, tərəfdaş panellər, mobil müştərilər DWH birbaşa giriş olmadan aqreqatlar almaq.
Təhlükəsizlik və uyğunluq: tokenizasiya, maskalar, geo məhdudiyyətlər, RG/AML filtrləri.
Ölçmə: cache, prerenders, CDN, sabit müqavilələr.

2) Taksonomiya: metriklər, ölçmələr, faktlar

Faktlar: dərəcələr, uduşlar, depozitlər, KYC hadisələri, RG müdaxilələri.
Ölçülər: tarix/vaxt (təqvimlər), oyun/provayder, marka/ölkə, kanal/cihaz, oyunçu (token).
Metriklər: GGR, NGR/NET, ARPPU, D1/D7/D30 saxlama, depozit tezliyi, FPR antifrod, RG riski.
Vahidlər: valyuta (FX), vaxt (TZ), həcm/sayğaclar (idempotent!).
KPI semantikası: BI müqavilələrindəki təriflər, KPI versiyaları qeydə alınır.

3) API müqavilələri (Data & BI Contracts)

Schema: sahələr, növləri, nullable, enum, vahidlər, valyutalar.
Metrik semantika: formula, mənbələr, aqreqasiya pəncərələri, filtrlər.
Uyğunluq (SEMVER): MAJOR qırır, MINOR sahələr əlavə edir, PATCH sabit.
DQ/SLA: təzəlik, dolğunluq, tutarlılıq, uyğunsuzluq tolerantları.
Gizlilik: 'pii: false', 'tokenized: true', detokenizasiya qadağası.

Nümunə (fraqment):
yaml api: analytics. v2 resource: /metrics/revenue kpi: GGR schema_version: 2. 1. 0 dimensions: [date, brand, country, provider, game]
metrics: [ggr, stakes, wins, bets_count]
sla: {freshness: PT15M, completeness: ">=99. 9%"}
privacy: {pii: false, tokenized: true}

4) Memarlıq

Query API («gold «/kub/fichestor üzərində onlayn aqreqasiya).
Precompute API (prerenderlər, materialized views).
Events API (axın sayğacları/siqnalları).
Export API (imzalanmış boşaltmalar, audit üçün WORM).
Cache: çox qatlı (in-memory → Redis → CDN), açar = hash sorğu + versiyası.
Uyğunluq: son qeydlər üçün read-your-writes, aqreqatlar üçün SLA təravət.

5) Interface və sorğular

5. 1 Filtrlər/aqreqasiya/pəncərə

'filter': tarix diapazonları ('from/to' UTC, timezone aware), ölkələr, markalar, oyunlar, kanallar, cihazlar.
'group _ by': ölçmə.
'metrics': KPI siyahısı.
`window`: `DAY|WEEK|MONTH|ROLLING_7D|ROLLING_28D`.
'currency': 'reporting' native ', FX strategiyası:' eod 'intraday' txn '.
'sampling': heavy-sorğular üçün (yalnız icazə verilən yerlərdə).

5. 2 Sorğu nümunəsi

json
POST /v2/metrics/revenue
{
"range": {"from":"2025-10-01","to":"2025-10-31","tz":"Europe/Kyiv"},
"group_by": ["date","brand","country"],
"metrics": ["ggr","bets_count","net_revenue"],
"filters": {"country":["EE","LT","LV"],"brand":["alpha","beta"]},
"currency": "reporting",
"window": "DAY"
}

5. 3 Cavab nümunəsi

json
{
"schema_version":"2. 1. 0",
"kpi_definitions":["ggr@1. 7. 0","net_revenue@1. 3. 2"],
"range":{"from":"2025-10-01","to":"2025-10-31","tz":"Europe/Kyiv"},
"data":[
{"date":"2025-10-01","brand":"alpha","country":"EE","ggr":12450. 72,"bets_count":182342,"net_revenue":10732. 11},
{"date":"2025-10-01","brand":"beta","country":"EE","ggr":...}
],
"fx":{"strategy":"eod","rate_date":"2025-10-31"},
"dq":{"freshness_sec":420,"completeness":0. 9992},
"trace_id":"3d1a-...-c79"
}

6) Paginasiya, limitlər, çeşidləmə

Paginasiya: 'limit' (≤ 10k), 'cursor' (opaque), ölçmə/tarix üzrə çeşidləmə.
Timeout/partial: qismən cavablar yalnız qeyri-maliyyə KPI üçün; maliyyə - ya P200, ya da P504.
Rate limits: qlobal/açar/tenant; cavabda 'X-RateLimit-' var.

7) İdempotentlik və cache

Idempotent GET/POST-read (bədən ilə) ilə 'Idempotency-Key'.
Cash açarı = hash (parametrlər + sxem versiyası + rol/tenant/geo).
TTL: KPI-asılı (məsələn, revenue üçün 'PT15M', hadisələr üçün 'PT5M'), yeni snapshot ilə sıfırlama.

8) Konsistentlik və vaxt valyutası

retrospektiv hesabatlar üçün Time-travel bayrağı (məlumat versiyası).
Cut-off qaydaları (gün/həftənin bağlanması).
FX: Strategiyanı, kurs tarixini cavablandırırıq.
Clock: Bütün vaxt tamponları ISO-8601, TZ göstərişi tələb olunur.

9) Təhlükəsizlik və məxfilik

mTLS/TLS1. 3, HMAC-imza sorğu/cavab bədən (MITM/replay qarşı müdafiə).
RBAC/ABAC/ReBAC: rol + ölkə + marka + hədəf; maskalar default.
Multi-tenant (multi-tenant): sxemlərin/açarların/kvotaların izolyasiyası.
Identifikatorların tokenizasiyası; cavablarda PII qadağası.
Audit: dəyişməz sorğu qeydləri (WORM), 'trace _ id '/' actor '/' purpose'.
Consent/DSAR: marketinq atributlarına filtrlər; «subject erased» bayrağı.

10) RG/AML/Antifrod məhdudiyyətləri

RG siyasəti: yüksək riskli seqmentlər üçün «aqressiv» göstəricilərin verilməsinin qadağan edilməsi; aqreqatlar təhlükəsizdir.
AML/Antifrod: həssas KPI-yə məhdud giriş, rolların rayonlaşdırılması; araşdırmalar üçün ayrı-ayrı end nöqtələri.
Explainability: KPI izahat lüğəti/sapport üçün siqnallar.

11) Müşahidə və SLO API

SLO: p95 latency (məsələn, cash hitlər üçün 300 ms ≤; ağır ≤ üçün 2 ms), success-rate ≥ 99. 5%.
DQ: təzəlik/tamlıq/bütövlük; cavabında işarələr.
Usage: QPS, hit-rate cache, qaynar açarlar, validasiya səhvləri.
Alertlər: təzəlik deqradasiyası, böyümə 4xx/5xx, KPI anomaliyaları (unexpected zeros/peaks).
Tracing: 'trace _ id' DWH/fichestor keçir.

12) Version və uyğunluq

Yollar: '/v1 ', '/v2'; miqrasiya pəncərəsi ilə deprekeyt.
Sxemlər: cavabda 'schema _ version'; MAJOR → dual-read, miqrasiya qaydaları.
KPI versiyası: kataloqdakı linklə 'kpi _ definitions' cavabında; gizli düstur dəyişikliklərinin qadağan edilməsi.

13) Səhvlər və statuslar

'400' validasiya (mövcud olmayan metrika/ölçmə/filtr kombinasiyası).
'401/403' autentifikasiya/avtorizasiya.
'409' versiyaların/siyasətlərin uyğunsuzluğu.
'422' məxfilik pozuntusu/consent.
'429' kvotalar.
'5xx' platforma uğursuzluqları (trace_id və retry-nl ilə) .

Səhv formatı:
json
{
"error":"VALIDATION_FAILED",
"message":"Unknown metric: ngrx",
"hint":"metrics allowed: ggr, net_revenue,...",
"trace_id":"..."
}

14) Inteqrasiya və interfeys

BI: əvvəlcədən təsvir semantic modellər, bağlayıcılar (Looker/Power BI/Tableau) → mənbə kimi API.
ML: Fich aqreqatları üçün lightweight endpoints (point-in-time, PII olmadan).
Tərəfdaşlar: məhdud açarlar/kvotalar, geo-filtrlər, hesabatlar yalnız aqreqat blokları ilə.
Webhook/Push: «snapshot hazır», «SLO/KPI diapazonu pozuldu» notifikasiyaları.

15) Resurs end nöqtələrinin nümunələri

15. 1 Gəlir/gəlir

'POST/v2/metrics/revenue' → GGR/NGR, bahislər/qazanclar, 'date, brand, country, provider, game' ölçmələrinə görə.

15. 2 Saxlama və huni

`POST /v2/metrics/retention` → когорты D1/D7/D30, `group_by=[cohort_week, brand, country]`.

15. 3 Ödənişlər

'POST/v2/metrics/payments' → depozitlər/nəticələr, orta çek, chargeback rate.

15. 4 Responsible Gaming

'POST/v2/metrics/rg' → müdaxilələrin sayı, yüksək risk payı, orta reaksiya vaxtı.

15. 5 Antifrod

'POST/v2/metrics/antifraud' → FPR/TPR, hallar, itkilərin qarşısı alınıb.

16) Test və keyfiyyət

Müqavilə testləri: enum/nullable/növü, valyuta/saat kəmərlərinin uyğunluğu.
DQ testləri: diapazon, monotonluq və bütövlük nəzarəti.
Reqress: tolerans üzrə v1/v2 müqayisə.
Yükləmə: pik profillər (turnirlər/provayder tədbirləri).
Təhlükəsizlik: imzalar, anti-replay, fuzzing sorğular, log Zero-PII.

17) Privacy default

«Minimum N qeydlər» (k-anonimlik) həddi olan aqreqatlar.
Heç bir raw identifikatorları; yalnız tokenlər/kateqoriyalar.
DSAR: imtiyazlı konturdan tokenlə boşaltmaq/çıxarmaq üçün API.

18) Uğur metrikası (KPI API)

Adoption: birbaşa SQL deyil, API istifadə hesabat/widget payı.
Consistency: BI və API ≤ tolerantlar arasında uyğunsuzluq.
SLO: latency/success/freshness riayət.
Security: cavablarda/loqlarda sıfır PII halları.
Cost: hit-rate cache, sorğu dəyəri,% prerender.

19) RACI (nümunə)

Product/Analytics (A) - KPI tərifləri, ehtiyaclar.
Data Platform (R) - realizasiya, cache, SLA, observability.
Domain Owners (R) - mənbələr/müqavilələr.
Security/DPO (A/R) - gizlilik, giriş, audit.
SRE (R) - kvotalar, avtoskeyl, insidentlər.
Finance (C) - GGR/NGR/NET maliyyə semantikası.

20) Tətbiqi yol xəritəsi

0-30 gün (MVP)

1. 3-5 KPI seçin (GGR, depozitlər, D7 saxlama).
2. Müqavilələri və KPI semantikasını təsvir edin; DQ/SLA daxil edin.
3. Həyata '/v1 'Query API + cache + mTLS/HMAC.
4. Dashbord SLO (latency/success/freshness), audit/trace _ id.

30-90 gün

1. Prerenders (Precompute) məşhur vitrinlər, CDN cache.
2. Version '/v2 ', dual-read, miqrasiya bələdçisi.
3. İmzalı boşaltmalar və WORM ilə API ixracı.
4. BI/ML ilə inteqrasiya; kvotalar/tenantlar/geo-izolyatorlar.

3-6 ay

1. Tam KPI taksonomiyası və widget kitabxanası.
2. Smart İpuçları/Avtomatik Kompüter Filter, Linter Sorğu.
3. Avtomatik Release Notes KPI, tolerans nəzarəti v1/v2.
4. Məhdud açarlar və RG siyasətçiləri ilə xarici tərəfdaşlıq konturu.

21) Anti-nümunələr

Yeni versiya və buraxılış notları olmadan gizli KPI düsturu dəyişikliyi.
aqreqatlar/tokenlər əvəzinə PII/xammal qaytarılması.
Cache/Prerender → yoxdur bahalı və yavaş.
Spesifik DB-yə sərt bağlama (təbəqənin abstraksiyası yoxdur).
Razılaşdırılmamış TZ/FX → müqayisə olunmayan rəqəmlər.
No rate limits/kvota → «DDOS öz».

22) Şablonlar (istifadəyə hazır)

22. 1 SLO API siyasəti (fraqment)

yaml api: analytics. v2 slo:
p95_latency_ms: 300 success_rate: 0. 995 freshness_sec_max: 900 quotas:
per_key_qps: 50 burst: 200 privacy:
min_group_size: 25 pii_in_response: false

22. 2 OpenAPI (fraqment)

yaml paths:
/v2/metrics/revenue:
post:
requestBody:
content:
application/json:
schema: {$ref: '#/components/schemas/RevenueQuery'}
responses:
'200': {description: 'OK', content: {application/json: {schema: {$ref:'#/components/schemas/RevenueResponse'}}}}
'422': {description:'Privacy/Consent violation'}

22. 3 Buraxılış çek siyahısı

  • KPI semantikası yeniləndi və versiyası artırıldı
  • Kataloqdakı müqavilə/sxem; DQ/regress yaşıl testlər
  • Cache açarları/TTL, Prirenders xüsusi
  • Sənədləşmə və sorğu/cavab nümunələri
  • SLO və kvotalar üzrə alertlər daxildir
  • RG/AML məhdudiyyətləri yoxlanılır

23) Əlaqəli bölmələr

DataOps-Practices, Audit və Version, Təhlükəsizlik və Şifrələmə, Access Control, Data Tokenization, Saxlama Siyasəti, Verilənlərin mənşəyi və yolu, MLOps: Modellərin istismarı, Verilənlərin etikası.

Yekun

API analitiklər və metriklər «qızıl» məlumatlara və KPI-yə müqaviləli, təhlükəsiz və sürətli giriş qatıdır. Bu vahid semantika, sabit versiyalar, privacy və məhsul səviyyəsində performans təmin edir - daxili dashboard partnyor panelləri və ML.

Contact

Bizimlə əlaqə

Hər hansı sualınız və ya dəstək ehtiyacınız varsa — bizimlə əlaqə saxlayın.Həmişə köməyə hazırıq!

Telegram
@Gamble_GC
İnteqrasiyaya başla

Email — məcburidir. Telegram və ya WhatsApp — istəyə bağlıdır.

Adınız istəyə bağlı
Email istəyə bağlı
Mövzu istəyə bağlı
Mesaj istəyə bağlı
Telegram istəyə bağlı
@
Əgər Telegram daxil etsəniz — Email ilə yanaşı orada da cavab verəcəyik.
WhatsApp istəyə bağlı
Format: ölkə kodu + nömrə (məsələn, +994XXXXXXXXX).

Düyməyə basmaqla məlumatların işlənməsinə razılıq vermiş olursunuz.