API (Application Programming Interface), programcılık ve web tabanlı uygulamalar konusunda adı çok geçen bir kavramdır. Türkçede ise Uygulama Programlama Arayüzü olarak ifade ediliyor. API arayüzleri, çok çeşitli alanlarda ve çok çeşitli amaçlarla sıklıkla kullanılıyor.

API, bir programın verilere, sunucu yazılımına veya diğer programlara ulaşabilmek için kullandığı bir bağlantı arayüzüdür. İki makinenin nasıl konuştuğunu belirleyen bir dizi kuralları içerir. Örneğin, bir E-ticaret sitesi, API sayesinde bir bankanın verdiği kredi kartından para çekilmesine izin vererek alışveriş yapılmasını sağlayabiliyor.

Ya da bir Facebook App (Android veya iOS), bir API sayesinde Facebook sunucularından size ait verileri çekip size gösterebiliyor. API ler yardımıyla daha önceden geliştirilmiş bir altyapıya ulaşıp, tekrar altyapı oluşturmaya gerek kalmadan onu kullanma şansına erişiyoruz. Özetle birçok özel veriyi, web üzerinde veya akıllı telefonlarımızla API’ler sayesinde kolayca alabiliyor ve bazı ilave özellikleri edinebiliyoruz. 

API Çeşitleri Nelerdir?

API’ler çeşitli şekillerde sınıflanabiliyor. API’ler genel olarak Web tabanlı servislerde kullanılıyor. Şimdi isterseniz biraz da kullanım şekilleri ve mimarilerine göre nasıl sınıflandıklarına odaklanalım. 

Kullanım Amaçlarına Göre API Çeşitleri

Dahili API’ler

Sadece belirli kişilerce veya belirli alanda kullanılan örneğin bir şirketin departmanları için tanımlanmış API’lere, dahili API denir.

Herkese Açık API’ler

Herkesin kullanımına açık olan API’lerdir. Open API olarak da isimlendirilirler. Sadece bir şirket veya kuruma özel tanımlanmış Dahili API’lerden burada farklılık gösterir.

Partner API’ler

Partner API’ler belirli iş ortaklığı ile iş yürüten şirketlerin ortak operasyonlarını yürütebilmek ve birbirlerinin sistemlerinin koordinasyon sağlayabilmesine olanak sağlarlar.

Mimarilerine Göre API Çeşitleri

REST API

REST API, HTTP protokolünü kullanarak çalışan bir API servisidir. Bu modelde oluşturulan API’ler URI (Uniform Resource Identifier) adreslerini kullanarak veri tabanlarına ulaşırlar. HTTP isteklerinden (Request) GET, POST, PUT, DELETE gibi istek komutları yardımıyla veri alışverişine imkan tanınır.

REST (Representational State Transfer) API’lerde veriler, JSON (JavaScript Object Notation) formatında taşınırlar. REST API, oldukça kullanışlı ve hafif bir yapıda oldukları için çok tercih edilen bir mimaridir.

SOAP

SOAP (Simple Object Access Protocol),  yani Basit Nesne Erişim Protokolü daha sıkı bir güvenlik yapısıyla veri transferini sağlayan API mimarisidir. Bu mimaride veri akışı XML formatı kullanılarak sağlanır. Yapılandırması Rest API’ye göre daha zor olsa da bu mimari daha güvenli bir bağlantı sağladığı söylenir.

API Nasıl Çalışır?

API’ler yazılımlar veya veri tabanları arasında güvenli ve kontrollü bir kapı açmaya yarayan uygulama arayüzüdür. 

API’nin çalışma şekli aşağıdaki gibidir.

  • Alıcı program bir istek (API Çağrısı) yapar. Bu istek URI aracılığıyla Web sunucusuna istek fiili olarak işlenir. 
  • İstek alındıktan sonra API, harici program veya web sunucusuna çağrıda bulunur. 
  • Sunucu istenen bilgileri API’ye bir yanıt olarak gönderir. 
  • API, isteği yapan alıcı programa aldığı verileri aktarır. 

API çalışma sistemini bir de şu şekilde tanımlayabiliriz;

Büyük, çok çeşitli kitap ve dökümanların bulunduğu bir kütüphane düşünün. Örneğin işinizi yapabilmeniz için bu kütüphaneden bazı verileri düzenli olarak almanız gerek. Kütüphanenin bazı kat veya odaları özel veriler içerdiği için herkese açık değil ve bilgi edinmek isteyenlere yetki sınırlarını dahilinde sadece ilgili kapıları açan bir anahtar veriliyor diyelim.

Kütüphane güvenlik birimi sizin yetkinize göre bir anahtar çıkarıyor ve size veriyor. Bu anahtar yardımıyla işinizi yapabileceğiniz kat veya odalara girerek bilgileri alabiliyor ve çalışmanızı yürütebiliyorsunuz. İşte burada size verilen anahtar API’yi temsil eder.

Bu kart sayesinde bir daha güvenlik birimine uğramadan size açılan bölümlerdeki verilere dilediğiniz şekilde ulaşabilirsiniz. Bu örneğe göre her anahtar sahibi ziyaretçi de istemci programlardır. 

Son dönemlerde çok sık kullanılan İnternet bankacılığı uygulamaları da benzer şekilde API’ler yardımıyla çalışır. Akıllı telefonunuza kurduğunuz aplikasyon, bankanın tanımladığı API yardımıyla banka hesap bilgileriniz arasında bir köprü oluşturur.

API entegrasyonu somnrası sizin banka hesabınızda işlem yapmanıza izin verir. Normal şartlarda bankanın işletim sistemi ve kullandığı yazılım sizin telefonunuzdaki işletim sistemi ve yazılımdan farklıdır.

API bu farklı işletim sistemi ve yazılımlar arasında iletişim kurmaya ve sorunsuz bir şekilde işlem yapılmasına olanak tanır. API’ler sayesinde programlama dili veya cihazlar farklılık gösterse bile işlemler çalışır ve bir köprü oluşturulur.

API’leri birbirini tanımayan iki kişiye (İki farklı uygulama veya sunucu), ikisini de tanıyan bir kişinin (API) bilgi taşıması olarak da tarif edebiliriz.

API Nasıl Kullanılır? API Entegrasyonu Nasıl Yapılır?

API’leri verdiğiniz hizmette kolaylık sağlamak için kullanılabilir. Sisteminize entegre ettiğiniz, örneğin anlık döviz kuru takip eden bir API ile verdiğiniz hizmeti anlık kur fiyatlarına göre otomatik güncelleyebilirsiniz ve ödemelerin otomatik bir şekilde güncel kur verilerine göre yapılmasını sağlayabilirsiniz.

Aşağıda GET metodu ile oluşturulmuş API (Çağrısı) İsteği aşağıdaki gibi görünür.

Bir örnek API mimarisi örneğide aşağıdaki gibi olmaktadır. API’nin hangi amaçlarla kullanıldığı ve ne gibi kabiliyetler edinildiği görebileceğiniz bu örnek ile bir API Gateway sayesinde neler yapılabileceği görülüyor.

API entegrasyonu yapılabilmesi için istemcinin kendisini tanıtacak bir API key yani anahtara ihtiyacı vardır. API hizmetini veren uygulama veya sunucu, istemciden API key ve şifre ister.

Şifre ile Authentication (Yetkilendirme) alan uygulama kendisini tanımlayan anahtar vasıtasıyla sunucuyla sürekli bir bağlantı kanalı oluşturur. Böylece düzenli veri alışverişi gerçekleşmeye başlar. 

API Entegrasyonunu oluşturabilmek için bu API Key ve şifreleri ihtiyacınız olduğunu söylemiştik. Entegrasyon işlemi Backend tarafında gerçekleştirilir. İstemciye verilecek API Key veritabanında oluşturulan bir tabloda saklanır.

Belirlenen API Key ve şifre ile Authentication oluşturulduktan sonra istemci örneğin HTTP isteği yaparken Header ve gövdeye API Key’i ekleyerek göndermelidir. 

Bu key sayesinde istemcinin kimliği tanımlanır ve daha önceden Authentication sağlandığı için güvenli bağlantı sağlanarak talep ettiği veriler istemciye açılır. İsteğe bağlı olarak ilave güvenlik önlemi sağlayabilmek adına, istemcinin IP adresi de istenebilir bu sayede API Keylerini başkalarının kullanabilmesinin önüne geçilmesi sağlanır.  

En Popüler API Servisleri Nelerdir?

API’ler kullanım alanlarına göre çeşitli servisler tarafından ücretli veya ücretsiz bir şekilde üretilip paylaşılabiliyor.

Bu servislerde paylaşılan API’ler;

  • Pazarlama API’leri
  • Bankacılık ve Tahsilat API’leri
  • Web Sitesi API’leri
  • E-posta ve Mesajlaşma API’leri
  • Sosyal Medya API’leri
  • Haber Servisi API’leri
  • Harita API’leri
  • Resim veya Video API’leri

 İnternette API temin edebileceğiniz veya API’lerinizi şekillendirip yönetebileceğiniz birçok API servisi var, şimdi isterseniz bir de bu servislere örnekler verelim.

Çok farklı amaçlarla oluşturulmuş API’leri sisteminize entegre ederek kullanmaya başlayabileceğiniz servislerin yanında API’lerinizi istediğiniz şekilde güncelleyip yönetmenize yardımcı olan API Yönetim araçları da vardır.

Kullanışlı API’ler

Google API

Google servislerini web sitenize entegre etmek üzere kullanabileceğiniz Google API servisi bu alanda ihtiyacınız olan birçok API’yi içeriyor.

QR Code Monkey

Çeşitli hizmetler için QR kodu oluşturmaya yarayan QR Code Monkey sayesinde birçok araç için API entegrasyonu sağlayabilirsiniz.

QR Code Monkey sayesinde oluşturabileceğiniz hizmetler;

  • URL
  • E-Posta
  • SMS
  • VCard
  • Video
  • MP3
  • Sosyal Medya uygulamaları
  • Bitcoin cüzdanları 

Whatsapp API

Web sitenize Whatsapp butonu eklemeye yarayan bir API hizmetidir. Whatsapp API ile kurumsal telefonunuza bağlantı yapabilir ve müşterilerinizin size ulaşmasını kolaylaştırabilirsiniz.

Telegram API

Aynı şekilde Telegram API ile Telegram hizmetlerini sitenize entegre edebilirsiniz. Telegram mesajlaşma hizmetinin yanında bot hizmetleriyle de kullanılabilen oldukça kullanışlı bir uygulamadır.

Harita (Maps) API’leri

Haritalar, çeşitli amaçlarla kullanılabiliyor. Web sitenizde bir harita eklemek, lokasyonları otomatik olarak çekmek için haritaları eklemek bu MapBOX API yardımıyla kolayca gerçekleştiriliyor.

Twitter API

Twitter, ünlü ve etkili kişilerin, kurumların, işletmelerin, görüşlerini ve haberlerini paylaştığı sosyal medya uygulaması olarak göze çarpıyor. Bu alanda gerçekleşen paylaşımlar günümüzde haber değeri görüyor ve sıklıkla kullanılıyor. Twitter API ile bu kurumsal Twitter hesabınızla bağlantıyı kolayca kurabilirsiniz.

Facebook API

Facebook API adı üstünde Facebook hesabınıza bağlantı kurabileceğiniz bir API’dir.

Youtube API

Youtube API Youtube bağlantısını sağlayarak, videoların eş zamanlı olarak sayfanızda veya aplikasyonunda paylaşılmasına yardımcı olur.

Spotify API

Spotify API’ de aynı şekilde Spotify hesabınıza erişmenize yarayan bir API’dir.

Quick Chart API

Quick Chart API, e-postalarınıza, raporlarınıza ve internet sitelerinize tablo eklemenize yarayan kullanışlı bir API’dir. JavaScript tabanlı çalışan tabloları bu API ile birçok ortama otomatik bir şekilde çekebilirsiniz.

API Yönetim Araçları

Improvado

Improvado, birçok farklı veri kaynağı, platform veya sosyal medya araçları ile bağlantı sağlayabilen bir API entegrasyon hizmetidir. Ücretli bir hizmet olan Improvado ASUS, Illy gibi markalara hizmet veriyor.

Apigee API Management

Apigee API Management de API yönetimi, entegrasyonu ve optimizasyonu konusunda ücretli veya ücretsiz paketleriyle hizmet veren bir platformdur.

Microsoft Azure API Management

Microsoft Azure API Management, çapraz platformlarla otomatik bağlantı, veri alışverişi ve entegrasyon işlemleri için Microsoft tarafından geliştirilmiş API yönetim hizmetidir ve ücretli bir servistir.

IBM API Connect

IBM API Connect, IBM tarafından sunulan API yönetim ve entegrasyon hizmetidir. Ücretli veya ücretsiz paketleri bulunuyor.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir