Bosh sahifa Wiki API

API

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

Requestclient 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 Errorserver 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:

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:

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