API(Application Programming Interface), bir uygulamaya, servise ve/veya platforma ait yeteneklerin, başka bir uygulamada da kullanılabilmesi için yeteneklerini paylaşan uygulamanın sağladığı arayüzdür. Basitçe bir A uygulamasının özelliklerini B uygulamasında da kullanabilmemizi sağlar.
Teknik anlamda API ,(Application Programming Interface) kelimelerinin kısaltması olarak söylenir. Farklı türden uygulamaların aynı ana akışı üzerinden birlikte çalışmasını sağlayan yazılım parçasıdır.
API her haliyle kullanıcıları ve ziyaretçileri memnun etmek zorundadır. İyi kurgulanmış API sistemi sorunsuz çalışacağı gibi, müşterileri ve ziyaretçileri de elde tutmadaki en büyük roldür.
API’ler çoğu kez makine tarafından okunabilen arabirimler olarak ele alınır. Günümüz dünyasında farklı türden makinaların artması ve bütününün iletişim ihtiyaçlarını karşılamada oluşacak karmaşıklığı göz önüne aldığımızda API’lerin önemi küçümsenmemelidir.
Günlük hayatta bir çok örnekle karşımıza çıkıyor. Bir arabanın yazılımı olduğunu düşünelim. Bu arabanın API’si arabanın neler yapabileceği hakkında bilgiler içerir. Hızlanması, camları açması, frenlemesi gibi. Bunları nasıl yapabileceğine dair de bilgiler içerir. Bunun gibi pek çok örnek günlük yaşantımızda var. Mesela şuan bu yazıyı okuduğunuz bilgisayarın enerjisini sağlamak için fişini taktığınız prizlerden bahsedelim. Tıpkı evinizin tüm duvarlarında olduğu gibi hatta diğer evlerde bulunan belki de iş yerinizde bulunandaki gibi. Sonuçta hepsi aynı görevi görmektedir. Aslında bu bir hizmetin arayüzüdür. Peki bu hizmet nedir? Tabii ki bilgisayarlar, akıllı telefonlarımız, elektrikli süpürge, saç kurutma makinesi gibi cihazlara kadar prize takılan her şey tarafından tüketilen elektriktir.
Enerji tüketen cihazlarımız kendi ayrı güç kaynaklarına sahip olmak yerine, güç gereksinimlerini dış kaynaklardan gelen bir hizmet sağlayıcıya herhangi bir priz arabirimi vasıtasıyla bağlanarak karşılamaktadır.
API’nin Türleri Nelerdir?
OPEN API
Open API‘ler makinelerin haberleşmesi için belli bir standarttır. Minimum kısıtlama ile geliştiriciler ve diğer kullanıcılar tarafından herkesin kullanımına açık API’lerdir. Bu yüzden public de denir. Verilere veya hizmetlere erişmek için harici kullanıcılara odaklanırlar.
INTERNAL API
Internal API’ler, şirket dışındaki tüketim için değil, daha çok daha iyi üretkenlik ve hizmetlerin yeniden kullanımı için farklı dahili geliştirme ekiplerinde kullanılmak üzere tasarlanmıştır. Diğer adı Private API’dir. Harici kullanıcılardan gizlenmektedir. Yalnızca dahili sistemler tarafından açığa çıkarılan .
PARTNER API
Stratejik iş ortaklarına stratejik iş ortakları tarafından sunulan API’lerdir. Herkese açık değildir. Bunlara erişmek için özel yetkilere ihtiyaç vardır. Şirket sınırlarının ötesinde iletişim kurmak için kullanılırlar.
COMPOSİTE API
Birden çok veri veya hizmet API’sini birleştiren API’lerdir. Geliştiricilerin tek bir aramada birkaç uç noktaya erişmesine izin verir.
API KULLANIMLARI
Farklı dilde, farklı platformlar üzerinden çalışan uygulamaların birbirleriyle haberleşmesi için ilk olarak SOAP API servisleri kullanılmaktaydı. SOAP servisler HTTP, SMTP protokolleri üzerinden aldığı istekleri genellikle XML formatında dönüş yapar.
Günümüzde ise yaygın olarak REST API olarak da bilinen bir mimari yaklaşım tercih edilmekte. Sadece HTTP protokolü üzerinden cevap alıp genellikle JSON formatında dönüş sağlar. REST, geliştiricilerin bir api oluştururken izledikleri kurallar kümesidir aslında. Bu kurallardan biri de API’nin kullanımını kolay ve geliştiriciler için anlamlı olacak şekilde tasarlanması gerektiğidir.