API — dasturlar, tizimlar yoki xizmatlar bir-biri bilan ma’lumot almashishi uchun ishlatiladigan interfeys. API inglizcha Application Programming Interface so‘zlarining qisqartmasi bo‘lib, o‘zbekchada dasturiy interfeys degan ma’noni anglatadi.
API orqali bir dastur boshqa dasturdan ma’lumot so‘rashi, buyruq yuborishi yoki xizmatdan foydalanishi mumkin. Masalan, mobil ilova serverdan foydalanuvchi profilini olish uchun API’ga so‘rov yuboradi.
Vazifasi
API turli dasturlar o‘rtasida aloqa yaratish uchun ishlatiladi. U tizimlar qanday so‘rov yuborishi va qanday javob olishini belgilaydi.
API quyidagi vazifalarni bajaradi:
- dasturlar o‘rtasida ma’lumot almashish;
- frontend va backendni bog‘lash;
- mobil ilovani server bilan ulash;
- boshqa xizmatlardan foydalanish;
- to‘lov tizimlari bilan integratsiya qilish;
- xarita, SMS, email yoki AI xizmatlarini ulash;
- ma’lumotlarni standart formatda qaytarish;
- tizim funksiyalarini tashqi dasturlarga ochish.
Masalan, ob-havo ilovasi ob-havo ma’lumotlarini o‘zida saqlamasligi mumkin. U maxsus API orqali serverdan hozirgi harorat va prognozni oladi.
API qanday ishlaydi?
API odatda so‘rov va javob asosida ishlaydi. Bir dastur API’ga so‘rov yuboradi, API esa kerakli ma’lumot yoki natijani qaytaradi.
Oddiy jarayon:
- client API manziliga so‘rov yuboradi;
- server so‘rovni qabul qiladi;
- server so‘rovni tekshiradi;
- kerak bo‘lsa database bilan ishlaydi;
- natija tayyorlanadi;
- javob clientga qaytariladi.
Masalan, frontend mahsulotlar ro‘yxatini olish uchun /api/products manziliga so‘rov yuboradi. Backend database’dan mahsulotlarni olib, JSON ko‘rinishida javob qaytaradi.
Endpoint
Endpoint — API ichidagi aniq manzil yoki yo‘l. Har bir endpoint ma’lum bir amal yoki resurs bilan bog‘liq bo‘ladi.
Masalan:
/api/users— foydalanuvchilar bilan ishlash;/api/products— mahsulotlar ro‘yxati;/api/orders— buyurtmalar;/api/login— tizimga kirish;/api/profile— foydalanuvchi profili.
Endpoint URL orqali ko‘rsatiladi va client shu manzilga so‘rov yuboradi.
Request
Request — client tomonidan API’ga yuboriladigan so‘rov. Request ichida kerakli manzil, metod, header, parametrlar va ba’zan body ma’lumotlari bo‘ladi.
Request tarkibida quyidagilar bo‘lishi mumkin:
Masalan, foydalanuvchi login qilganda client email va parolni request body ichida API’ga yuboradi.
Response
Response — API server tomonidan clientga qaytariladigan javob. Response ichida status code, headerlar va ma’lumot bo‘lishi mumkin.
Response tarkibida odatda quyidagilar bo‘ladi:
- HTTP status code;
- response headerlar;
- JSON yoki boshqa formatdagi ma’lumot;
- xatolik xabari;
- token;
- sahifalash ma’lumotlari;
- natija holati.
Masalan, mahsulotlar ro‘yxati so‘ralganda API JSON formatida mahsulotlar massivini qaytarishi mumkin.
HTTP metodlari
Web API’larda HTTP metodlari so‘rovning maqsadini bildiradi.
Keng ishlatiladigan metodlar:
- GET — ma’lumot olish;
- POST — yangi ma’lumot yaratish;
- PUT — mavjud ma’lumotni to‘liq yangilash;
- PATCH — mavjud ma’lumotning bir qismini yangilash;
- DELETE — ma’lumotni o‘chirish.
Masalan, GET /api/products mahsulotlar ro‘yxatini oladi, POST /api/products esa yangi mahsulot yaratadi.
Status code
API javoblarida HTTP status code so‘rov natijasini bildiradi.
Keng uchraydigan status codelar:
- 200 OK — so‘rov muvaffaqiyatli bajarildi;
- 201 Created — yangi ma’lumot yaratildi;
- 400 Bad Request — so‘rov noto‘g‘ri yuborilgan;
- 401 Unauthorized — foydalanuvchi tizimga kirmagan;
- 403 Forbidden — ruxsat yo‘q;
- 404 Not Found — resurs topilmadi;
- 500 Internal Server Error — server ichki xatosi.
Status code clientga so‘rov muvaffaqiyatli yoki xato bo‘lganini tushunishga yordam beradi.
API formatlari
API ma’lumotlarni turli formatlarda yuborishi mumkin. Zamonaviy web API’larda eng ko‘p ishlatiladigan format — JSON.
Keng uchraydigan formatlar:
- JSON — yengil va o‘qilishi oson format;
- XML — eski tizimlarda va ayrim enterprise xizmatlarda uchraydi;
- Form data — forma va fayl yuborishda ishlatiladi;
- Plain text — oddiy matnli javoblar uchun;
- Binary data — rasm, video yoki fayl uzatish uchun.
Masalan, API foydalanuvchi ma’lumotini quyidagi JSON ko‘rinishida qaytarishi mumkin:
{"id": 1, "name": "Ali", "role": "user"}
REST API
REST API — web API yaratishda keng ishlatiladigan arxitektura uslubi. REST’da resurslar URL orqali ifodalanadi va ular ustida HTTP metodlari yordamida amal bajariladi.
REST API’da quyidagi yondashuvlar uchraydi:
- resurslar URL bilan ifodalanadi;
- HTTP metodlari maqsadni bildiradi;
- javoblar ko‘pincha JSON formatida bo‘ladi;
- stateless ishlash qo‘llanadi;
- status codelar orqali natija bildiriladi.
Masalan:
GET /api/users— foydalanuvchilarni olish;POST /api/users— foydalanuvchi yaratish;GET /api/users/5— 5-ID foydalanuvchini olish;DELETE /api/users/5— 5-ID foydalanuvchini o‘chirish.
API autentifikatsiyasi
Ko‘p API’lar hamma foydalanuvchi uchun ochiq bo‘lmaydi. Ayrim endpointlardan foydalanish uchun foydalanuvchi yoki dastur tasdiqlanishi kerak.
API autentifikatsiyasida quyidagilar ishlatiladi:
Masalan, foydalanuvchi login qilgandan keyin server JWT token qaytaradi. Client keyingi so‘rovlarda shu tokenni header orqali yuboradi.
API xavfsizligi
API orqali muhim ma’lumotlar almashilgani uchun xavfsizlik muhim hisoblanadi.
API xavfsizligida quyidagi tushunchalar uchraydi:
- HTTPS;
- authentication;
- authorization;
- rate limiting;
- input validation;
- CORS;
- token muddati;
- permission;
- logging;
- SQL Injection himoyasi;
- XSS va CSRF bilan bog‘liq himoya qatlamlari.
Masalan, foydalanuvchi faqat o‘z profilini ko‘rishi kerak bo‘lsa, API server foydalanuvchi tokenini tekshiradi va ruxsatlarni nazorat qiladi.
Public va private API
API ochiqlik darajasiga qarab public yoki private bo‘lishi mumkin.
- Public API — tashqi dasturchilar yoki foydalanuvchilar foydalanishi mumkin bo‘lgan API.
- Private API — faqat ichki tizimlar yoki kompaniya xizmatlari uchun mo‘ljallangan API.
- Partner API — faqat ma’lum hamkorlar uchun ochilgan API.
Masalan, to‘lov tizimining API’si hamkor internet do‘konlar uchun ochiq bo‘lishi mumkin. Kompaniya ichki admin panel API’si esa private API hisoblanadi.
API dokumentatsiyasi
API dokumentatsiyasi API’dan qanday foydalanishni tushuntiradigan texnik hujjatdir. Unda endpointlar, metodlar, parametrlar, javob formatlari va xatoliklar ko‘rsatiladi.
API dokumentatsiyasida odatda quyidagilar bo‘ladi:
- endpoint ro‘yxati;
- HTTP metodlari;
- request parametrlari;
- response namunalari;
- status codelar;
- autentifikatsiya usuli;
- xatolik formatlari;
- limitlar;
- foydalanish misollari.
Swagger, OpenAPI, Redoc va Postman API dokumentatsiya yaratishda keng ishlatiladi.
API integratsiya
API integratsiya — bir tizimni boshqa tizim yoki xizmat bilan bog‘lash jarayoni. Bu orqali dastur tashqi xizmat imkoniyatlaridan foydalanadi.
API integratsiyalarga misollar:
- to‘lov tizimini ulash;
- SMS yuborish xizmati;
- email yuborish xizmati;
- xarita xizmati;
- sun’iy intellekt xizmati;
- Telegram bot API;
- Google login;
- analytics xizmati;
- cloud storage;
- CRM yoki ERP tizimi.
Masalan, internet do‘kon Payme yoki Click API orqali to‘lov qabul qilishi mumkin.
Dasturlashdagi o‘rni
API frontend, backend, mobile, DevOps va integratsiya jarayonlarida asosiy tushunchalardan biridir. Zamonaviy ilovalar ko‘pincha API orqali bir-biri bilan ishlaydi.
API quyidagi joylarda uchraydi:
- frontend va backend aloqasi;
- mobile ilova va server aloqasi;
- microservices arxitekturasi;
- to‘lov integratsiyasi;
- webhook tizimlari;
- third-party service ulash;
- admin panel;
- botlar;
- real-time xizmatlar;
- cloud platformalar.
API ilovaning tashqi va ichki qismlari o‘rtasidagi standart aloqa qatlamini tashkil qiladi.
Bog‘liq tushunchalar
REST API, JSON, HTTP, HTTPS, Server, Client, URL, Endpoint, Authentication, Authorization, JWT, Webhook