SÖZLÜK

API nedir?

  Bu sayfa DeepL tarafından otomatik olarak çevrilmiştir. Switch to English

API (Uygulama Programlama Arayüzü), bir yazılımın başka bir yazılımla iletişim kurmasını sağlayan bir dizi kuraldır. Bunu bir menü olarak düşünün: uygulamanız veri veya eylemleri "sipariş edebilir" ve API mutfağa (bir hizmete) tam olarak ne pişirileceğini ve nasıl servis edileceğini söyler.

API'ler, isteklerin nasıl yapıldığı ve yanıtların nasıl döndürüldüğünü standartlaştırır, böylece farklı ekipler, şirketler veya farklı programlama dilleriyle oluşturulmuş farklı sistemler bile güvenilir bir şekilde birlikte çalışabilir.

how-a-web-api-works

API aslında ne işe yarar?

Temel düzeyde, bir API uç noktaları (çağırılabilen adresler), kullanılabilen yöntemleri (veri almak için GET veya veri göndermek için POST gibi), gönderilen verilerin formatını (genellikle JSON) ve geri alınması beklenen verileri (veri artı "OK" için 200 veya "Bulunamadı" için 404 gibi bir durum kodu) tanımlar. Bu öngörülebilirlik, asıl önemli olan noktadır.

API, SDK ve UI arasındaki fark nedir?

  • API: Ne talep edebileceğiniz ve nasıl yanıt alacağınızla ilgili sözleşme.
  • SDK (Yazılım Geliştirme Kiti): API'yi kullanmayı kolaylaştırmak için genellikle hazır kodlar, örnekler ve yardımcı programlarla API'yi içeren bir araç seti.
  • UI (Kullanıcı Arayüzü): İnsanların tıkladığı ve dokunduğu yerler. API'ler yazılımlar arası iletişim içindir; UI'lar ise insanlar içindir.

Kesin olmak gerekirse, SDK olmadan da API kullanabilirsiniz, ancak SDK kullanmak zaman tasarrufu sağlar ve hataları azaltır.

API'lerin farklı "türleri" var mı?

Evet, birkaç stil var ve her birinin avantajları ve dezavantajları var:

  • REST: Günümüzde en yaygın web stili. Kaynak tabanlıdır, HTTP yöntemlerini (GET/POST/PUT/DELETE) kullanır, genellikle JSON kullanır.
  • GraphQL: İstemciler tek bir istekte ihtiyaç duydukları alanları tam olarak belirtir; bu, aşırı veya yetersiz veri alımını azaltmak için mükemmeldir.
  • SOAP: Bazı işletmelerde hala kullanılan, katı sözleşmelere sahip eski XML tabanlı protokol.
  • gRPC: Mikro hizmetler için popüler olan yüksek performanslı, ikili protokol.
  • Webhooks: Sizin yaptığınız bir istek değil, bir şey olduğunda (örneğin teslimat bildirimi gibi) sağlayıcının size gönderdiği bir geri arama.
rest-api

API kullanmak "değerli" mi?

Genellikle evet. Her şeyi kendiniz oluşturmak yerine, API'ler sayesinde ödemeler, haritalar, e-posta, arama, analiz, yapay zeka ve daha fazlasını entegre edebilirsiniz. Bu, mühendislik zamanından tasarruf sağlar, güvenilirliği artırır (sağlayıcı hizmetini güncel tutar) ve ekibinizin ürününüzü benzersiz kılan özelliklere odaklanmasını sağlar.

Karşılıklı ödünler: Sağlayıcınızdan hız sınırları, fiyatlandırma ve çalışma süresi bağımlılıklarını devralırsınız. Ürününüz bu API olmadan çalışamıyorsa, yedeklilik planı yapın.

API'yi kullanmak için özel bir "anahtar"a ihtiyacım var mı?

Sık sık. Birçok API, sağlayıcının kim olduğunuzu bilmesi ve izinler ile hız sınırlamaları uygulayabilmesi için kimlik doğrulama gerektirir. Yaygın yaklaşımlar şunlardır:

  • API anahtarları: Her istekle birlikte gönderdiğiniz basit belirteçler.
  • OAuth: Bir kullanıcı adına erişim gerektiğinde çok daha güvenli ve yetki devri yapılabilen bir yöntemdir.
  • İmzalı istekler / JWT'ler: Süresi dolan ve talepleri (kim olduğunuz, ne yapmanıza izin verildiğini) taşıyabilen kriptografik olarak imzalanmış belirteçler.

Mümkün olduğunca anahtarları ve jetonları genel depolardan ve istemci tarafı kodlarından uzak tutun.

API'yi çağırmak için özel araçlara ihtiyacım var mı?

Aslında hayır. Bir web tarayıcısı, curl veya herhangi bir HTTP istemcisi birçok API için çalışır. Geliştiriciler genellikle Postman gibi araçları veya yerleşik dil kitaplıklarını kullanarak isteklerde bulunur, yanıtları inceler ve örnekleri kaydeder. Üretim uygulamaları için, dilinizin HTTP kitaplığını veya sağlayıcının SDK'sını kullanırsınız.

Gerçek dünyada API'leri kimler kullanıyor?

Hemen hemen her şey modern: profilleri çeken mobil uygulamalar, "Google/Apple ile giriş yap", ödemeleri işleyen çevrimiçi mağazalar, senkronize eden akıllı ev cihazları, analitik verileri çeken gösterge panelleri, hatta hava durumu widget'ınız. Yazılım veri alışverişi yapıyorsa, muhtemelen arka planda bir API vardır.

client-server-architecture

Karşılaşacağınız jargonlar (ve anlamları)

  • Uç nokta: Çağırdığınız URL (ör. /users/123).
  • İstek / Yanıt: Gönderdiğiniz şey ile geri aldığınız şey.
  • Yük / Gövde: İstek veya yanıt içindeki veriler.
  • Durum kodu: Sayısal sonuç (200 Tamam, 201 Oluşturuldu, 401 Yetkisiz, 429 Çok Fazla İstek, 500 Sunucu Hatası).
  • Hız sınırı: Bir zaman aralığında kaç arama yapabileceğiniz.
  • Sürümleme: Eski ve yeni API davranışlarını ayrı tutma (ör. /v1/ ve /v2/).
  • İdempotent: Aynı isteği birden çok kez yapmak aynı sonucu verir (örneğin, GET).

İLGİLİ İÇERİK