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)
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)
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)
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 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.