API vasitəsilə provayderləri necə bağlamaq olar: hendshake, sertifikatlaşdırma, sandbox
Məqalənin tam mətni
1) İnteqrasiya xəritəsi: ərizədən prodakşenə qədər
Mərhələlər:1. Presail və Due Diligence: yurproverki, geo/lisenziya, məzmun uyğunluğu və RG siyasətçisi.
2. Hendshake və təhlükəsizlik: sandbox girişlərinin verilməsi, açar mübadiləsi (mTLS/HMAC), Schema Registry-də qeydiyyat.
3. Texniki dizayn: domen modelini (sessions/bets/settlements/events), idempotentliyi, səhv kodlarını təsdiqləyirik.
4. Sandbox inteqrasiyası: cüzdan/PSP/RG emulyatorları, test oyunçuları, «yağış» ssenariləri və ikiqat.
5. Sertifikatlaşdırma: məcburi testlərin keçirilməsi, protokolların imzalanması, yüklər və xaos halları.
6. Staging/UAT: real pul olmadan döyüş konfiqratları, kanarya trafiki.
7. Go-Live: açar şirkəti, fich bayraqları, SLO monitorinqi, hadisədən sonrakı hazırlıq.
2) Handshake: Autentication, Authorization, Tracking
2. 1 Sirlər və alış-veriş mübadiləsi
mTLS (per brand/region sertifikatları) və/və ya OAuth2 Client Credentials.
HMAC/EdDSA sorğu bədən imzası (qeyri-repudiation əlavə).
Скоупы: `sessions:write`, `bets:write`, `settlements:write`, `events:publish`.
2. 2 Məcburi başlıqlar
«X-Trace-Id» - izləmə yolu.
`X-Brand-Id`, `X-Region`, `X-Provider-Id`.
'X-Idempotency-Key' - bütün write əməliyyatları üçün.
2. 3 Sağlamlıq yoxlama (koddan əvvəl)
GET /health
→ 200 {"status":"ok","version":"1. 7. 2","time":"2025-10-23T10:00:00Z"}3) Sandbox: nə var və ondan necə istifadə etmək olar
Ətraf mühitin tərkibi: Reallıqla harmoniya:- Sxemlərin oxşar versiyaları və rate limits, prodda olduğu kimi.
- Time-skyu, çatdırılma dublikatları, out-of-order - emulyasiya düymələri ilə quraşdırılmışdır.
p_demo_1 (EUR), p_demo_2 (USD), p_blocked_rg (denied), p_low_balance4) Resurs modeli və minimum müqavilə
4. 1 Sessiyanın yaradılması
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 Dərəcənin avtorizasiyası (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 (raundun nəticəsi)
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 Səhvlər (vahid sxem)
409
{"code":"DUPLICATE","message":"Bet already authorized","retryable":false,"trace_id":"tr_a1b2"}5) Hadisələr və sxemlər: onsuz sertifikatlaşdırılmayacaqsınız
Əsas topiklər: Nümunə Avro/JSON Schema (fraqment '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"
}Qaydalar: backward-compatible təkamül, «dublikatlar və gec hadisələr» testi, 'tenant _ id/player _ id' üzrə partizan.
6) İnteqrasiya Sertifikatlaşdırma: Nəyi yoxlayın
6. 1 Funksional ssenarilər (minimum)
Eyni 'X-Idempotency-Key' → ilə 'authorize/settle' sorğusunun təkrarı eyni cavabdır.
Out-of-order: 'authorize' → düzgün imtina olmadan 'settle' gəldi.
cüzdan/şəbəkə düşdükdə Rollback zəncirləri.
RG-stop: özünü istisna/itki/vaxt limiti → bahis qadağan.
Bonus/vager: oyun növünə görə əmanət, max bet, deadline.
6. 2 Yükləmə
p95 'bet/settle' büdcələrdə (məsələn, '<200-300 ms'), heç bir «fırtına» retrai.
Hadisələrin axını BI ≤ 5 dəqiqəyə çatır.
6. 3 Xaos halları
Duplex çatdırılma, outbox/CDC gecikmələri, bölgənin «çöpü», qismən qurulması.
6. 4 Nəticələrə dair sənədlər
Taykodlar/trace-id test protokolu.
SLO (latency/error/lag) hesabatı.
Təhlükəsizlik xülasəsi (açarlar, rotasiyalar, girişlər, Vault/HSM).
7) Versiyası və miqrasiya
HTTP: '/v1/... 'yolda, hadisələr:' schema _ version 'bədəndə.
SemVer: minor - isteğe bağlı sahələrin əlavə edilməsi; major - yalnız yeni '/v2/' prefiksi vasitəsilə.
Deprecation headers: 'Deprecation', 'Sunset', dashboard istifadə güzgü.
Fich bayraqları: keçid dövründə hadisələrin «ikiqat yazısı» ('v1' və 'v2').
8) Təhlükəsizlik və uyğunluq
mTLS + imzalar S2S, qısa ömürlü tokenlər, məhdud alıcılar.
Zero-trust: şəbəkə siyasətləri, per-brand/region açarları.
Data residency & PII: regionda saxlama və log; RLS/maskalama.
WORM auditi: limitlərin, RTP profillərinin, cekpot konfiqurasiyalarının dəyişdirilməsi.
RG/AML: bahis/ödəniş üzrə sinxron stop siqnalları; SAR/STR hesabat.
9) Prod çıxış: başlanğıc nəzarət siyahısı
Trafikdən əvvəl
Sandbox sirlərinin rotasiyası → prod açarları.
p95/p99, error-rate, queue-lag, settle-lag dashbordları daxildir.
SLO alertləri: latency/error/lag üzrə breach, sıçrayış 'DUPLICATE/IDEMPOTENCY _ MISMATCH'.
DR planı: RPO ≤ 5 dəq, RTO ≤ 30 dəq; «qırmızı düymə» - yeni sessiyaların dayandırılması.
Kanareyka
1-5% auditoriya/oyunlar/geo; SLO pozulduqda avtomatik rollback.
24-72 saat post-monitorinq, ledcer/hesabatların müqayisəsi.
10) Anti-nümunələr (qırmızı bayraqlar)
Outbox/CDC keçərək hadisələrin yayımlanması.
write əməliyyatlarında 'X-Idempotency-Key' olmaması.
DB-də balansların/düzəlişlərin əl ilə düzəldilməsi.
Bir neçə marka/regionda vahid açarlar.
BI və OLTP-döyüş DB üzərində tənzimləyici hesabatlar.
Sıfır deqradasiya: provayder düşməsi cüzdan/platforma düşür.
11) Çek vərəqləri
Provayder üçün
- Göndərirəm 'X-Trace-Id' və 'X-Idempotency-Key' həmişə.
- Yan təsirləri olmadan eyni açar ilə təkrar dəstəkləyirəm.
- Registry-dən sxemlər üzrə hadisələri dərc edirəm; saxlayıram 'schema _ version'.
- Backoff və deduplication ilə retras həyata.
- RG-ayaq və bonus məhdudiyyətləri real-time müşahidə olunur.
- Accessories & Secrets - per brand/region, rotasiya özelleştirilmiş.
Platforma üçün
- Bütün pul yollarında Outbox/CDC; end-to-end izi.
- SLO daşbordları: p95/99, error-rate, queue-lag, settle-lag.
- Deprecation/Sunset prosesi, miqrasiyada hadisələrin ikiqat məktubu.
- DR/xaoc-təlimlər, insident-menecment və postmortemlər.
- Deqradasiya rejimləri: 'no new sessions', promo/cekpotun bağlanması.
12) «Minimum» inteqrasiya playbook nümunəsi (TL; DR)
1. NDA/müqavilə imzalayın → sandbox giriş və sxemləri vermək.
2. mTLS/HMAC sertifikatlarını mübadilə edin; 'provider _ id'.
3. Minimum end nöqtələrini razılaşdırın: 'sessions', 'bets/authorize', 'bets/settle', 'rollback'.
4. Sandbox və Registry-ə qoşulun; funksional/xaos-keys qovmaq.
5. Sertifikatlaşdırma protokolunu təqdim edin: log, trace-id, SLO hesabatı.
6. Açarları prod-a keçin, kanaryanı yandırın, SLO-nu müşahidə edin.
7. Post-reliz metrikləri və «dərsləri» changelog-da qeyd edin.
Provayderin uğurlu bağlantısı yalnız API deyil, idarə olunan prosesdir: təhlükəsiz hendshake, real sandbox, ciddi sertifikatlaşdırma, müşahidə və dəqiq uyğunluq qaydaları. Təsvir olunan invariantları (idempotentlik, outbox/CDC, RG/AML-stop, SLO və DR) izləyərək, inteqrasiyanı sürətləndirir, pul hadisələrindən qaçırır və oyunçular, tənzimləyicilər və biznes üçün sürprizlər olmadan proqnozlaşdırıla bilən buraxılışlar əldə edirsiniz.
