GH GambleHub

API İnteqrasiya Cek siyahısı

0) Tez baxış (kim nə edir)

  • İnteqrasiya sahibi təyin
  • On-call əlaqə (24 × 7/qul. saat) təyin
  • Razılaşdırılmış SLO/SLA və buraxılış dəstək pəncərəsi
  • Status-səhifə və hadisə kanalı (email/Slack/Webhook)

1) Access, mühit, versiyası

  • Giriş sandbox/staging/production əldə
  • API versiyası təsdiqləndi: '/v1 '/başlıq 'X-API-Version'
  • Allowlist IP və şəbəkə qaydaları xüsusi
  • Saat və TZ: UTC bütün vaxt, NTP sinxronizasiya
  • SemVer və matris versiyalarında SDK/müştəri uyğunluğu yoxlanıldı

2) Autentifikasiya və tokenlər

  • Mexanizm razılaşdırılmışdır: OAuth2 Client Credentials/Auth Code + PKCE/API Key/mTLS
  • Access Token ömrü və Refresh Token rotasiyası xüsusi
  • Üçün API Key: sirr bir dəfə göstərilir, sirr menecerində saxlanılır
  • JWKS/JTI/' kid 'yoxlanılır, aktiv clock skew ± 5 min
  • 'Authorization' başlıqları daxil deyil (redaktə)
Test çağırışı:
bash curl -sS -H "Authorization: Bearer $TOKEN" https://api. example. com/v1/ping

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

  • TLS 1. 2 +/HSTS, isteğe bağlı mTLS
  • PII-Minimallaşdırma: Yalnız lazımi göndərin, log maskaları
  • Saxlama və silmə siyasəti (GDPR/DSAR) sənədləşdirilmişdir
  • Secret rotation: aktiv/növbəti açar, rollover planı
  • Anti-sui-istifadə: Capcha/açar yaradılması sürəti/qeydiyyat məhdudiyyətləri

4) Limitlər, kvotalar və backoff

  • 'X-RateLimit- '/' X-Quota-' başlıqları açıqlandı
  • Müştəri 429 və 'Retry-After' hörmət edir
  • Yalnız 5xx/408/429 üçün retrailer, eksponent backoff + jitter
  • Göstərilən cəhd/vaxt həddi (məsələn, ≤ 5 cəhd, ≤ 60s ümumi)

5) İdempotentlik və münaqişələr

  • Bütün write əməliyyatları 'Idempotency-Key' ilə göndərilir (TTL ≥ 24-72 saat)
  • Təkrarlanan münaqişə → 409 IDEMP_REPLAY emal
  • Rəqabətli yeniləmələr üçün ETag/' If-Match 'daxildir (varsa)
Nümunə:
bash curl -X POST /v1/payments \
-H "Idempotency-Key: pay-<uuid>" \
-d '{"amount":"12. 34","currency":"EUR"}'

6) Paginasiya və inkremental deltalar

  • cursor/keyset pagination istifadə olunur ('next _ cursor', 'has _ more')
  • Sabit çeşidləmə '(updated_at, id)' sənədləşdirilmişdir
  • Daxili boşaltmalar: watermark və ya change token
  • Üst-üstə düşən pəncərələr (1-2 dəq) və dedup '(id, version/seq)'

7) Səhv formatı və diaqnostika

  • Vahid 'application/problem + json' formatı (RFC 7807)
  • Sahə dəstəyi: 'error _ code', 'trace _ id', 'retriable', 'detail'
  • Səhv kartı və müştəri hərəkətləri təsvir (runbook)
Şablon:
json
{
"type":"https://docs. example. com/errors/validation_failed",
"title":"Validation failed",
"status":422,
"error_code":"VAL_001",
"trace_id":"a1b2c3",
"retriable":false
}

8) Vebhuke: kvitasiya və təkrar

  • Uğur təsdiqi - hər hansı bir 2xx; enqueue sonra sürətli ACK
  • Подпись HMAC (`X-Signature: sha256=...`), `X-Webhook-Id`, `X-Retry`
  • Retraj siyasəti: backoff + jitter, 24-72 saata qədər
  • DLQ + Replay: mövcud və yoxlanılır
  • Dedup-saxlama qəbuledici, TTL ≥ pəncərə retras

9) Müşahidə və izləmə

  • Daxil OpenTelemetry Hook Müştəri/SDK
  • Bütün zəncir boyunca 'trace _ id '/' X-Request-ID' korrelyasiyası
  • Дашборды: `requests_total`, `errors_total{status}`, `latency_p95`, `retry_count`, `429_rate`
  • Alarms: 5xx/429 sıçrayış, p95 böyümə, success rate, lag webhook
PromQL (nümunə):
promql rate(http_requests_total{status=~"5.."}[5m]) / rate(http_requests_total[5m])

10) Performans və sabitlik

  • Bağlantı hovuzları, keep-alive, mümkün olan HTTP/2/3
  • Paralellik məhduddur (backpressure), müştəri növbəsi «şişirilmir»
  • circuit-breaker/timeout/fallback siyasətləri xüsusi
  • Yük testləri: burst 10 ×, uzun birləşmələr, soyuq başlanğıc

11) Məlumatlar, valyutalar, vaxt

  • Formatlar: ISO-8601 UTC, pul - onluq sətirlər/minor units, yerli mühit asılı deyil
  • Kodlamalar/dillər razılaşdırılır (məsələn, mesajlar üçün 'Accept-Language', lakin 'error _ code' - maşın)
  • Yuvarlaqlaşdırma/komissiya siyasəti sənədləşdirilmişdir

12) Yoxlama və hesabat (reconciliation)

  • Nəzarət məbləğləri ilə gündəlik/saatlıq yoxlamalar
  • API/boşaltma yoxlanılır (CSV/JSON, manifestlər/hash)
  • Uyğunsuzluqlar - 'trace _ id' linkləri olan biletlərə

13) Uyğunluq və hüquqi aspektlər

  • API istifadə şərtləri qəbul (fair use/export control)
  • PII/data sahibləri - rolları və saxlama zonaları müəyyən
  • Legal Hold/audit log hadisələr zamanı daxil

14) Sənədləşmə və tərtibatçılar portalı

  • OpenAPI/AsyncAPI aktualdır, «kopyala-yapışdır» nümunələri mövcuddur
  • SDK (TS/Py/Java/Go/.NET) - razılaşdırılmış versiyalar, Cookbook mövcuddur
  • Try-it playground işləyir, qum açarları aktiv
  • Changelog/deprekasiya/roadmap portalda görünür

15) Test: funksional, mənfi, xaos

Funksional

  • CRUD/açar ssenariləri keçdi (happy path)
  • Pagination/kursor/incremental delta

Mənfi

  • 401/403/404/409/422/429/5xx və emal 'Retry-After'
  • Səhv imza webhook, vaxtı keçmiş tokenlər, böyük cisimlər

Xaos

  • Drop 10-30% hadisə, reorder, gecikmə 1-10 dəq
  • Asılılığın dayandırılması (PSP/KYC) → düzgün fallback/səhvlər

16) Qəbul və başlanğıc (go-live)

  • Son PRR (Production Readiness Review) keçdi
  • Kanarya daxil: 10% → 25% → 50% → 100%
  • SLO siqnalları ilə avtomatik geri dönüş (səhvlər/gecikmə/429)
  • Hadisə əlaqə matrisi və eskalasiya yolu dərc
  • CAPA Beaclog pilot formalaşdıqdan sonra

17) Əməliyyat və dəstək

  • Runbook/playbook: «5xx spike», «429 storm», «webhook backlog», «timeout»
  • SLO/Error Budget haqqında müntəzəm hesabatlar
  • Cədvələ görə sirlərin və açarların rotasiyası
  • Depreksiya/miqrasiya versiyası planı razılaşdırıldı (tarix sunset)

18) Artefakt şablonları

Env-konfiqa şablonu

yaml api:
base_url: https://api. example. com/v1 timeout_ms: 10000 retries: { max: 5, strategy: expo-jitter }
auth:
kind: oauth2 token_url: https://auth. example. com/oauth2/token scopes: [wallet:read, wallet:write]
webhooks:
secret_ref: secret/webhook-hmac parallelism: 10 max_body_kb: 256

Retraj siyasəti (psevdo)

json
{"initial":1,"max":60,"factor":2. 0,"jitter":0. 2,"retriable":["5xx","408","429"]}

19) «imza üçün» yekun çek siyahısı

  • Mühit/versiyalar/açarlar/allowlist hazır
  • Auth/JWT/keys/mTLS xüsusi və test
  • Limitlər/kvotalar/retralar/idempotentlik həyata keçirildi
  • Pagination/kursor/Delta data üzərində işləyir
  • Vebhook: imzalar, təkrar, DLQ/Replay yoxlanılır
  • 'problem + json', 'trace _ id' səhvləri bütün qeydlərə yapışır
  • Daşbordlar/Alerts yığılmış, OTel daxil
  • Yükləmə/mənfi/xaos testləri keçdi
  • Uyğunlaşma və hesabatlar birləşir, runbooks tərtib
  • PRR/kanarya/rollback planı hazırdır, on-call əlaqə göstərilir

Yekun

Bu çek siyahısı API inteqrasiyasının texniki, əməliyyat və komplayens aspektlərini bağlayır. Yuxarıdan aşağı nöqtələri keçin, limitlərin, idempotantlığın və vebhukların yoxlanılmasını avtomatlaşdırın, müşahidə və geri dönüş planını işə salın - və buraxılışınız proqnozlaşdırıla bilər, istehsalda «sürprizlər» olmadan.

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.