Kur çevirici, küçük ama öğretici bir API entegrasyonudur. Kullanıcı bir tutar girer, kaynak para birimini seçer, hedef para birimini seçer ve uygulama güncel veya cache'li kurla sonucu hesaplar. Basit görünür, fakat veri tazeliği, hatalı sayı girişi, API yanıt doğrulaması ve üretim sorumluluğu gibi gerçek kararları içerir.
Bu rehberde API Deposu'ndaki currency-api-fawazahmed0 kaydını temel alıyoruz. Amaç finansal tavsiye veren bir ürün kurmak değil; ücretsiz bir exchange-rate kaynağıyla güvenli bir demo veya yardımcı araç nasıl tasarlanır sorusunu yanıtlamak.
Temel akış
Kur çeviricinin dört veriye ihtiyacı vardır: kaynak para birimi, hedef para birimi, kullanıcı tutarı ve hedef para birimi için oran. Hesaplama basittir: tutar ile kur çarpılır. Zor kısım, bu oranın gerçekten beklediğiniz para birimine ait olduğundan ve sayısal olarak geçerli olduğundan emin olmaktır.
Örneğin kullanıcı usd kaynak, try hedef ve 100 tutar seçtiğinde API yanıtında try alanı aranır. Alan yoksa sonuç üretmeyin. Alan sayı değilse kullanıcıya yanlış dönüş vermeyin. Tutar negatif, boş veya sayı dışıysa API çağrısı yapmadan form hatası gösterin.
Cache stratejisi
Döviz kuru verisinde her kullanıcı etkileşimi için ağ isteği atmak hem gereksiz hem de kırılgan bir yaklaşımdır. Basit bir araçta oranları kısa süre cache'lemek yeterlidir. Eğer ürününüz anlık piyasa ekranı değilse, birkaç dakikalık gecikme kullanıcı beklentisini genellikle bozmaz.
Üretim tarafında cache anahtarını kaynak para birimine göre tutmak mantıklıdır. Böylece usd bazlı oranlar tek istekle birçok hedef para birimine hizmet eder. Kullanıcı aynı sayfada farklı hedefler seçtiğinde tekrar API çağırmak yerine eldeki oran haritası kullanılabilir.
Ücretsiz kaynak kullanırken dikkat
Ücretsiz ve anahtarsız API'ler hızlı prototip için çok değerlidir, fakat kritik finansal ürünlerin tek dayanağı olmamalıdır. Upstream repository aktif mi, lisans ne diyor, CDN mirror kullanımı beklenen bir kullanım mı, veri hangi aralıkla güncelleniyor ve hata durumunda ne olacak gibi sorulara yanıt verilmelidir.
Bu nedenle currency-api-fawazahmed0 ile başlayan bir demo, üretime giderken en azından fallback, gözlemleme ve veri kaynağı dokümantasyonu içermelidir. Kullanıcıya "son güncelleme" bilgisini göstermek de güven açısından önemlidir.
UI ve doğruluk notları
Kur sonucu gösterirken sayı formatını kullanıcının diline göre düzenleyin. Türkçe arayüzde Intl.NumberFormat("tr-TR") ile hem tutar hem de para birimi daha okunabilir olur. Yuvarlama stratejisini ürün tipine göre seçin: sadece bilgi gösteriyorsanız iki veya dört ondalık yeterli olabilir, muhasebe veya ödeme akışında ise daha katı kurallar gerekir.
Son olarak, kur çeviriciyi karar destek aracı olarak konumlandırın. Kaynak, lisans ve güncellik açık olmadığı sürece kullanıcıya kesin finansal işlem önerisi veriyormuş gibi davranmayın.
Ne zaman farklı kaynak gerekir?
Basit bir blog aracı veya demo için ücretsiz kur API'si yeterli olabilir. Fakat ödeme, muhasebe, fatura, yatırım veya sözleşme tutarı hesaplayan bir üründe veri kaynağı seçimi daha ciddi ele alınmalıdır. Böyle durumlarda resmi kaynak, sağlayıcı SLA'sı, veri gecikmesi ve hukuki kullanım hakkı teknik entegrasyon kadar önemlidir.
Bu nedenle kur çevirici kodunu sağlayıcıya sıkı bağlamayın. Uygulama içinde getExchangeRate(base, target) gibi küçük bir sınır oluşturun. İlk sürüm ücretsiz kaynakla çalışır, ileride resmi veya ticari sağlayıcıya geçmek gerekirse UI ve iş kuralları aynı kalır.
Kullanıcı arayüzünde de aynı açıklığı koruyun. "Yaklaşık sonuç", "son güncelleme" ve "bilgi amaçlıdır" gibi küçük etiketler, aracın sınırlarını netleştirir. Bu, özellikle ücretsiz veri kaynaklarında yanlış beklenti oluşmasını engeller.
İlgili API Deposu kayıtları
Kaynaklar
Sik Sorulan Sorular
›Bu kur çevirici için API anahtarı gerekir mi?
Bu rehberde kullanılan fawazahmed0 currency API akışı public CDN üzerinden örneklenebilir ve API anahtarı gerektirmez. Üretim öncesi upstream repo, lisans ve hosting beklentileri kontrol edilmelidir.
›Döviz kurları ne kadar sık yenilenmeli?
Basit bir çevirici için her tuş vuruşunda istek atmak yerine dakikalar veya saatler seviyesinde cache kullanmak daha güvenlidir. Kesin süre ürünün doğruluk ihtiyacına göre belirlenmelidir.
›Ücretsiz döviz API'si üretimde kullanılabilir mi?
Prototip ve düşük riskli araçlarda kullanılabilir, fakat üretimde yanıt doğrulama, cache, fallback ve lisans incelemesi olmadan doğrudan kritik finansal kararlar için kullanılmamalıdır.