API — Umumiy ma'lumot¶
dStream API mobil ilovalar va tashqi integratsiyalar uchun mo'ljallangan.
Asosiy qoidalar¶
- Barcha javoblar JSON formatida
- Autentifikatsiya talab qilinadigan so'rovlarda JWT token ishlatiladi
- Xatoliklar inson o'qiy oladigan xabar bilan qaytariladi
Javob formati¶
Muvaffaqiyatli:
Xatolik:
HTTP status kodlari¶
| Kod | Ma'nosi |
|---|---|
| 200 | Muvaffaqiyatli |
| 400 | Noto'g'ri so'rov (parametrlar xato yoki yetishmaydi) |
| 401 | Autentifikatsiya talab qilinadi |
| 403 | Ruxsat yo'q |
| 404 | Resurs topilmadi |
| 429 | Juda ko'p so'rov yuborildi — biroz kuting |
| 500 | Server xatoligi |
So'rovlar limiti (Rate Limiting)¶
Tizim so'rovlar sonini cheklaydi. Limit oshganda 429 status va Retry-After headeri qaytariladi:
{
"ok": false,
"error": "Juda ko'p urinish. 30 soniyadan so'ng qayta urinib ko'ring.",
"retry_after": 30
}
Turli endpointlar uchun turli limitlar mavjud. Mobil ilovalar uchun tavsiya:
- Eksponensial retry strategiyasini qo'llang
Retry-Afterqiymatini hurmat qiling- Foydalanuvchi harakatsiz bo'lganda so'rov yubormang
Autentifikatsiya¶
Himoyalangan endpointlar uchun Authorization headerida JWT token yuboriladi:
Token login jarayonida beriladi va muddati tugagach yangilanishi kerak.
Tokenni xavfsiz saqlang
Tokenni faqat qurilmangizdagi xavfsiz xotiraga saqlang. Log fayllar, kod repozitoriyalari yoki public joylarga qo'ymang.
Rasm yuklash¶
Rasm yuklash endpointlari multipart/form-data qabul qiladi.
Qo'llab-quvvatlanadigan formatlar: JPEG, PNG, WebP, GIF, AVIF, BMP, TIFF
Maksimal o'lcham: 5 MB (profil rasmi va kontent rasmlari)
Fayl yuklanganda server:
- Format va MIME turini tekshiradi
- Rasm sarlavhasini tahlil qiladi
- Maksimal piksel sonini tekshiradi
- Faylni xavfsiz nom bilan saqlaydi
Eng yaxshi amaliyotlar¶
- Timeout — so'rovlarga 30 soniyalik timeout qo'ying
- Retry — tarmoq xatolarida bir necha marta qayta urinib ko'ring
- Token yangilash — token muddati tugashidan oldin yangilang
- Xatoliklarni ushlang — barcha API xatoliklarini foydalanuvchiga tushunarli tarzda ko'rsating
Bog'lanish¶
API integratsiyasi bo'yicha savollar uchun: support@dstream.uz