GH GambleHub

API integratsiya roʻyxati

0) Tezkor sharh (kim nima qiladi)

  • Integratsiya egasi
  • On-call aloqalari (24 × 7/qul. soat) ro’yxatga olingan
  • Kelishilgan SLO/SLA va relizlarni qo’llab-quvvatlash oynasi
  • Hodisa maqomi va kanali (email/Slack/Webhook)

1) Kirish, atrof-muhit, versiyalar

  • Sandbox/staging/production ga kirish
  • API versiyasi tasdiqlangan: ’/v1 ’/sarlavha’X-API-Version ’
  • Allowlist IP va tarmoq qoidalari sozlangan
  • Soat va TZ: barcha vaqt UTC, NTP sinxronizatsiya
  • SemVer va matritsadagi SDK/mijozlarning mosligi tekshirildi

2) Autentifikatsiya va tokenlar

  • Mexanizm kelishilgan: OAuth2 Client Credentials/Auth Code + PKCE/API Key/mTLS
  • Access Token ning umr ko’rish muddati va Refresh Tokenning rotatsiyasi sozlangan
  • API Key uchun: sir bir marta ko’rsatiladi, maxfiy menejerda saqlanadi
  • JWKS/JTI/’ kid’tekshirilmoqda, clock skew yoqilgan ± 5 daqiqa
  • ’Authorization’sarlavhalari (tahriri)
Tekshirish chaqiruvi:
bash curl -sS -H "Authorization: Bearer $TOKEN" https://api. example. com/v1/ping

3) Xavfsizlik va maxfiylik

  • TLS 1. 2 +/HSTS, ixtiyoriy mTLS
  • PII-minimallashtirish: biz faqat kerakli niqoblarni joʻnatamiz
  • Saqlash va olib tashlash siyosati (GDPR/DSAR) hujjatlashtirilgan
  • Secret rotation: aktiv/keyingi kalit, rollover rejasi
  • Buzilishga qarshi: kapcha/kalitlarni yaratish tezligi/ro’yxatdan o’tishni cheklash

4) Limitlar, kvotalar va bekoff

  • ’X-RateLimit- ’/’ X-Quota-’sarlavhalari eʼlon qilindi
  • Mijoz 429 va’Retry-After’ni hurmat qiladi
  • Faqat 5xx/408/429 uchun retraylar, eksponensial backoff + jitter
  • Urinishlar/vaqt chegarasi berilgan (masalan, 5 urinish ≤, jami 60s ≤)

5) Idempotentlik va nizolar

  • Barcha write-operatsiyalar’Idempotency-Key’bilan jo’natiladi (TTL ≥ 24-72 soat)
  • Dublikatlar mojarosi → 409 IDEMP_REPLAY qayta ishlanmoqda
  • Raqobat yangilanishlari uchun ETag/’ If-Match’yoqilgan (mavjud bo’lsa)
Misol:
bash curl -X POST /v1/payments \
-H "Idempotency-Key: pay-<uuid>" \
-d '{"amount":"12. 34","currency":"EUR"}'

6) Paginatsiya va inkremental deltalar

  • Ishlatiladigan cursor/keyset paginatsiyasi (’next _ cursor’,’has _ more’)
  • Barqaror saralash’(updated_at, id)’hujjatlashtirilgan
  • Inkremental yuklar: watermark yoki change token
  • Qoplovchi derazalar (overlap 1-2 min) va’(id, version/seq)’bo’yicha dedup

7) Xato formati va diagnostika

  • Yagona’application/problem + json’formati (RFC 7807)
  • Maydonlarni qoʻllab-quvvatlash:’error _ code’,’trace _ id’,’retriable’,’detail ’
  • Xato xaritasi va mijozning xatolari (runbook)
Namuna:
json
{
"type":"https://docs. example. com/errors/validation_failed",
"title":"Validation failed",
"status":422,
"error_code":"VAL_001",
"trace_id":"a1b2c3",
"retriable":false
}

8) Vebxuklar: kvitatsiya qilish va takrorlash

  • Muvaffaqiyatni tasdiqlash - har qanday 2xx; enqueue dan keyin tezkor ACK
  • Подпись HMAC (`X-Signature: sha256=...`), `X-Webhook-Id`, `X-Retry`
  • Retraj siyosati: backoff + jitter, 24-72 soatgacha
  • DLQ + Replay: mavjud va tekshirilgan
  • Qabul qilgichning dedup saqlash joyi, TTL ≥ retray oynalari

9) Kuzatish va traslash

  • OpenTelemetry xoki mijozga/SDKga kiritilgan
  • Butun zanjir bo’yicha’trace _ id ’/’ X-Request-ID’korrelyatsiyasi
  • Дашборды: `requests_total`, `errors_total{status}`, `latency_p95`, `retry_count`, `429_rate`
  • Alarms: 5xx/429 ko’tarilishi, p95 o’sishi, success rate tushishi, vebxuk orqasi
PromQL (misol):
promql rate(http_requests_total{status=~"5.."}[5m]) / rate(http_requests_total[5m])

10) Unumdorlik va barqarorlik

  • Ulanish pullari, keep-alive, HTTP/2/3 mumkin bo’lgan joylarda
  • Parallelizm cheklangan (backpressure), mijozning navbati «shishmaydi»
  • circuit-breaker/timeout/fallback siyosati moslashtirilgan
  • Yuk sinovlari: burst 10 ×, uzoq ulanishlar, sovuq start

11) Ma’lumotlar, valyutalar, vaqt

  • Formatlar: ISO-8601 UTC, pul - o’nlik satrlar/minor units, lokallar atrof-muhitga bog’liq emas
  • Kodlash/tillar kelishilgan (masalan, xabar uchun’Accept-Language’, lekin’error _ code’- mashina)
  • Tegirmonlashtirish/komissiyalar siyosati hujjatlashtirilgan

12) Solishtirma va hisobot (reconciliation)

  • Nazorat summalari bilan kunlik/soatlik solishtirishlar
  • Solishtirish uchun API/tushirishlar sinovdan o’tkazildi (CSV/JSON, manifestlar/xeshlar)
  • Tafovutlar -’trace _ id’ga havolali chiptalarga

13) Komplayens va huquqiy jihatlar

  • API foydalanish shartlari qabul qilindi (fair use/export control)
  • PII/Ma’lumotlar egalari - rollar va saqlash zonalari
  • Hodisalar uchun legal Hold/audit-log kiritilgan

14) Hujjatlar va ishlab chiquvchilar portali

  • OpenAPI/AsyncAPI dolzarb, «nusxa olish-qoʻyish» misollari mavjud
  • SDK (TS/Py/Java/Go/.NET) - versiyalar kelishilgan, Cookbook mavjud
  • Try-it playground ishlamoqda, qum kalitlari faol
  • Changelog/deprekatsiyalar/roadmap portalda ko’rinadi

15) Test sinovlari: funksional, salbiy, tartibsizlik

Funksional

  • CRUD/asosiy skriptlar oʻtildi (happy path)
  • Paginatsiya/kursor/inkremental deltalar

Salbiy

  • 401/403/404/409/422/429/5xx va qayta ishlash’Retry-After ’
  • Vebxukning noto’g’ri imzosi, muddati o’tgan tokenlar, katta tanalar

Xaos

  • Drop 10-30% voqealar, reorder, kechikishlar 1-10 daqiqa
  • Bog’liqlikni o’chirish (PSP/KYC) → to’g’ri fallback/xatolar

16) Qabul qilish va ishga tushirish (go-live)

  • Yakuniy PRR (Production Readiness Review) o’tdi
  • Kanar oqimi: 10% → 25% → 50% → 100%
  • SLO signallari bo’yicha avtomatik qaytish (xatolar/yashirin/429)
  • Hodisalarning aloqa matritsasi va eskalatsiya yo’li e’lon qilindi
  • CAPA beklogi uchuvchidan keyin shakllantirilgan

17) Foydalanish va qo’llab-quvvatlash

  • Runbook/pleybuklar: «5xx spike», «429 storm», «webhook backlog», «timeout»
  • SLO/Error Budget boʻyicha muntazam hisobotlar
  • Sirlar va kalitlarni jadval bo’yicha almashtirish
  • Depreksiya/migratsiya rejasi kelishilgan (sana sunset)

18) Artefaktlar shablonlari

Env-konfiga namunasi

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

Retrayev siyosati (psevdo)

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

19) Yakuniy chek-varaq «imzolash uchun»

  • Muhit/versiyalar/kalitlar/allowlist tayyor
  • Auth/JWT/keys/mTLS sozlandi va sinovdan o’tkazildi
  • Limitlar/kvotalar/retralar/idempotentlik amalga oshirildi
  • Paginatsiya/kursor/deltalar ma’lumotlar bilan ishlaydi
  • Vebxuklar: imzolar, takrorlashlar, DLQ/Replay tekshirildi
  • ’problem + json’,’trace _ id’xatolari
  • Dashbordlar/alertlar yigʻilgan, OTel yoqilgan
  • Yuklash/salbiy/xaos-testlar o’tkazildi
  • Taqqoslash va hisobotlar bir-biriga mos keladi, runbooks rasmiylashtirilgan
  • PRR/kanareya/rollback-reja tayyor, on-call kontaktlari ko’rsatilgan

Jami

Ushbu cheklist API integratsiyasining texnik, operatsion va komplayens jihatlarini yopadi. Yuqoridan pastga ko’tariling, limitlar, idempotentlik va vebxuklarni tekshirishni avtomatlashtiring, kuzatish va qaytarish rejasini yoqing - va siz ishlab chiqarishni kutilmagan holda boshlaysiz.

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.