API – Web siteleri, programlar ve uygulamalar arasında bilgi alışverişi yapmanın bir yoludur. Ayrıca, böyle bir değişimin gerçekleştirildiği bir dizi kural olduğunu da söyleyebilirsiniz. Programların ve sitelerin kullanıcıları sadece kişiler olmayabilmektedir. Ayrıca başka siteler ve uygulamalar tarafından da kullanılabilmektedir. İnsan müdahalesi olmadan birbirleriyle veri alışverişi yapabilirler. Bu durum hazır bir çözümü ödünç almak sıfırdan kendi çözümünüzü oluşturmaktan daha kolay olduğunda kullanışlıdır.
Akış hizmeti Spotify, çalma listelerine erişim sağlayan açık bir API oluşturmuştur. Buna dayanarak geliştiriciler, hizmetin yeteneklerini tamamlayan ve genişleten düzinelerce hizmet oluşturmuştur. İşte bazı harika eklemeler şunlardır;
- Elektronik müzik soyağacına sahip bir hizmet, içindeki tüm şarkılar Spotify API kullanılarak çekilmiştir;
- Daha sonra resmi uygulamada kullanılabilecek çalma listeleri için özel kapak tasarımcısı olmuştur;
- Spotify çalma listenizi 2000’lerin ambiyansında dinlemenizi sağlayan bir Winamp oynatıcı emülatörüdür.
Geliştiriciler, müzik arşivlerine ücretsiz erişim elde etmektedir. Ayrıca kendi temelinde fikirlerini uygulayabilmektelerdir. Buna karşılık, hizmet sürekli olarak kullanıcıları çeken alışılmadık kullanımlara sahiptir. Ayrıca kullanıcılar, müzik dinlemeyi daha kişisel hale getirme fırsatına sahiptir. Sonuç olarak, API sayesinde herkes karanlıkta kalmaktadır.
Diğer bir örnek olarak: Site veya uygulama kullanıcılarının haritada konumu görebilmesi için Google Maps API’sini bağlayabilirsiniz. API’yi bağlamak, kendi yeni uydu haritalarınızı geliştirmekten daha kolay olduğundan, küresel çözümler için geliştiriciler hâlihazırda uyguladıkları yerlere yönelirler. API yalnızca iki hizmetin bilgi alışverişinde bulunmasına yardımcı olmaktadır. Ancak bu etkileşim harici arabirim tarafından gizlendiğinden kullanıcı tarafından görülmemektedir.
Arayüz nasıl çalışmaktadır?
Uygulama arayüzü, iç mekanizmanın çalışması için kullanıcının hakim olması gereken sistemdir. Araç gösterge panelinde belirli bir düğmeye basarsanız, pencere camı aşağı doğru yuvarlanmaya başlamaktadır. Ne yolcu, ne de sürücü camı indiren mekanizmayı göremeyecek, sadece nihai sonucu göreceklerdir. Aynı şekilde uygulama ara yüzünde bir butona tıklayarak ihtiyacımız olan sayfayı açan mekanizmaları da görmüyoruz.
API, geliştiricilerin cihazlarının ayrıntılarını düşünmeden kendi ve üçüncü taraf programları arasındaki etkileşimi özelleştirmelerine yardımcı olmaktadır. Merkez Bankası web sitesinin arka yüzünün nasıl düzenlendiğini bilmiyor olabilirsiniz, ancak API’si aracılığıyla hizmetinizdeki döviz kurlarını görüntüleyin. Bu nedenle örneğin, geliştiriciler için “Facebook API’sinin Tanıtımı” sayfasında şöyle diyor: “Veritabanının nasıl düzenlendiğini, hangi tablolardan ve hangi türlerden oluştuğunu ayrıntılı olarak bilmenize gerek yoktur. Bu kısım yeterlidir. API isteği bunu bilmektedir”.
API Belgeleri
İki hizmet arasında etkileşim kurmak, işbirliği şartlarını belirleyen bir sözleşme türüdür. Her hizmetin API belgeleri, üçüncü taraf sitelerinin veya uygulamalarının işlevselliğini kullanabileceği koşulları belirtmektedir. Örneğin aynı sosyal ağ Facebook, geliştiricilere üçüncü taraf hizmetlerde kullanıcı kimliklerini, videoları, belgeleri, ürün kartlarını kullanma fırsatı sağlamaktadır. API ile doğru şekilde çalışmak için belgeler, bunları gerçekleştirebileceğiniz belirli işlemleri ve yöntemleri belirtmektedir. Örneğin bunlar;
- video.add – Facebook oynatıcısından video ekleme yöntemi;
- likes.delete – “Beğen” işaretini kaldırma yöntemi;
- users.get, bir kullanıcı hakkında bilgi almak için bir yöntemdir.
Yöntemler, içerik bölümüne göre gruplara ayrılmaktadır. Fotoğraflar, videolar, dokümanlar, beğeniler ve diğerlerini içerebilmektedir. Yöntemlerin tam listesi Facebook özel API dokümantasyon sayfasında bulunabilmektedir. Belgelere göre, yöntemleri kullanarak her eylemi gerçekleştirmek için belirli kurallara göre bir istekte bulunmanız gerekir. Örneğin, Facebook için şunları belirtmeniz gerekmektedir;
- https:// bağlantı protokolüdür, her zaman aynı olacaktır;
- api.facebook.com/method – API hizmetinin adresi; hizmete bağlı olarak değişecektir. Ancak Facebook’un API adresi aynen şöyle görünmektedir;
- users.get, belirli bir face API yönteminin adıdır;
- user_id=210700286 — verilerinin alınması gereken belirli bir kullanıcının kimliği.
- https://api.facebook.com/method/users.get?user_id=210700286&v=5.52
İsteğe yanıt olarak sunucu, istenen verileri içeren bir JSON nesnesi döndürür ve bu durum şöyle görünecektir:
{“response”:[{“id”:210700286,”ad_ad”:”Lindsey”,”last_name”:”Stirling”}]}
Cevabı bileşenlere ayırırsak, o zaman:
- id alanı yine aynı hesap kimlik numarasını içerecektir;
- first_name alanında – kullanıcının adını içeren bir dize;
- last_name alanında – kullanıcının soyadını içeren bir dize.
Kullanıcı hakkında bilgi edinme yöntemi, örneğin bir Facebook hesabı aracılığıyla yetkilendirme olasılığı olan siteler tarafından kullanılmaktadır. Böylece site, topluluğunun penceresini bu sosyal ağda bağlayabilmektedir. Kullanıcıya hangi arkadaşlarının zaten içinde olduğunu gösterebilmektedir. Sayfayı profilde paylaşmayı teklif edebilir veya doğrudan site sayfasına “Beğen” koyabilirsiniz.
API neden popüler oldu?
API’ler, geliştiricilerin hizmetlerinde önceden oluşturulmuş araçları kullanmalarına izin verdiğinden, bu yöntem aynı anda iki stratejik avantaj sağlamaktadır. Bunlar;
- Geliştirme süresinden tasarruf sağlamaktadır;
- Geliştirme maliyetini azaltmaktadır.
API için programın hangi dilde yazıldığı önemli değildir. Ara yüz, her türlü cihaz, işletim sistemi ve programlama dili ile çalışan evrensel bir adaptördür.
API’ye başka hangi işlevler dahildir?
API, olası işlevler kümesi üzerinde katı kısıtlamalar getirmemektedir. Arayüze, kullanıcılar veya üçüncü taraf şirketler için yararlı olacak herhangi bir işlevsellik ekleyebilirsiniz. Ana konu, her işlevin katı bir yapıya sahip olmasıdır;
- API kullanılarak gerçekleştirilebilen bir işlem;
- kullanıcı tarafından talep edilecek veriler;
- Çıktıda kullanıcının alacağı veriler (içerik veya hata mesajı).
Geliştiriciler, bazı API’lere ücretli erişim sağlamaktadır. Örneğin, 2GIS’ten haritalara erişim, Yandex.Market’ten ürünler hakkında bilgi ve HeadHunter’dan sitenize iş widget’ları yerleştirme yeteneği talep edebilirsiniz. Twitter, Facebook, VKontakte gibi sosyal ağların API’si aracılığıyla birçok site bir yetkilendirme sistemi uygulamaktadır.