Bir müşterinin e-ticaret sitenizde verdiği sipariş; aynı anda stok sistemine, ödeme sağlayıcısına ve kargo paneline aktarılması gerekir. Bu sistemlerin birbirine doğrudan erişmesi yerine, belirli kurallarla veri alışverişi yapmasını sağlayan arayüzler kullanılır. Bu arayüzlere API denir — Türkçeye Uygulama Programlama Arayüzü olarak çevrilir. API yalnızca "iki yazılımı bağlayan bir kablo" değildir; hangi verinin, hangi yetkiyle, hangi formatta ve hangi koşullarda paylaşılacağını da belirler.
API Nedir ve Nasıl Çalışır?
API, iki yazılımın belirlenmiş kurallar üzerinden iletişim kurmasını sağlayan bir arayüzdür. Bu iletişimin güvenli olması ise ayrıca kimlik doğrulama, yetkilendirme ve şifreleme önlemlerine bağlıdır.
Basit bir benzetmeyle API, bir restorandaki garsona benzetilebilir: siz (istemci) menüden bir yemek seçip garsona iletirsiniz, garson talebinizi mutfağa (sunucuya) götürür, mutfak hazırlar ve garson yanıtı size getirir. Gerçek API'lerde buna ek olarak kimlik doğrulama, veri biçimi ve hata kuralları da bulunur.
İstek (Request) ve Yanıt (Response) Mantığı
API iletişimi temelde iki taraf arasında gerçekleşir:
- İstemci (Client): Veriye veya bir işleme ihtiyaç duyan yazılımdır, isteği gönderir.
- Sunucu (Server): İstenen veriyi veya fonksiyonu barındıran sistemdir; isteği işler ve yanıt döner.
Bu süreçte istemci belirli parametreler içeren bir istek paketi oluşturur; sunucu bu isteği doğrular, işler ve istenen bilgiyi standart bir formatta geri iletir.
API Entegrasyonu Nedir? Neden Gereklidir?
Farklı sistemlerin birbirine bağlanması ve veri akışının otomatik hale getirilmesi sürecine API entegrasyonu denir. İşletmeler muhasebe, kargo, ödeme ve müşteri yönetimi gibi süreçlerde farklı yazılımlar kullanır; bu yazılımların elle yönetilmesi zaman kaybına ve hata riskine yol açabilir. API entegrasyonu sayesinde dağınık haldeki yazılımlar tek bir merkezi akışa bağlanır; veriler entegrasyonun tasarımına bağlı olarak gerçek zamanlı, olay tetiklemeli veya belirli aralıklarla senkronize edilebilir.
Uçtan Uca Bir Sipariş Senaryosu
Bir müşteri sitenizden ürün satın aldığında, tipik bir API akışı şu şekilde ilerler:
- Müşteri ödemeyi onaylar → site, Sanal POS API'sine ödeme isteği gönderir.
- Banka ödemeyi onaylar → API üzerinden siteye "ödeme başarılı" yanıtı döner.
- Sipariş bilgisi ERP'ye API ile aktarılır → stok adedi otomatik güncellenir.
- Kargo firmasının API'sine sipariş bilgisi gönderilir → kargo barkodu ve takip numarası oluşturulur.
- Kargo firmasının webhook'u, paket teslim edildiğinde siteye otomatik bildirim gönderir.
Bu akışın her adımı ayrı bir API çağrısıdır; herhangi biri başarısız olursa (ör. banka onayı gecikirse) sipariş süreci o adımda bekler veya hata döner.
API Kullanım Alanları
E-Ticaret ve Pazaryeri Entegrasyonları
Bir e-ticaret sitesi, ürün stoklarını ve siparişlerini Trendyol veya Hepsiburada gibi pazaryerlerine API aracılığıyla aktarır. Böylece bir platformda satılan ürünün stoğu diğer kanallara da yansıtılabilir.
Yapay Zeka ve Veri Servisleri
Yapay zeka sağlayıcıları geliştirdikleri dil modellerini API üzerinden dış dünyaya açar; yazılımcılar bu bağlantıları kullanarak kendi platformlarına yapay zeka özellikleri ekleyebilir. Hava durumu, döviz kurları veya harita servisleri de API ile sitelere çekilir.
Kurumsal Yazılımlar (ERP ve CRM)
İşletmelerin kullandığı ERP (kurumsal kaynak planlama) ve CRM (müşteri ilişkileri yönetimi) yazılımları, API bağlantıları sayesinde satış verilerini ve müşteri kayıtlarını paylaşabilir.
Temel API Mimarisi Türleri: REST ve GraphQL
- REST API: Web API'lerinde günümüzde en yaygın uygulanan mimari yaklaşımdır; genellikle HTTP üzerinden çalışır ve verileri çoğunlukla JSON formatında taşır.
- GraphQL: İstemcinin ihtiyaç duyduğu alanları seçmesine imkan tanıyan bir sorgu dilidir; gereksiz veri transferini azaltmaya yardımcı olabilir — gerçek performans kazancı sorgu tasarımına ve sunucu uygulamasına bağlıdır.
API ile Webhook Arasındaki Fark Nedir?
API ve Webhook kavramları sıkça birbiriyle karıştırılır; ikisi de veri aktarımı sağlasa da çalışma yöntemleri farklıdır:
- API (sorgulama mantığı): İstemci genellikle belirli aralıklarla sunucuya "yeni bir veri var mı?" diye sorar (polling); sunucu yanıt verir. API çağrıları tek seferlik komut veya veri gönderimi için de kullanılır, yalnızca sorgulamaya indirgenemez.
- Webhook (olay tetikleme mantığı): İstemci sürekli sormaz; sunucuda belirli bir olay gerçekleştiğinde (ör. yeni bir ödeme alındığında) sunucu otomatik olarak istemciye bildirim gönderir.
Hangi durumda hangisi daha uygun?
| Durum | Uygun Yöntem |
|---|---|
| Güncel stok/fiyat bilgisini istediğiniz an sorgulamak | API |
| Ödeme onaylandığında anında haberdar olmak | Webhook |
| Bir raporu belirli aralıklarla (ör. saatte bir) çekmek | API (polling) |
| Kargo durumu değiştiğinde otomatik bildirim almak | Webhook |
API Güvenliği ve Dikkat Edilmesi Gerekenler
Sistemlerin dış dünyaya açılması beraberinde güvenlik gereksinimlerini getirir. Hatalı kurgulanmış bir API bağlantısı veri sızıntılarına yol açabilir. Yaygın önlemler şunlardır:
- Kimlik doğrulama: Senaryoya göre API anahtarı, OAuth 2.0 veya imzalı istekler gibi farklı yöntemlerle yalnızca yetkili erişime izin verilir.
- Domain ve IP kısıtlamaları: Uygun mimarilerde ek bir erişim kısıtlaması olarak uygulanabilir; tek başına yeterli bir güvenlik çözümü değildir.
- Erişim sınırlandırması (rate limiting): Sistemlerin aşırı yüklenmesini önlemek için birim zamandaki istek sayısı sınırlanır.
- Veri şifreleme (HTTPS/TLS): Aktarılan verilerin üçüncü şahıslar tarafından okunmasını engellemek için şifreli bağlantı kullanılır.
Daha kapsamlı bir referans için OWASP API Security Top 10 incelenebilir.
Sık Karşılaşılan API Hata Kodları
| Kod | Anlamı |
|---|---|
| 401 | Kimlik doğrulama başarısız (anahtar/token eksik veya geçersiz) |
| 403 | Kimlik doğrulandı ama bu işlem için yetki yok |
| 404 | İstenen kaynak veya uç nokta bulunamadı |
| 429 | İstek sınırı (rate limit) aşıldı |
| 5xx | Sunucu tarafında bir hata oluştu |
| Timeout | Sunucu belirlenen sürede yanıt vermedi |
API Entegrasyon Süreci Nasıl Planlanır?
- İhtiyaç ve sistem analizi: Hangi sistemlerin birbiriyle veri paylaşacağı belirlenir.
- Veri eşleme (mapping): İki sistemdeki veri alanları (ör.
product_id,sku,stock_quantity,price) birbiriyle eşleştirilir. - Geliştirme ve güvenlik: Bağlantılar kodlanır ve güvenlik protokolleri tanımlanır.
- Test ve loglama: Hata ihtimallerine karşı sistem test edilir, işlem kayıtları tutulur.
- Canlıya geçiş ve bakım: Sistem canlıya alınır, düzenli kontrol süreçleri başlatılır.
Sıkça Sorulan Sorular
API entegrasyonu ne kadar sürer?
Entegrasyon süresi bağlanacak sistemlerin karmaşıklığına, dokümantasyon kalitesine ve veri yapısına göre değişir; basit bir bağlantı görece kısa sürede tamamlanabilirken, kapsamlı ERP entegrasyonları haftalar alabilir.
API entegrasyonu sonrasında bakım gerekir mi?
Evet. Bağlantı kurulan sistemlerin versiyon güncellemeleri, güvenlik protokolü değişiklikleri veya veri yapısı revizyonları nedeniyle periyodik bakım gerekebilir.
Her yazılımın API desteği var mıdır?
Hayır. Sadece geliştiricisi tarafından dış bağlantılara izin verilmiş ve API arayüzü hazırlanmış yazılımlar entegre edilebilir.
Projenizi konuşalım
Bu yazıdaki konularla ilgili bir projeniz mi var? 24 saat içinde şeffaf bir değerlendirme iletelim.
Teklif İsteyin →