API orqali provayderlarni qanday ulash mumkin: xendsheyk, sertifikatlash, sandbox
Maqolaning to’liq matni
1) Integratsiya xaritasi: buyurtmanomadan prodakshengacha
Bosqichlar:1. Presail va Due Diligence: yurproverki, geo/litsenziya, kontent mosligi va RG siyosati.
2. Xandsheyk va xavfsizlik: sandbox-kirishni berish, kalitlarni almashish (mTLS/HMAC), Schema Registry-da ro’yxatdan o’tish.
3. Texnik dizayni: domen modelini (sessions/bets/settlements/events), idempotentligini, xato kodlarini tasdiqlaymiz.
4. Sandbox integratsiyasi: hamyon emulyatorlari/PSP/RG, test o’yinchilari, «yomg’ir» va dubl ssenariylari.
5. Sertifikatlashtirish: majburiy testlardan o’tish, protokollar, yuklar va xaos-keyslar imzosi.
6. Staging/UAT: haqiqiy pulsiz jangovar konfigurlar, kanareya trafigi.
7. Go-Live: kalitlar kompaniyasi, fich-bayroqlarni yoqish, SLO monitoringi, hodisadan keyingi tayyorgarlik.
2) Xandsheyk: autentikatsiya, avtorizatsiya, traska
2. 1 Sirlar va tovonlar almashinuvi
mTLS (sertifikatlar per brand/region) va/yoki OAuth2 Client Credentials.
HMAC/EdDSA so’rovi tanasining imzosi (non-repudiation qo’shadi).
Скоупы: `sessions:write`, `bets:write`, `settlements:write`, `events:publish`.
2. 2. Majburiy sarlavhalar
’X-Trace-Id’ - o’tish yo’llari.
`X-Brand-Id`, `X-Region`, `X-Provider-Id`.
’X-Idempotency-Key’ - barcha write-operatsiyalar uchun.
2. 3 Health-tekshirish (kodgacha)
GET /health
→ 200 {"status":"ok","version":"1. 7. 2","time":"2025-10-23T10:00:00Z"}3) Sandbox: u yerda nima bor va undan qanday foydalanish kerak
Atrof-muhit tarkibi: Haqiqat bilan uygʻunlik:- Shu kabi sxemalar va rate limits versiyalari.
- Taym-skyu, yetkazib berish dubllari, out-of-order - emulyatsiya tugmalari bilan o’rnatilgan.
p_demo_1 (EUR), p_demo_2 (USD), p_blocked_rg (denied), p_low_balance4) Resurs modeli va eng kam kontrakt
4. 1 Sessiyani tashkil etish
POST /v1/sessions
{
"player_id":"p_demo_1",  "game_id":"studio:slot_forge_02",  "currency":"EUR",  "locale":"de-DE"
}
→ 201 {"session_id":"s_456","expires_at":"2025-10-23T19:10:00Z"}4. 2 Stavkani avtorizatsiya qilish (hold)
POST /v1/bets/authorize
Headers: X-Idempotency-Key: bet_r_8c12_1
{
"session_id":"s_456",  "bet_id":"b_001",  "round_id":"r_8c12",  "amount":{"amount":2. 00,"currency":"EUR"}
}
→ 200 {"status":"authorized","hold_id":"h_zz1"}4. 3 Settlement (raundning natijasi)
POST /v1/bets/settle
Headers: X-Idempotency-Key: settle_r_8c12_1
{
"bet_id":"b_001",  "round_id":"r_8c12",  "win":{"amount":14. 60,"currency":"EUR"},  "bonus_state":{"in_bonus":true,"freespins_left":7}
}
→ 200 {"status":"credited","settlement_id":"st_77"}4. 4 Xatolar (yagona sxema)
409
{"code":"DUPLICATE","message":"Bet already authorized","retryable":false,"trace_id":"tr_a1b2"}5) Voqealar va sxemalar: ularsiz sertifikatlashdan o’ta olmaysiz
Asosiy topiklar: Euro/JSON Schema misoli (parcha’bet. settled`):json
{
"event_type":"bet. settled",  "schema_version":"1. 2. 0",  "event_id":"uuid",  "occurred_at":"2025-10-23T16:21:05Z",  "tenant_id":"brand-7",  "region":"EU",  "player_id":"p_demo_1",  "trace_id":"tr_a1b2",  "payload":{
"round_id":"r_8c12",   "bet":{"amount":1. 00,"currency":"EUR"},   "win":{"amount":14. 60,"currency":"EUR"},   "in_bonus":true
},  "idempotency_key":"bet_r_8c12_1"
}Qoidalar: backward-compatible evolyutsiya, «dublikatlar va kechki voqealar» uchun test,’tenant _ id/player _ id’bo’yicha partiyalashtirish.
6) Integratsiyani sertifikatlash: aynan nima tekshiriladi
6. 1 Funksional stsenariylar (minimal)
So’rovni takrorlash’authorize/settle’bilan bir xil’X-Idempotency-Key’→ javob.
Out-of-order:’settle’authorize’→ toʻgʻri rad javobi keldi.
Hamyon/tarmoq yiqilganda rollback zanjiri.
RG-stoplar: o’z-o’zini istisno qilish/yo’qotishlar/vaqt limiti → stavkani taqiqlash.
Bonus/veyjer: o’yin turi bo’yicha omonat, max bet, muddatlar.
6. 2 Yuklash
p95’bet/settle’budjetlarda (masalan,’<200-300 ms’), retraylarning «bo’ronlari» yo’qligi.
Voqealar oqimi BI ≤ 5 daqiqagacha yetadi.
6. 3 Xaos-keyslar
Etkazib berish, kechikish outbox/CDC, mintaqaning «axlati», qisman settlement.
6. 4 Yakunlar bo’yicha hujjatlar
Taymkodli testlar protokoli/trace-id.
SLO hisoboti (latency/error/lag).
Xavfsizlik maʼlumotlari (kalitlar, rotatsiyalar, kirish, Vault/HSM).
7) Versiya va migratsiya
HTTP: ’/v1/...’yoʻlda, hodisalar:’schema _ version’tanada.
SemVer: minor - ixtiyoriy maydonlarni qoʻshish; major - faqat yangi ’/v2/’ prefiksi orqali.
Deprecation headers:’Deprecation’,’Sunset’, dashbordda foydalanish oynasi.
Fich bayroqlari: o’tish davridagi voqealarning «ikki xati» (’v1’va’v2’).
8) Xavfsizlik va muvofiqlik
mTLS + imzolar S2S, qisqa yashaydigan tokenlar, cheklangan tovarlar.
Zero-trust: tarmoq siyosati, per-brand/region kalitlari.
Data residency & PII: mintaqada saqlash va loglar; RLS/niqoblash.
WORM auditi: limitlar, RTP profillari, jekpot konfiguratsiyalarini o’zgartirish.
RG/AML: stavka/to’lovdagi sinxron to’xtash signallari; SAR/STR hisoboti.
9) Prodga chiqish: ishga tushirishning nazorat ro’yxati
Trafikni yoqishdan oldin
Sandbox sirlarini aylantirish → prod-kalitlar.
p95/p99, error-rate, queue-lag, settle-lag dashbordlari kiritilgan.
SLO alertlari: breach po latency/error/lag, splash’DUPLICATE/IDEMPOTENCY _ MISMATCH’.
DR-reja: RPO ≤ 5 min, RTO ≤ 30 min; «qizil tugma» - yangi sessiyalarni to’xtatish.
Kanareyka
1-5% auditoriya/o’yinlar/geo; SLO buzilganda avtomatik rollback.
24-72 soat post-monitoring, ledjer/hisobotlarni solishtirish.
10) Anti-patternlar (qizil bayroqlar)
Outbox/CDC’ni chetlab oʻtish.
Write-operatsiyalarda’X-Idempotency-Key’ning yo’qligi.
DBda balanslar/settlementlarni qo’lda tuzatish.
Bir nechta brend/mintaqalarga yagona kalitlar.
BI va OLTP jangovar ma’lumotlar ustidagi tartibga soluvchi hisobotlar.
Nol degradatsiyalar: provayderning qulashi hamyonni/platformani yo’q qiladi.
11) Chek-varaqlar
Provayder uchun
- Men’X-Trace-Id’va’X-Idempotency-Key’ni doimo yuboraman.
- Men bir xil kalitni yon ta’sirlarsiz takrorlashni qo’llab-quvvatlayman.
- Men Registry sxemalari bo’yicha voqealarni e’lon qilaman; ’schema _ version’ ni saqlayman.
- Backoff va de-duplikatsiya bilan retralar amalga oshirildi.
- RG-oyoqlari va bonus cheklovlari real-vaqtda bajariladi.
- Kirish va sirlar - per brand/region, rotatsiya sozlangan.
Platforma uchun
- Barcha pul yo’llarida Outbox/CDC; end-to-end trassasi.
- SLO-dashbordlar: p95/99, error-rate, queue-lag, settle-lag.
- Deprecation/Sunset-jarayon, migratsiya voqealarining ikki tomonlama yozuvi.
- DR/xaoc-mashqlar, hodisa-menejment va postmortemalar.
- Degradatsiya rejimlari:’no new sessions’, promo/jekpotni o’chirish.
12) Integratsiyaning «minimal» pleybuki misoli (TL; DR)
1. NDA/shartnomani imzolash → sandbox kirish va sxemalarni berish.
2. mTLS/HMAC sertifikatlarini almashish; ’provider _ id’ ni ishga tushirish.
3. Minimal endpointlarni kelishish:’sessions’,’bets/authorize’,’bets/settle’,’rollback’.
4. Sandbox shinasi va Registriga ulanish; funksional/xaos-keyslarni haydash.
5. Sertifikatlash protokolini topshirish: logi, trace-id, SLO hisoboti.
6. Kalitlarni prodga oʻtkazish, kanareykani yoqish, SLOni kuzatish.
7. Relizdan keyingi metrika va «darslar» ni changelog’da qayd etish.
Provayderning muvaffaqiyatli ulanishi nafaqat API, balki boshqariladigan jarayon: xavfsiz hendsheyk, real sandbox, qat’iy sertifikatlash, kuzatish va aniq muvofiqlik qoidalari. Ta’riflangan invariantlarga (idempotentlik, outbox/CDC, RG/AML-stoplar, SLO va DR) amal qilib, siz integratsiyani tezlashtirasiz, pul hodisalaridan qochasiz va oldindan aytib bo’ladigan relizlarni olasiz - o’yinchilar, regulyatorlar va biznes uchun kutilmagan hodisalarsiz.
