Jamil Sultanli.
← Ana Səhifəyə Qayıt

API Nədir və Necə İşləyir? Yeni Başlayanlar üçün Tam Bələdçi

·12 dəqiqə

Müasir rəqəmsal dünyada hər gün istifadə etdiyimiz mobil tətbiqlər, veb saytlar və onlayn xidmətlər arxa fonda görünməz bir şəbəkə vasitəsilə bir-biri ilə əlaqə saxlayır. Telefonunuzda hava durumu tətbiqini açdıqda, Uber ilə taksi çağırdıqda və ya hər hansı bir saytda "Google ilə daxil ol" düyməsini sıxdıqda, arxa planda çox mühüm bir texnologiya işə düşür: API (Application Programming Interface).

Bu bələdçidə API-nin nə olduğunu, necə işlədiyini, müasir proqramlaşdırmada hansı növlərinin istifadə olunduğunu və onların bir-birindən fərqlərini ən sadə və anlaşıqlı dildə, dərin texniki detallarla birlikdə öyrənəcəyik.


BUNLARI DA OXUYUN

Sıfırdan Sayt Hazırlamaq Bələdçisi: Kod Yazmadan Professional Veb Sayt Necə Qurulur?

Kod yazmadan professional veb sayt hazırlamaq istəyirsiniz? WordPress, Webflow və Shopify ilə addım-addım sayt qurmaq bələdçisi və ən yaxşı platformalar.

Oxumağa davam et

API Nədir? Sadə İzah və Restoran Analogiyası

API ingiliscə "Application Programming Interface" sözlərinin qısaltmasıdır və Azərbaycan dilinə "Tətbiqi Proqramlaşdırma İnterfeysi" kimi tərcümə olunur. Ən sadə təriflə, API iki fərqli proqram təminatının və ya sistemin bir-biri ilə təhlükəsiz və sürətli şəkildə ünsiyyət qurmasını təmin edən bir vasitəçidir.

Bu anlayışı daha yaxşı başa düşmək üçün klassik restoran analogiyasından istifadə edək:

  • Siz (Müştəri / Client): Masada əyləşib yemək sifariş etmək istəyən şəxssiniz. Sizin müəyyən istəkləriniz var.
  • Mətbəx (Server / Verilənlər Bazası): Sifarişlərin hazırlandığı, bütün inqrediyentlərin və məlumatların saxlanıldığı yerdir. Lakin siz birbaşa mətbəxə gedib yemək bişirə bilməzsiniz.
  • Ofisiant (API): Sizinlə mətbəx arasındakı vasitəçidir. Ofisiant sizin sifarişinizi (istəyinizi) qəbul edir, mətbəxə aparır, mətbəx yeməyi hazırlayır və ofisiant hazır yeməyi (cavabı) sizə gətirir.

Vacib qeyd: API olmasaydı, hər bir tətbiq bütün məlumatları öz daxilində saxlamaq məcburiyyətində qalardı. Məsələn, bir hava durumu tətbiqi dünyadakı bütün meteoroloji stansiyaların məlumatlarını öz serverində saxlamalı olardı ki, bu da texniki cəhətdən qeyri-mümkündür. API sayəsində tətbiq sadəcə rəsmi meteorologiya mərkəzinin serverinə sorğu göndərir və lazım olan məlumatı anında əldə edir.


API Necə İşləyir? Addım-Addım Proses

API-nin işləmə prinsipi müəyyən bir dövrü izləyir. Bu proses milisaniyələr ərzində baş verir və aşağıdakı addımlardan ibarətdir:

  1. Sorğunun Göndərilməsi (Request): İstifadəçi tətbiqdə hər hansı bir düyməyə klikləyir (məsələn, Bakı şəhərindəki hava durumunu axtarır). Tətbiq (Client) bu istəyi API vasitəsilə serverə göndərir.
  2. API-nin Vasitəçiliyi: API bu sorğunu qəbul edir, onu serverin başa düşəcəyi formata salır və hədəf serverə ötürür.
  3. Serverin Emalı: Server sorğunu təhlil edir, verilənlər bazasından lazımi məlumatları tapır və ya tələb olunan əməliyyatı yerinə yetirir.
  4. Cavabın Qayıtması (Response): Server nəticəni API-yə geri göndərir. API isə bu məlumatı tətbiqə (istifadəçiyə) çatdırır və ekranda vizual olaraq göstərilir.

HTTP Metodları: API-lərin Danışıq Dili

API-lər serverlə əlaqə saxlayarkən müəyyən standart əmrlərdən istifadə edirlər. Bunlar HTTP metodları adlanır və ən çox istifadə olunanları aşağıdakılardır:

  • GET: Serverdən məlumat oxumaq və ya çəkmək üçün istifadə olunur (məsələn, istifadəçi profilini görüntüləmək).
  • POST: Serverə yeni məlumat göndərmək və yaratmaq üçün istifadə olunur (məsələn, yeni qeydiyyatdan keçmək).
  • PUT: Serverdəki mövcud məlumatı tamamilə yeniləmək üçün istifadə olunur.
  • PATCH: Serverdəki məlumatın yalnız müəyyən bir hissəsini dəyişmək üçün istifadə olunur (məsələn, yalnız profil şəklini dəyişmək).
  • DELETE: Serverdəki hər hansı bir məlumatı silmək üçün istifadə olunur.

HTTP Status Kodları: Serverin Cavabı

Server sorğuya cavab verərkən əməliyyatın uğurlu olub-olmadığını bildirən xüsusi rəqəmsal kodlar göndərir:

  • 200 OK: Sorğu uğurla yerinə yetirildi.
  • 201 Created: Yeni məlumat uğurla yaradıldı (məsələn, POST sorğusundan sonra).
  • 400 Bad Request: Sorğuda xəta var (məsələn, yanlış daxil edilmiş məlumatlar).
  • 401 Unauthorized: Giriş icazəniz yoxdur (API açarı və ya token çatışmır).
  • 404 Not Found: Axtarılan səhifə və ya məlumat tapılmadı.
  • 500 Internal Server Error: Server tərəfində texniki xəta baş verdi.

API Texnologiyalarının Növləri: REST, SOAP, GraphQL və gRPC

Müasir proqram təminatı arxitekturasında fərqli ehtiyaclara uyğun olaraq müxtəlif API növləri yaradılmışdır. Gəlin ən populyar dörd API növünü nəzərdən keçirək.

1. REST (Representational State Transfer)

REST bu gün veb tətbiqlərdə ən çox istifadə olunan memarlıq üslubudur. HTTP protokoluna əsaslanır və məlumat mübadiləsi üçün əsasən JSON (JavaScript Object Notation) formatından istifadə edir. REST API-lər yüngül, sürətli və asan miqyaslana biləndir.

2. GraphQL

Facebook tərəfindən inkişaf etdirilən GraphQL, REST-in bəzi çatışmazlıqlarını (məsələn, lazım olandan çox və ya az məlumatın gəlməsi) həll etmək üçün yaradılmışdır. GraphQL-də müştəri serverdən məhz hansı sahələri (fields) istədiyini dəqiq qeyd edir və server yalnız həmin məlumatları qaytarır.

3. gRPC (Google Remote Procedure Call)

Google tərəfindən yaradılan gRPC, xüsusilə mikroservis arxitekturalarında yüksək performanslı ünsiyyət üçün nəzərdə tutulub. HTTP/2 protokolundan və məlumatları sıxışdırmaq üçün Protocol Buffers (Protobuf) formatından istifadə edir. Çox sürətlidir və aşağı gecikmə (low latency) tələb edən sistemlər üçün idealdır.

4. SOAP (Simple Object Access Protocol)

SOAP daha köhnə və ciddi qaydalara malik bir protokoldur. Məlumat mübadiləsi üçün yalnız XML formatından istifadə edir. Yüksək təhlükəsizlik və tranzaksiya bütövlüyü tələb edən bankçılıq və dövlət sistemlərində hələ də geniş istifadə olunur.


REST, GraphQL və gRPC-nin Müqayisəsi

Aşağıdakı cədvəldə müasir layihələrdə ən çox seçilən üç API texnologiyasının əsas fərqləri göstərilmişdir:

XüsusiyyətREST APIGraphQLgRPC
ProtokolHTTP 1.1 / HTTP 2HTTP 1.1 / HTTP 2HTTP/2 (Məcburi)
Məlumat FormatıJSON, XML, HTMLJSONProtocol Buffers (Binary)
PerformansOrta / YüksəkOrtaÇox Yüksək
Məlumat HəcmiOver-fetching ola bilərTam ehtiyac qədərÇox kiçik (Sıxışdırılmış)
Öyrənmə ÇətinliyiÇox asanOrtaÇətin / Mürəkkəb
Ən Yaxşı İstifadə YeriStandart Veb/Mobil tətbiqlərÇoxlu fərqli data tələb edən tətbiqlərMikroservislər, Daxili sistemlər

API Təhlükəsizliyi: Məlumatları Necə Qorumalıyıq?

API-lər xarici dünyaya açılan qapılar olduğu üçün kiberhücumların əsas hədəflərindən biridir. Təhlükəsiz bir API arxitekturası qurmaq üçün aşağıdakı metodlardan istifadə edilməlidir:

  • API Keys (API Açarları): API-ni istifadə edən tətbiqi tanımaq üçün unikal şifrəli sətirlərdir. Lakin tək başına tam təhlükəsizlik təmin etmir.
  • OAuth 2.0: İstifadəçi şifrəsini paylaşmadan üçüncü tərəf tətbiqlərinə təhlükəsiz giriş icazəsi verən sənaye standartıdır (məsələn, "Facebook ilə daxil ol").
  • JWT (JSON Web Tokens): İstifadəçi daxil olduqdan sonra server tərəfindən yaradılan və hər sorğuda göndərilən şifrəli tokenlərdir.
  • Rate Limiting (Sorğu Məhdudiyyəti): Eyni IP ünvanından və ya istifadəçidən müəyyən zaman kəsiyində (məsələn, 1 dəqiqədə) gələ biləcək maksimum sorğu sayını məhdudlaşdırır. Bu, DDOS hücumlarının qarşısını alır.

Praktik Tətbiq: Python ilə API Sorğusu və Sadə API Yaradılması

İndi isə nəzəri biliklərimizi praktika ilə möhkəmləndirək. Bu bölmədə Python proqramlaşdırma dili vasitəsilə həm xarici API-yə sorğu göndərəcəyik, həm də öz sadə API-mizi quracağıq.

Addım 1: Python ilə Mövcud API-dən Məlumat Çəkmək (GET Sorğusu)

Aşağıdakı kod nümunəsində pulsuz və açıq bir API-dən (JSONPlaceholder) istifadəçi məlumatlarını çəkirik:

import requests

# Hədəf API URL-i
url = "https://jsonplaceholder.typicode.com/users/1"

try:
    # GET sorğusunun göndərilməsi
    response = requests.get(url)
    
    # Status kodunun yoxlanılması
    if response.status_code == 200:
        # Cavabın JSON formatına çevrilməsi
        user_data = response.json()
        print("İstifadəçi məlumatları uğurla alındı!")
        print(f"Adı: {user_data['name']}")
        print(f"E-poçt: {user_data['email']}")
        print(f"Şəhər: {user_data['address']['city']}")
    else:
        print(f"Xəta baş verdi. Status kodu: {response.status_code}")
except Exception as e:
    print(f"Bağlantı xətası: {e}")

Addım 2: Flask ilə Öz API-nizi Yaradın

İndi isə Python-un məşhur mikro-freymvorku olan Flask vasitəsilə yerli serverimizdə işləyən sadə bir REST API yaradaq. Bu API bizə kitab siyahısını qaytaracaq:

from flask import Flask, jsonify

app = Flask(__name__)

# API-nin təqdim edəcəyi test məlumatları
books = [
    {"id": 1, "title": "1984", "author": "George Orwell"},
    {"id": 2, "title": "Səfillər", "author": "Victor Hugo"},
    {"id": 3, "title": "Xosrov və Şirin", "author": "Nizami Gəncəvi"}
]

# GET metodu ilə işləyən API endpoint-i
@app.route('/api/books', methods=['GET'])
def get_books():
    # Məlumatları JSON formatında geri qaytarırıq
    return jsonify({
        "status": "success",
        "data": books,
        "total": len(books)
    }), 200

if __name__ == '__main__':
    # Serveri 5000-ci portda işə salırıq
    app.run(debug=True, port=5000)

Bu kodu kompüterinizdə işlətdikdən sonra brauzerinizdə http://127.0.0.1:5000/api/books ünvanına daxil olaraq öz yaratdığınız API-nin cavabını görə bilərsiniz.


API-lərin Gələcəyi: Süni İntellekt və Mikroservislər Erası

Texnologiya dünyası sürətlə inkişaf etdikcə API-lərin də rolu böyüyür. Bu gün süni intellekt modelləri (məsələn, OpenAI-ın GPT modelləri) API-lər vasitəsilə digər tətbiqlərə inteqrasiya olunur. Bu, proqramçılara sıfırdan süni intellekt modeli yaratmadan öz tətbiqlərinə ağıllı chatbotlar, tərcümə sistemləri və analiz alətləri əlavə etmək imkanı verir.

Həmçinin, bulud texnologiyalarının (Cloud Computing) inkişafı ilə böyük monolit proqramlar yerini kiçik, müstəqil işləyən mikroservislərə verir. Bu mikroservislər isə yalnız və yalnız API-lər vasitəsilə bir-biri ilə əlaqə saxlayır. Bu səbəbdən, API dizaynı və idarə edilməsi (API Management) gələcəyin ən mühüm texnoloji bacarıqlarından biri hesab olunur.


Nəticə və Tövsiyələr

API-lər müasir proqram təminatı dünyasının tikinti bloklarıdır. Onlar olmasaydı, tətbiqlərimiz bir-birindən təcrid olunmuş və funksionallığı məhdud sistemlər olaraq qalardı.

Əgər siz də texnologiya və proqramlaşdırma sahəsində addımlayırsınızsa, aşağıdakı tövsiyələrə diqqət yetirməyiniz məsləhətdir:

  • REST prinsiplərini dərindən öyrənin: Çünki hələ uzun illər REST ən çox istifadə olunan API növü olaraq qalacaq.
  • Postman alətindən istifadə edin: API-ləri test etmək və sorğular göndərmək üçün Postman proqramını mütləq mənimsəyin.
  • Təhlükəsizliyə önəm verin: Heç vaxt API açarlarınızı (API Keys) ictimai GitHub repozitoriyalarında paylaşmayın.
  • Gələcəyin texnologiyalarına hazır olun: Layihələrinizin miqyasına görə GraphQL və gRPC kimi müasir alternativləri də araşdırın.
JS
YAZAR

Jamil Sultanli

Rəqəmsal marketinq, SEO və startuplar üzrə məsləhətçi. Datanın tətbiqi ilə işlərin miqyaslanması (Scaling) və inkişaf (Growth) strategiyalarının idarə olunması haqqında yazır.

Bunları da oxuyun