Yerli, açık kaynak ve ücretsiz ofis yazılımımız Ewreka Ofis yayında.Ewreka Ofis yayında: ücretsiz ofis programı

Ücretsiz indir
Yazılım ve Teknoloji

API nedir?

Diğer adları: Application Programming Interface, Uygulama programlama arayüzü, REST API

Kısaca

API, iki yazılımın birbiriyle önceden belirlenmiş kurallar çerçevesinde veri alışverişi yapmasını sağlayan arayüzdür. Bir uygulama, başka bir sistemin içine girmeden, API üzerinden istekte bulunur ve yanıt alır. Kargo takibi, ödeme alma, döviz kuru çekme veya e-fatura gönderme gibi işler genellikle API'ler aracılığıyla yapılır.

API nasıl çalışır?

Bir banka şubesindeki gişeyi düşünün. Kasaya kendiniz giremezsiniz; gişeye gider, belirli bir formu doldurur ve işleminizi istersiniz. Gişedeki görevli kuralları bilir, işlemi yapar ve size bir dekont verir. API de yazılımlar için bu gişedir: hangi işlemlerin istenebileceği, hangi bilgilerin verilmesi gerektiği ve yanıtın hangi biçimde döneceği önceden tanımlanmıştır.

Web dünyasında en yaygın yapı REST mimarisidir. Uygulama belirli bir adrese (uç nokta) istek gönderir; yanıt genellikle JSON biçiminde döner. Örneğin bir kargo firmasının API'sine gönderi durumunu soran bir istek şöyle bir yanıt alabilir:

{"takip_no": "TR123456", "durum": "Dağıtımda", "sube": "Kadıköy", "tahmini_teslim": "bugün"}

Siteniz bu yanıtı alıp müşteriye "Siparişiniz dağıtımda" mesajı olarak gösterir. Müşteri kargo firmasının sitesine hiç gitmez.

Temel kavramlar

  • Uç nokta (endpoint): İsteğin gönderildiği adres, örneğin /siparisler veya /stok.
  • API anahtarı: İstek gönderenin kim olduğunu ve yetkisini kanıtlayan gizli kod.
  • Dokümantasyon: Hangi isteğin nasıl yapılacağını anlatan kullanım kılavuzu.
  • İstek sınırı: Belirli bir sürede yapılabilecek en fazla istek sayısı.

İşletmeniz için ne anlama gelir?

API, elle yapılan tekrar eden işlerin otomatikleşmesinin anahtarıdır. Birkaç tipik kullanım:

  • E-ticaret sitesinin siparişleri kargo firmasına otomatik iletmesi ve takip numarasını geri alması.
  • Web sitesindeki ödeme sayfasının sanal POS sağlayıcısıyla konuşması.
  • Satış verilerinin muhasebe programına veya e-fatura entegratörüne aktarılması.
  • Pazaryerlerindeki stok ve fiyatların tek bir panelden güncellenmesi.

Örneğin Konya'da hem kendi sitesinden hem iki pazaryerinden satış yapan bir oto yedek parça firması, stoklarını her gün üç ayrı panelde elle güncelliyordu. Stok programının API'si ile pazaryeri API'leri bağlandığında bir ürün satıldığı anda tüm kanallarda stok düşmeye başladı ve "stokta yok" iptalleri büyük ölçüde azaldı. Bu tür bağlantılar entegrasyon olarak adlandırılır.

Hazır entegrasyon mu, özel bağlantı mı?

Bir yazılım seçerken "API'si var mı, dokümantasyonu açık mı?" sorusunu sormak, ileride yaşanacak pek çok sorunu baştan çözer. API'si olmayan bir programdaki veriye ancak elle dışa aktarma ile ulaşabilirsiniz; bu da işletme büyüdükçe darboğaz yaratır. Yaygın platformlar arasında hazır eklentiler genellikle yeterlidir. Ancak kendi iş kurallarınız varsa, örneğin belirli bayilere farklı fiyat göndermek veya stok düştüğünde tedarikçiye otomatik sipariş açmak istiyorsanız, iki API arasında çalışan özel bir ara yazılım gerekir.

Sık yapılan hatalar

  • API anahtarını web sayfasının kaynak koduna veya herkese açık bir depoya koymak.
  • Tüm yetkilere sahip tek bir anahtarı her yerde kullanmak; anahtarlar işe göre sınırlı yetkili olmalıdır.
  • Hata durumlarını hiç düşünmemek: karşı sistem yanıt vermediğinde sipariş kaybolmamalı, tekrar denenmelidir.
  • Sağlayıcının sürüm değişikliği duyurularını takip etmemek; eski API sürümleri bir gün kapatılabilir.

API ile webhook farkı

API'de genellikle sizin uygulamanız sorar, karşı taraf cevaplar: "Bu siparişin durumu ne?" Webhook ise tersine çalışır; bir olay olduğunda karşı sistem size kendiliğinden haber verir: "Ödeme onaylandı." Birçok entegrasyonda ikisi birlikte kullanılır.

API hakkında sık sorulanlar

API kullanmak ücretli midir?

Sağlayıcıya göre değişir. Bazı API'ler ücretsizdir, bazıları belirli istek sayısına kadar ücretsiz olup sonrasında ücretlendirilir, bazıları ise yalnızca hizmeti satın alan müşterilere açıktır.

API bağlantısı için yazılımcı gerekir mi?

Hazır eklentiler ve otomasyon platformları birçok yaygın bağlantıyı kod yazmadan kurmanızı sağlar. İşletmeye özel kurallar veya birden fazla sistem arasında karmaşık veri akışları olduğunda yazılım geliştirme desteği gerekir.