API Nedir? API'nin İşleyişi ve Kullanım Alanları
Birden fazla işlemi tek ekrandan veya tek uygulama içerisinden yapmak kullanıcılar açısından oldukça avantajlıdır. Bu avantajı kullanıcılara sağlamak isteyen geliştiriciler ise arka planda API’leri yani Uygulama Programlama Arayüzlerini kullanırlar. Peki, uygulamaları birbirlerine bağlamak için kullanılan ve kullanıcıların işlerini kolaylaştıran API’ler tam olarak nasıl çalışır?
API Nedir?
API; bir program veya yazılım üzerinden ek özellikler sunmak amacıyla başka bir yazılım, veritabanı veya sunucu ile bağlantı kurmayı sağlayan bir sistemdir. API kısaltmasının açılımı olan “Application Programming Interface” Türkçeye “Uygulama Programlama Arayüzü” olarak geçmiştir.
Uygulama Programlama Arayüzleri, programlar arasında bağlantı kurmaya ve bir programın özelliğini diğer programın içerisinde kullanmaya imkân tanır. Bununla birlikte yazılımlar arası veri transferi için de API’ler kullanılır. Kısacası API’ler; yazılımların, programların ve sunucuların birbirleri ile iletişim kurmasını sağlar.
API'nin İşleyişi Nasıldır?
Uygulama Programlama Arayüzlerini daha iyi anlayabilmek için işleyişlerine de detaylı bakmak gerekir. API’ler kendi aralarında farklı yazılım dillerini kullanarak iletişime geçer ve süreç bu şekilde işler. Şimdi, API’lerin çalışma prensibini ele alarak bu işleyişin detaylarına bakalım.
API Nasıl Çalışır?
API’ler, bir iletişim kanalı gibi çalışır. Bu iletişimin tarafları istemciler ve sunuculardır. İstemci istek gönderen uygulamayı, sunucu ise bu isteğe cevap veren diğer uygulamayı temsil eder. İstemci ve sunucu arasındaki API çalışma sürecini küçük bir örnekle daha kolay bir şekilde anlatabiliriz.
Bir e-ticaret sitesinden alışveriş yaptığını varsayalım. Ürünleri sepete ekleyip ödeme adımına gittiğinde senden kart bilgilerini girmen istenir. Ücretin kartından alınması için ise bu kart bilgilerinin banka tarafından doğrulanması gerekir. İşte, bu noktada Uygulama Programlama Arayüzleri devreye girer.
Bu süreçte istemci e-ticaret sitesi, sunucu ise kartın ait olduğu bankadır. E-ticaret sitesi, ödeme ekranına girilen bilgileri bir API aracılığıyla bankaya gönderir. Banka da aynı API kanalından e-ticaret sitesine cevap verir. Kart bilgileri doğrulandığında ise ödeme alınarak alışveriş işlemi tamamlanır. Bu işlemde API’nin görevi, e-ticaret sitesi ve banka arasında iletişim kurulmasını ve veri paylaşılmasını sağlamaktır.
API'ler Aracılığıyla Veri Nasıl Paylaşılır?
Uygulama Programlama Arayüzleri ile veri paylaşımı, arka planda çalışan yazılım kodları ile sağlanır. Bu kodlamalar, yazılımlar arası iletişimi mümkün kılar ve istemciden gelen talep, API anahtarları ile sunucuya iletilir. Bu süreçte genellikle HTML, JSON ve XML gibi yazılımsal diller kullanılır. İletişimin kurulduğu dil ve kanal ise API’nin türüne göre değişiklik gösterir.
API Türleri Nelerdir?
İletişim kurması gereken programlara ve iletişim protokollerine göre değişen altyapılara sahip farklı Uygulama Programlama Arayüzleri mevcuttur. Bu süreçte web API’leri, sistem API’leri, yerel API’ler ve API kütüphaneleri kullanılır. API türlerine REST, SOAP, GraphQL ve RPC gibi örnekler verebiliriz. Temel Uygulama Programlama Arayüzü sistemleri olan REST ve SOAP API’lerine yakından bakmamızda fayda var.
REST API ve SOAP API Arasındaki Farklar Nelerdir?
REST veya RESTful olarak bilinen API türü, HTTP protokolünde çalışır. Bu protokol üzerinden iletişim kurulmasını sağlayan REST API sistemlerinde PATCH (güncelleme), DELETE (silme), POST (gönderme/ekleme) ve GET (alma/görüntüleme) gibi metotlar kullanılır.
SOAP API’ler ise XML formatının kullanıldığı bir sisteme sahiptir. “Basit Nesne Erişim Protokolü” şeklinde de adlandırılan bu Uygulama Programlama Arayüzleri, genellikle web üzerindeki küçük ölçekli iletişimlerin kurulmasını sağlamak için kullanılır. SOAP API’lerin dezavantajı ise farklı formatlara uyarlanabilme esnekliğinin olmamasıdır.
REST ve SOAP arasındaki farklar da bu açıklamalar doğrultusunda anlaşılabilir. REST ve RESTful API’ler geniş kapsamlı mesajların iletimi için farklı formatlara uyarlanarak kullanılabilir. SOAP API’lerde ise farklı formatlar mümkün değilken mesaj içeriklerinin de küçük ölçekli olması gerekir.
API Kullanım Alanları Nelerdir?
Uygulama Programlama Arayüzleri; düzenlenebilir, geliştirilebilir, özelleştirilebilir ve uyarlanabilir türde bileşenler içerdikleri için oldukça geniş bir kullanım alanı sunar. Günlük hayatta en çok karşılaşabileceğin API kullanım alanlarını da şöyle sıralayabiliriz:
⦁ E-ticaret ödeme sistemleri
⦁ Farklı kaynaklarda yer alan verileri (ürün, hizmet vb.) karşılaştırmak için kullanılan karşılaştırma siteleri
⦁ Üçüncü taraf uygulamaları kullanılarak (Facebook ile/Google ile oturum aç vb.) yapılan oturum açma işlemleri
⦁ Sosyal medya uygulamalarına giriş yapılırken kullanılan sistemler
⦁ Hava durumu uygulamaları
⦁ Haber servisi uygulamaları
⦁ Harita ve konum servisi uygulamaları
⦁ Borsa takip sistemleri
Bu alanlarda API’lerin kullanımı, entegrasyon işlemleri ile mümkün olur. Peki, Uygulama Programlama Arayüzü entegrasyonu nasıl yapılır?
API Entegrasyonu Nasıl Yapılır?
API entegrasyonu, kullanılan API’lerin türüne ve çalışma prensibine bağlı olarak değişebilir. Bu süreçte istemci ve sunucu tarafındaki uygulamalar da önem taşır. Her sistemin kendi içerisinde bir işleyişi vardır ve Uygulama Programlama Arayüzleri bu sistemlerin işleyişine dahil edilir. Bu süreçte de yazılım kodlarından destek alınır.
API entegrasyonu, aslında programlar arasında bir bağlantı kurmak anlamına gelir. API’ler aracılığıyla iki uygulama birbirine entegre edilir. Böylece istemci tarafındaki uygulama, sunucu tarafında yer alan uygulamadaki güncellemelerden de haberdar olur. Örneğin yurt dışına çıktığında telefonundaki konumunu değiştirirsin ve telefonunun saati, bulunduğun ülkeye göre güncellenir. Bu işlem, konum servisleri ve saat yazılımının bir API ile birbirine entegre edilmesi sayesinde gerçekleşir.
Chatbot’lar, API'leri Nasıl Kullanır?
Chatbot’lar veya Türkçe tabirle sohbet robotları da API’ler ile bazı kaynaklara entegre edilir. Bu robotlar temelde makine öğrenmesi yöntemiyle yapay zekâdan beslenerek çalışır. Fakat kullanıcının talep ettiği işlemler, API’ler sayesinde gerçekleşir.
Örneğin sohbet ekranına “Kredi başvurusu yapmak istiyorum.” yazdığında chatbot seni doğrudan kredi başvuru sayfasına gönderir. Bunu yaparken de API kullanır. API’ler aracılığıyla chatbot’lar, içinde bulundukları sistemin diğer özelliklerine bağlanırlar. Kullanıcı olarak yazdığın anahtar kelimeler ile tetiklenen sohbet robotları, API’ler yardımıyla ekranı yönetip otomatik olarak başka ekrana geçmeni sağlar.
Birçok farklı alanda, web sitesinde veya uygulamada karşılaştığın sohbet robotlarının çoğu bu şekilde çalışır. Bu konuda daha detaylı bilgi edinmek istersen chatbot’lar hakkındaki yazımıza göz atabilirsin.