GH GambleHub

Maʼlumot olish interfeyslari

1) Nima uchun puxta o’ylangan interfeys

Tezlik va oldindan aytish mumkin: biznes-metrika va hisobotlar SLAga «qo’lda tushirishlarsiz» joylashtiriladi.
Xavfsizlik va maxfiylik: PII/biometriya nazorat ostida, k-anonimlik, geo-chegaralar.
Moslashuvchanlik: turli mijozlar (BI, servislar, sheriklar, DS/ML) o’zlariga kerak bo’lgan narsani olishadi.
Qayta foydalanish: kontraktlar va versiyalar bilan «mahsulot sifatida ma’lumotlar».

2) Interfeyslar xaritasi (qachon nima)

SQL/ANSI + vendor dialektlari: interaktiv tahlil, BI, ad-hoc.
REST JSON: barqaror agregatlar va operatsion ma’lumotlar, sheriklar bilan integratsiya.
GraphQL: moslashuvchan «tanlangan» oʻqish va navigatsiya grafiklari (oʻlchov/faktlar).
gRPC (protobuf): onlayn-servingning past latentligi (Feature Store, skoring).
Arrow Flight/Parquet over HTTP/S3-presigned: DS/ML uchun tezkor ustunli «damplar».
OData: enterprise vositalari, «xizmat sifatida jadval» modeli.
Streams (Kafka/Pulsar) + CDC/Webhooks: real vaqt voqealari, reaktiv integratsiyalar.
Federation (Trino/Presto): koʻp manbalarga kirishning yagona nuqtasi.

Qoida: agregatlar va barqaror kesmalar → REST/MV, boy ixtiyoriy so’rovlar → SQL, past latentlik/onlayn fichlar → gRPC, moslashuvchan javob shakli → GraphQL, ommaviy ikkilik almashinuv → Arrow/Parquet.

3) Kontraktlar va versiyalar (semver)

`MAJOR. MINOR. Har bir API/sxema/hodisa uchun PATCH’.
MAJOR: mos kelmaydigan oʻzgarishlar (yangi yoʻl/topik/jadval).
MINOR: Mos keladigan maydon/dalil qoʻshish.
PATCH: tavsiflar/limitlarni tuzatish.
Kontraktlar: sxema, filtrlar, limitlar, maxfiylik, SLOni belgilaydi.

OpenAPI (parcha, REST-metrika):
yaml openapi: "3. 0. 3"
info: {title: "Analytics API", version: "2. 4. 0"}
paths:
/v2/payments/metrics:
get:
parameters:
- {name: brand, in: query, schema: {type: string}, required: true}
- {name: country, in: query, schema: {type: string}}
- {name: from, in: query, schema: {type: string, format: date-time}}
- {name: to, in: query, schema: {type: string, format: date-time}}
- {name: group_by, in: query, schema: {type: string, enum: [psp,status,day]}}
- {name: limit, in: query, schema: {type: integer, default: 500}}
responses:
"200": {description: "OK"}
x-slo: {p95_latency_ms: 1200, freshness_max: "PT5M"}
x-privacy: {pii: false, min_group_size: 20}

4) Tahlildan foydalanish (SQL va federatsiya)

Rolli/niqobli SQL-shlyuzi (row/column-level security).
BI ostidagi vyuxi/proyeksiyalar: barqaror nomlar va semantika; heavy-soʻrovlar oldindan agregatsiyaga oʻtadi.
Federation (Trino/Presto): yagona kirish nuqtasi, lekin siyosatchilar bilan: qanday kataloglar va qanday funksiyalar mavjud.
Lakehouse (Iceberg/Delta/Hudi): time-travel, snapshot-ekstraksiyalar SQL/REST orqali.
Квоты: scanned bytes/query, concurrency, wall-time.

5) GraphQL (moslashuvchan shakl)

Mijozga kerakli maydonni to’plash uchun beramiz, lekin tayyorlangan vyux/proyeksiyalar ustidan, chuqurlik/suyak limitlari bilan bajaramiz.

graphql type Query {
payments(
brand: String!, country: String, from: DateTime!, to: DateTime!,
first: Int = 200, after: String
): PaymentConnection
}

Siyosatlar: depth ≤ 5, total nodes ≤ 5k, ixtiyoriy regex/like satrlarini taqiqlaymiz; tez-tez so’rovlarni keshlaymiz.

6) gRPC/Feature Store (past latentlik)

Anti-frod/tavsiyalar/RG skoringi uchun onlayn fichlar.

proto service FeatureStore {
rpc GetFeatures (FeatureRequest) returns (FeatureResponse);
}
message FeatureRequest { string user_tok = 1; repeated string features = 2; }
message FeatureResponse { map<string, FeatureValue> values = 1; int64 ts_micros = 2; }

Talablar: p95 ≤ 50-100 ms, onlayn, TTL fich, LRU kesh, idempotency va mTLS.

7) Oqimlar va CDC

Domen voqealari:’payments. deposit_accepted`, `game. round_finished`.
CDC (OLTP dan): near-real-time status/limitlar o’zgarishi.
Hamkorlar uchun Webhooks: agregatlarga obuna (masalan, «PSP nosozliklari> ostona»).
Retraj/tasdiqlash siyosati: tanqidiy uchun exactly-once, monitoring uchun at-least-once.

8) Ko’llar va yirik namunalar

Arrow Flight DS/ML tezkor kolonnali tushirish uchun.
Parquet/Feather uchun Presigned-URL, qisqa TTL va imzolangan so’rov bilan.
Chunked transfer va fayl oʻlchamini boshqarish; yuklab olish jurnali (WORM-audit).

9) Filtrlar, paginatsiya, saralash

Katta toʻplamlar uchun OFFSET oʻrniga keyset-paginatsiya (kursor).
Filterlar: whitelists (’=, IN, BETWEEN, prefix’).
Saralash: cheklangan maydonlarning roʻyxati, default tartibi.
Partial response:’fields = brand, country, amount’foydali yukni kamaytiradi.

http
GET /v2/game-rounds? brand=X&from=...&to=...&first=1000&after=eyJkYXRlIjoi...

10) Keshlash va qiymat

Result cache shablon so’rovlari uchun, yangi token (snapshot id) bo’yicha nogiron.
Edge-kesh/CDN (PIIsiz).
Budget parametrlari: scanned bytes limiti, so’rov vaqti, rps/min kvotalari.
Pullarning ustuvorligi:’bi _ hot’,’adhoc’,’partner _ api’.

11) Xavfsizlik va maxfiylik

AuthN: OAuth2/OIDC (client credentials for services, PKCE for people).
AuthZ: RBAC + ABAC (atributlar: brend, mamlakat, litsenziya, rol).
mTLS xizmatlar oʻrtasida, TLS 1. 2 + tashqariga.
PII-gigiyena: API qatlamidagi niqoblar/tokenizatsiya, ustunli niqoblar, agregatlarning k-anonimligi.
Geo/tenant-izolyatsiya: so’rovlarni litsenziya mintaqasiga yo’naltirish; brend/mintaqaga shifrlash kalitlari.
DSAR/Legal Hold: sub’ekt tokenini qidirish, to’plamlarni muzlatish uchun sirlar.

12) Kuzatish (SLI/SLO) va himoya

SLI: p50/p95/p99 lat, error-rate, rps, bytes scanned, cache hit, kvotalar/limitlar, niqoblangan ustunlar ulushi, avtorizatsiya bo’yicha rad etishlar ulushi.
SLO: p95 latentlik, ma’lumotlarning yangiligi,% muvaffaqiyatli so’rovlar, javoblarda min-group-size.
Alertlar: scanned bytes’ning o’sishi, hit-rate’ning tushishi, 429/5xx’ning ko’tarilishi, PIIga kirishga urinishlar, kursorlarning oqishi.

Siyosat misoli:
yaml slo:
p95_latency_ms: 1200 success_rate: 0. 995 freshness_max: "PT5M"
privacy:
pii_allowed: false min_group_size: 20 quotas:
rps: 50 max_scanned_mb: 256

13) Formatlar va siqish

muvofiqlik uchun JSON; CSV - faqat kichik va murakkab bo’lmagan eksport uchun.
Parquet/Arrow - katta yuklar uchun andoza.
Compression: gzip/zstd (’Accept-Encoding’orqali muzokaralar).
Content-negotiation: `Accept: application/x-parquet`.

14) API sifatida metriklar (Analytics/OLAP-shlyuz)

Yuqori darajali metriklar: GGR/NET, CR, ushlab turish, RG-hodisalar -’brand, country, window, group _ by’parametrli resurslar sifatida.
Approx (HLL/TDigest) для distinct/percentiles.
’(metric, params, snapshot_id)’ kalitli kesh.

15) iGaming xususiyatlari - tayyor endpointlar

’GET/v2/payments/metrics’ - 7/30d oynali PSP/mamlakat/brend bo’yicha rad etishlar/praublar.
’GET/v2/game-rounds/metrics’ - top-o’yinlar/provayderlar, p95 davomiyligi, RTP-derazalar.
’GET/v2/rg/cases’ - faol cheklovlar/o’z-o’zini istisno qilish (k-anonim agregatlar).
’POST/v1/features: get’ (gRPC) - frod/rekommender skoringi uchun onlayn fichlar.
’POST/v1/webhooks/psp-alerts’ - «decline rate> chegara» xabarnomalari.

16) Kontraktlar namunalari

GraphQL soʻrovi:
graphql query {
payments(brand:"X", country:"TR", from:"2025-10-01", to:"2025-10-31", first:500) {
edges { node { day totalAmount declines psp } cursor }
pageInfo { hasNextPage endCursor }
}
}
Kafka (voqea, Yevro):
json
{"event_id":"...","occurred_at":169..., "brand":"X","psp":"Papara","status":"declined","amount":"100. 00","currency":"TRY"}
Arrow Flight (ruchka):

/flight/v1/query? dataset=gold. payments&from=...&to=...&brand=X&format=arrow

17) Yangi interfeysni e’lon qilish jarayoni

1. ADR: muammo/qiymat/mijozlar/xavfsizlik/qiymat.
2. Kontrakt: sxema, filtrlar, limitlar, maxfiylik, SLO, versiyalar.
3. Yuklamali modellashtirish: top-N so’rovlar, p95/skan-baytlar, qiymat.
4. Validatsiya/kesh/kvota: andoza.
5. Hujjatlar va SDK: misollar, limitlar, xatolar, retralar, idempotentlik.
6. Canary: mijozlar%, regress testlar, alertlar.
7. GA: Data Products katalogidagi versiya, effektlar boʻyicha hisobot.

18) Anti-patternlar

«Xom» SQLni hamma uchun ochish - PII oqishi, oldindan aytib bo’lmaydigan qiymat.
OFFSET-paginatsiya va’SELECT’- yashirin va hisoblash og’rig’i.
GraphQL chuqurlik/qiymat chegarasisiz.
’fields =...’ dan ortiqcha ustunlarni qaytaradigan REST.
Agregatlarda k-anonimlik va min-group-size yo’qligi.
Nol kvotalar/limitlar va oʻchirilgan kesh.
Versiyalash/kontraktlar yo’q - har bir o’zgarishda mijozlarni «sindiramiz».
Barcha mamlakatlar/brendlar uchun bir xil interfeys - mintaqaviy qoidalar ignori.

19) Joriy etish yo’l xaritasi

0-30 kun (MVP)

1. Data Products katalogi va ularning OpenAPI/GraphQL shartnomalari.
2. RLS/CLS bilan SQL-shlyuz, agregatlarning k-anonimligi, bazaviy kvotalar.
3. Bitta REST-metrik endpoint (’/payments/metrics’) + kesh + pullar’bi _ hot/adhoc’.
4. gRPC Feature Store: 10-20 ta asosiy onlayn fichni o’qish (p95 ≤ 80 ms).

30-90 kun

1. PSP alertlari/oʻyin tadbirlari uchun strim interfeyslari (Kafka/Webhook).
2. Arrow/Parquet presigned-URL bilan tushirish; snapshotlar katalogi.
3. Federation-shlyuz (Trino/Presto) aniq siyosatchilar bilan.
4. Kuzatilganlik: SLI/SLO dashbord, qiymati/yashirin/PII uchun alertlar.

3-6 oy

1. Retray/idempotent/kvotalar bilan SDK (TypeScript/Python/Go).
2. Mahsulotlar va hamkorlar uchun ingichka GraphQL kesmalari.
3. gRPC/FS ni kengaytirish, onlayn tarzda oflayn rejimda kelishish; shadow → canary relizlari.
4. Maxfiylik auditi/DSAR; kirish bo’yicha komplayens hisobotlari.

20) RACI

Data Platform (R): shlyuzlar, kesh, kvotalar, federatsiya, kuzatuv.
Data Governance (A/R): kontraktlar, versiyalar, maxfiylik/k-anonimlik.
Domain Owners (R): maydon semantikasi, biznes invariantlari, Data Products.
Security/DPO (A/R): AuthN/Z, geo-izolyatsiya, DSAR/Legal Hold.
SRE/Observability (C): SLO/SLI, alertlar, capacity.
Analytics/BI/DS (C): shakl/agregatlarga talablar, SDK.

21) Bog’liq bo’limlar

Tahliliy omborlarni indeksatsiya qilish, Tahliliy so’rovlarni optimallashtirish, Ma’lumotlar sxemalari va ularning evolyutsiyasi, Ma’lumotlarni validatsiya qilish, DataOps-amaliyotlar, Analitik va metrik API, Feature Store, Ma’lumotlar xavfsizligi va shifrlash, Kirish nazorati, Ma’lumotlarni saqlash siyosati.

Jami

Maʼlumotlardan foydalanishning toʻgʻri ishlab chiqilgan interfeyslari omborxonalar va oqimlarni ishonchli «mahsulotga» aylantiradi: bashorat qilinadigan SLA, nazorat qilinadigan qiymat, maxfiylikka rioya qilish va mahsulot jamoalari, tahlillar, komplayens va sheriklar uchun yagona til. iGaming’da bu PSPning nosozliklarini tezroq ushlash, o’yinchilarning xatti-harakatlarini tushunish va regulyatorlarning talablarini qo’lda tushirish va tungi migratsiyalarsiz bajarish demakdir.

Contact

Biz bilan bog‘laning

Har qanday savol yoki yordam bo‘yicha bizga murojaat qiling.Doimo yordam berishga tayyormiz.

Telegram
@Gamble_GC
Integratsiyani boshlash

Email — majburiy. Telegram yoki WhatsApp — ixtiyoriy.

Ismingiz ixtiyoriy
Email ixtiyoriy
Mavzu ixtiyoriy
Xabar ixtiyoriy
Telegram ixtiyoriy
@
Agar Telegram qoldirilgan bo‘lsa — javob Email bilan birga o‘sha yerga ham yuboriladi.
WhatsApp ixtiyoriy
Format: mamlakat kodi va raqam (masalan, +998XXXXXXXX).

Yuborish orqali ma'lumotlaringiz qayta ishlanishiga rozilik bildirasiz.