API Nedir? Açık Veri ile Farkı Ne?
"API" kelimesini yazılımcıların dışında pek çok kişi duymuştur ama ne anlama geldiğini tam bilmeyebilir. API, kısaca iki yazılımın birbirine veri aktarmasını sağlayan köprüdür. Açık veri ise bundan farklıdır: herkesin indirebileceği ham veri dosyasıdır. Bu yazıda ikisi arasındaki farkı, örneklerle açıklıyoruz.
Açık verinin genel çerçevesi için: Açık Veri Nedir? Şehirler İçin Neden Önemli?
API Nasıl Çalışır?
Bir uygulama API'yi kullanmak istediğinde şu adımları izler:
- İstek (Request): Uygulama, belirli bir URL'e (endpoint) HTTP isteği gönderir.
- İşleme: API sunucusu isteği alır, ilgili veriyi veritabanından veya sistemden çeker.
- Yanıt (Response): Sunucu veriyi genellikle JSON formatında geri gönderir.
- Kullanım: Uygulama gelen veriyi işler ve kullanıcıya gösterir.
Tüm bu döngü genellikle milisaniyeler içinde tamamlanır. Bir hava durumu uygulaması, akıllı şehir dashboard'u veya ulaşım takip ekranı bu şekilde çalışır.
Açık Veri ile API Karşılaştırması
İkisi de veriyi kamuyla paylaşır; ancak biçim ve kullanım farklıdır:
- Açık veri: Belirli bir tarihe ait sabit dosya (CSV, Excel, JSON). Portal üzerinden indirip analiz edilir. Kod bilgisi gerekmeyebilir.
- API: Canlı bağlantı. Her sorgu anında güncel veriyi döner. Entegrasyon için temel programlama bilgisi gerekir.
Örnek: Bir belediye, geçmiş yıllara ait baraj doluluk verilerini CSV olarak açık veri portali üzerinden paylaşabilir. Aynı barajın anlık doluluk oranını ise API üzerinden sunar.
REST API Nedir?
REST, günümüzde en yaygın API mimarisidir. Web tarayıcısının sunuculara sayfa istediği HTTP protokolünü kullanır. REST API'de her kaynak bir URL ile temsil edilir ve standart HTTP metodlarıyla işlem yapılır:
- GET: Veri okuma — en sık kullanılan
- POST: Yeni veri oluşturma
- PUT / PATCH: Mevcut veriyi güncelleme
- DELETE: Silme
Kamu API'lerinin büyük çoğunluğu yalnızca GET metoduna izin verir; veri okunabilir, değiştirilemez.
JSON Yanıtı Nasıl Görünür?
API'ler çoğunlukla JSON (JavaScript Object Notation) formatında yanıt döner. Anahtar-değer çiftlerinden oluşan bu format hem insanlar hem makineler tarafından kolayca okunur. Sayılar, metinler, listeler ve iç içe nesneler JSON'da ifade edilebilir.
Veri formatları hakkında daha fazlası için: JSON, CSV, XML: Veri Formatları Arasındaki Fark
Kamu API'leri: Şehir Verisi
Türkiye'de birçok büyükşehir belediyesi kamu API'si sunar. Bu API'ler aracılığıyla; anlık otobüs konumları, nöbetçi eczaneler, su kesintileri, baraj doluluk oranları ve park yeri bilgilerine erişilebilir. Geliştiriciler bu verileri kullanarak bağımsız uygulamalar ve şehir platformları oluşturabilir.
Bu verilerle ne yapılabileceğini görmek için: Akıllı Şehir (Smart City) Nedir? İzmir Örnekleri