tcmb kur today / TC Merkez Bankasından döviz kuru okuma - DENEYAP Kart Forum

Tcmb Kur Today

tcmb kur today

Döviz Kurlarını Merkez Bankasından Okumak

 

Merkez Bankası günlük olarak  döviz kurlarını &#;funduszeue.info&#; dosyasında yayınlar.

Bu kurları almak için Java da aşağıdaki kod kullanılabilir.

Öncelikle URL&#;i verilen dosya okunur ve parse edilir. Daha sonra normalleştirme yapılır. Bu xml dokümanında tagler içindeki boşlukları, commentleri siler. Bölünmüş kelimeleri birleştirir.

Currency TagName&#;indeki elemanlar alınır ve bu elemanlar(kur) üzerinde dolaşılır.

Sonrasında etiket bilgisi kullanılarak eleman&#;ın detay bilgileri alınıfunduszeue.info detaybilgilerinin etiketleri için xml dokümanını açıp inceleyebilirsiniz.

&#;&#;&#;&#;&#;&#;&#;&#;

URL xmlURL;
try {
xmlURL = new URL(&#;funduszeue.info&#;);

InputStream xml = funduszeue.infoream();
DocumentBuilderFactory dbf = funduszeue.infotance();kullanılması
DocumentBuilder db = funduszeue.infoumentBuilder();
Document doc = funduszeue.info(xml);

// genel olarak  tagler içindeki boşlukları kaldırır. Bölünmüş kelimeleri birleştirir. Commentleri kaldırır

funduszeue.infoumentElement().normalize();

// Currency elemanını al ve dolaş
NodeList nodes = funduszeue.infomentsByTagName(&#;Currency&#;);
for (int i = 0; i < funduszeue.infogth(); i++) {

Element element = (Element) funduszeue.info(i);
funduszeue.inforibute(&#;CurrencyCode&#;);
getValueofElement(element,&#;CurrencyName&#;);
getValueofElement(element,&#;BanknoteBuying&#;);
getValueofElement(element,&#;BanknoteSelling&#;);
getValueofElement(element,&#;ForexBuying&#;);
getValueofElement(element,&#;ForexSelling&#;);
getValueofElement(element, &#;Unit&#;);

}

funduszeue.info();

kullanılması} catch (MalformedURLException e) {
// TODO Auto-generated catch block
funduszeue.infotackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
funduszeue.infotackTrace();
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
funduszeue.infotackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
funduszeue.infotackTrace();
}

&#;&#;&#;&#;&#;&#;&#;&#;&#;

 

private static String getValueofElement(Element parentElement, String label) {

String retval=&#;&#;;
Element requiredElement=(Element) funduszeue.infomentsByTagName(label).item(0);

try {
Node child = funduszeue.infostChild();
if (child instanceof CharacterData) {
CharacterData cd = (CharacterData) child;
retval= funduszeue.infoa();
}
else
{
// donothing
//retval=&#;&#;;
}

} catch (Exception ex) {
}

return retval;
}

&#;&#;&#;&#;&#;&#;&#;&#;&#;&#;&#;&#;&#;&#;&#;-

  • Bu hizmet Türkiye Cumhuriyet Merkez Bankası işbirliği ile e-Devlet Kapısı altyapısı üzerinden sunulmaktadır.

Bu hizmeti kullanarak Türkiye Cumhuriyeti Merkez Bankası tarafından yayınlanan günlük döviz kurlarını görüntüleyebilirsiniz.

Bugüne ait gösterge niteliğindeki kurlar saat sonrasında güncellenmektedir. Lütfen tarihi kontrol ediniz.

Döviz CinsiDöviz AlışDöviz SatışEfektif AlışEfektif Satış
1 ABD DOLARI
1 AVUSTRALYA DOLARI
1 DANİMARKA KRONU
1 EURO
1 İNGİLİZ STERLİNİ
1 İSVİÇRE FRANGI
1 İSVEÇ KRONU
1 KANADA DOLARI
1 KUVEYT DİNARI
1 NORVEÇ KRONU
1 SUUDİ ARABİSTAN RİYALİ
JAPON YENİ
1 BULGAR LEVASI00
1 RUMEN LEYİ00
1 RUS RUBLESİ00
İRAN RİYALİ00
1 ÇİN YUANI00
1 PAKİSTAN RUPİSİ00
1 KATAR RİYALİ00
1 GÜNEY KORE WONU00
1 AZERBAYCAN YENİ MANATI00
1 BİRLEŞİK ARAP EMİRLİKLERİ DİRHEMİ00
Döviz CinsiDöviz Cinsi
1 AMERIKAN DOLARI AVUSTRALYA DOLARI
1 AMERIKAN DOLARI DANİMARKA KRONU
1 EURO AMERİKAN DOLARI
1 İNGİLİZ STERLİNİ AMERİKAN DOLARI
1 AMERIKAN DOLARI İSVİÇRE FRANGI
1 AMERIKAN DOLARI İSVEÇ KRONU
1 AMERIKAN DOLARI KANADA DOLARI
1 KUVEYT DİNARI AMERİKAN DOLARI
1 AMERIKAN DOLARI NORVEÇ KRONU
1 AMERIKAN DOLARI SUUDİ ARABİSTAN RİYALİ
1 AMERIKAN DOLARI JAPON YENİ
1 AMERIKAN DOLARI BULGAR LEVASI
1 AMERIKAN DOLARI RUMEN LEYİ
1 AMERIKAN DOLARI RUS RUBLESİ
1 AMERIKAN DOLARI İRAN RİYALİ
1 AMERIKAN DOLARI ÇİN YUANI
1 AMERIKAN DOLARI PAKİSTAN RUPİSİ
1 AMERIKAN DOLARI KATAR RİYALİ
1 AMERIKAN DOLARI GÜNEY KORE WONU
1 AMERIKAN DOLARI AZERBAYCAN YENİ MANATI
1 AMERIKAN DOLARI BİRLEŞİK ARAP EMİRLİKLERİ DİRHEMİ

Bu sayfada gösterilen bilgiler itibarıyla üretilmiştir.

Merhaba, bu yazıda sizlere C# ile Merkez Bankası Döviz Kurlarını Çekme hakkında bilgi vereceğim. Bir önceki yazımızda C# ile Tesseract OCR Kullanımı hakkında bilgi verdim.

C# ile Merkez Bankası Döviz Kurlarını Çekme Nerede İşimize Yarar ?

Döviz kurlarını çekmek için farklı yerlerin api&#;larını kullanabilirsiniz. Ama merkez bankasından bugünün yada başka bir günün döviz kurlarını çekebiliriz. Kurlar gün içerisinde da güncellenmektedir. Bu döviz kurlarını ticari amaçla kullanabiliriz. Örneğin bir teklif programınız var ve üzerinde kurlar üzerinden teklif veriyorsunuz. Burada kur değişimleri kur hesaplamaları ürünlerin farklı kurlardaki fiyatları gibi değerleri hesaplayabilirsiniz.

Proje Kodlarının Eklenmesi

Using kısmına aşağıdaki kodu ekliyoruz.

Bugüne dair döviz kurunu çekmek için aşağıdaki linki kullanabilirsiniz. Ben bugünün kurları üzerinden işlem yapacağım.

funduszeue.info

İstediğiniz bir güne ait kurları çekmek içinde aşağıdaki linki kullanabilirsiniz.

funduszeue.info

Ben burada verileri bir datagrid üzerinden gösterdim. Siz kendinize göre bunları düzenleyebilirsiniz. İstediğiniz işleme göre kullanabilirsiniz. Verileri dataset&#;e aldım. Daha sonra datagrid üzerinde gösterdim.

XmlTextReader rdr=newXmlTextReader(" funduszeue.info");

DataSet ds=newDataSet();

funduszeue.infol(rdr);

funduszeue.infource=funduszeue.info["Currency"];

Soru ve görüşleriniz için [email&#;protected] adresine mail atabilirsiniz.

 

CBRT EXCHANGE RATES FETCHER (TCMB DÖVİZ KURU KÜTÜPHANESİ)

Build StatusCoverage StatusInline docs

Türkiye Cumhuriyeti Merkez Bankası (TCMB) tarafından yayınlanan döviz kurlarını kolayca;

  • Kur,
  • Tarih,
  • Veri türü,
  • Encoding

seçenekleriyle çekmenizi sağlayan kütüphane.

For English: Click Here

Tanım

Bu kütüphane herhangi bir tarihe ait döviz kurlarını: funduszeue.info ya da funduszeue.info API noktalarından alır ve bunları verilebilecek parametreler aracılığıyla daha kullanılabilir bir hale dönüştürür.

Bu kütüphaneyi kullanarak aşağıdaki ilgili döviz kurları verilerine ulaşabilirsiniz:

  • Yabancı para birimlerinin Türk Lirası karşılığı: X Kurunun Türk Lirası karşılığı (her zaman mevcut).
  • Doların, yabancı para birimleri karşılığı: Doların, X Kuru karşılığı (genellikle mevcut).
  • Euro'nun, yabancı para birimleri karşılığı: Euro'nun, X Kuru karşılığı (bazen mevcut).
  • Diğer yabancı para birimlerinin birbirlerine olan karşılıkları (nadir olarak mevcut).

Özetlemek gerekirse, dört parametreye kadar kullanabileceğiniz bir fonksiyonu çağırarak verileri farklı şekillerde alıyorsunuz. Nasıl, kulağa yeterince iyi ve basit geliyor mu?

Ön Koşullar

Promise kullanmayı öğrenin.

Kurulum

kütüphanesini kurmanın en basit yolu npm aracılığıyla kütüphaneyi ve bağlı paketlerini (dependencies) sorunsuz ve uğraşsız bir şekilde tek hamlede indirmek:

Ya da GitHub'dan bu kütüphaneyi indirebilir, projenize katabilirsiniz.

Kullanım

tcmb(kurKodu, tarih, veriTürü, encoding)

Dört parametreye kadar kullanabileceğiniz bu fonksiyonu çağırıyorsunuz, bu da size bir promise olarak dönüyor.

Kütüphanenin en basit kullanımı argümansız bir şekilde fonksiyonu çağırmak. Bu, o günkü döviz kurlarını TCMB API'ndan veri olarak içeren bir promise objesi dönüyor.

Bu şekilde kullanarak alınan veri, kur kodlarının 'key' olduğu bir obje olarak alınıyor. Ve bu kur kodu 'key' inin değeri, 'key' olarak veri türünü içeren ve değerinin bu veri türlerinin değerleri olduğu başka bir obje. Yani:

TCMB tarafından sağlanan API, veriyi XML olarak veriyor. Bu veriyi JSON'a çevirsen bile elde ettiğin veri yığını biraz düzensiz. Bu kütüphaneyi kullanarak veriler kur kodu 'key' i altında gruplanıyorlar. Bu da gayet temiz ve kolay bir kullanım imkanı sağlıyor.

Parametreler

  • kurKodu: String (3 Karakter Uzunluğunda), Null, Boş String

Kur kodu, opsiyonel olarak kullanılabilen ilk parametredir. Bu, o kurun veri türlerini içeren bir veri döner. Bu veri türlerinin değerlerinin çoğu o kurun Türk Lirası karşılığıdır.

Kur kodu, ISO standartı altında resmi, eşsiz, 3 karakter uzunluğunda bir string olan bir kur kodudur. Tüm kur kodlarının listesine buradan ulaşılabilir. Bu kütüphane için karakter duyarsız bir şekildedir, yani büyük küçük yazmanız farketmez.

Örnek: 'USD' kur kodu Dolar ile alakalı verileri döner ya da 'EUR' kur kodu Euro ile alakalı olanlarını vs.

Bu kod, Dolar ile alakalı döviz kuru veri türlerini bir obje içerisinde döner.

Eğer null ya da boş string argüman olarak kullanılmışsa ya da hiçbir parametre argüman olarak kullanılmamışsa, tıpkı fonksiyonu parametresiz çağırdığımızdaki gibi, tüm veri türleri ve bunların değerleri API'dan çekilir ve kur kodları 'key'leri altında gruplanmış şekilde bir obje olarak döner.

  • tarih: String ('funduszeue.info', 'GG-AA-YYYY', 'GG/AA/YYYY'), String ('today'), Null, Boş String

Tarih, opsiyonel olarak kullanılabilen ikinci parametredir. Bu verilen tarihe dair olan verileri döner.

Tarih, 'funduszeue.info’, ‘GG-AA-YYYY’or ‘GG/AA/YYYY' formatında olan bir string olmalıdır. Hangi ayıraçla bu formatta kullanılırsa kullanılsın gün/ay/yıl formatında ve toplamda 10 karakter uzunluğunda olmalıdır.

Bu kod, 10 Ağustos tarihine ait döviz kurlarının, çoğunluğu Euro'nun Türk Lirası karşılığı olan, Euro ile alakalı veri türlerini bir obje içerisinde döner.

Eğer 'today' string'i, null ya da boş string argüman olarak kullanılmışsa ya da hiçbir parametre argüman olarak kullanılmamışsa, o anki bulunulan güne ait veriler API'dan çekilecektir.

  • veriTürü: String, Null, Empty String

Veri türü, opsiyonel olarak kullanılabilen üçüncü parametredir. Bu verilen veri türüne ait tam bir değer ya da bir obje döner.

Veri türü parametresi, aşağıdaki string'lerden herhangi biri olabilir. Ayrıca bu parametre karakter duyarlıdır, yani büyük küçük harf yazımına dikkat edilmeli:

  • 'Unit': Seçilen kur birimi, 1 ya da Örneğin doların birimi 1 iken, çoğu zaman Japon Yeni'ninki 'dür.
  • 'Isim': Seçilen kur adının Türkçe karşılığı.
  • 'CurrencyName': Seçilen kur adının İngilizce karşılığı.
  • 'ForexBuying': Seçilen kurun Türk Lirası karşılığının efektif alış değeridir.
  • 'ForexSelling': Seçilen kurun Türk Lirası karşılığının efektif satış değeridir.
  • 'BanknoteBuying': Seçilen kurun Türk Lirası karşılığının döviz alış değeridir.
  • 'BanknoteSelling': Seçilen kurun Türk Lirası karşılığının döviz satış değeridir.
  • 'CrossRateUSD': Doların, seçilen kur karşılığıdır.
  • 'CrossRateOther': Diğer kurun, seçilen kur karşılığıdır.
  • 'CrossRateEuro': Euro'nun, seçilen kur karşılığıdır.
  • 'Parite': Parite değeri.

Birinci parametre olarak kur kodunun ve üçüncü parametre olarak veri türünün birlikte kullanıldığı durumlarda, sadece seçilen kura ait seçilen veri türünün değeri dönecektir. Yani:

Bu kod Pound Sterling'in Türk Lirası karşılığının o anki bulunulan güne ait döviz satış değerini, numara veri tipi olarak döner.

Birinci parametre olarak herhangi bir kur kodunun kullanılmadığı ancak üçüncü parametre olarak bir veri türünün kullanıldığı durumlarda, bütün kurların tek tek 'key' olarak bulunduğu ve bunların değeri olarak, seçilen veri türünün değerinin bulunduğu bir obje dönecektir. Yani:

Bu kod o anki bulunulan güne ait bütün yabancı kurların Türk Lirası karşılığının efektif alış değerini, kurların 'key' olduğu ve değerlerinin efektif alış değeri olduğu bir obje döner.

Eğer null ya da boş string kullanılmışsa veya hiçbir parametre argüman olarak kullanılmamışsa, bu kısım verinin çekilmesi üzerinde hiçbir etkiye sahip olmayacaktır.

  • encoding: String, Null, Boş String

Encoding, opsiyonel olarak kullanılabilen dördüncü ve son parametredir. Bu, verilen encoding türünü kullanarak veriyi döner.

Varsayılan olarak API'da kullanılan doğru encoding'i kullanmak için:

'ISO' encoding türü '' tarihine kadar kullanılmış ve 'UTF-8' encoding türü '' tarihinde ve sonrasında kullanılmıştır.

Bunun nedeni API'da kullanılan encoding türü yüzünden ortaya çıkan Türkçe karakter bozulmalarını düzeltmek içindir.

Eğer bir nedenden ötürü encoding türünü değiştirmek istiyorsanız, bunu encoding türünü string olarak fonksiyonda argüman olarak kullanarak yapabilirsiniz.

Hata Durumları

Sunucu isteği hatası veya XML çevirisinin doğru çalışmaması ya da herhangi bir neden yüzünden oluşan hatalarda:

  • message: Hatayı tanımlayan hata mesajı,
  • errorDetail: Dış kaynaklar tarafından, mesela bağlı paketler, oluşan hata tanımlamaları (opsiyoneldir, değer null olabilir),
  • errorCode: Hata kodu, hata ile baş etmeyi kolaylaştırma açısından,
  • statusCode: Sunucu isteği durum kodu (opsiyonel, değer null olabilir)

şeklinde 'key' lere sahip olan bir obje oluşturulur ve promise ile birlikte yollanarak halledilmesi beklenir.

Hata kodları

Hepsi numarası ile başlayan ve devam eden kodlardır. Kodların anlamları, obje içerisindeki 'message' 'key' i ile açıklanmıştır.

  • : 'Invalid date', (Geçersiz tarih)
  • : 'Invalid currency code', (Geçersiz kur kodu)
  • : 'Something went wrong on the request', (Sunucu isteğinde bir şeyler yanlış gitti)
  • : 'Server respond is not ok. Possibly due to public holiday date', (Sunucu cevabı 'ok' değil. Büyük ihtimalle tatil günü olan bir tarih yüzünden)
  • : 'Invalid encoding type', (Geçersiz encoding türü)
  • : 'Invalid XML is received', (Geçersiz bir XML alındı)
  • : 'Something went wrong while converting XML to JSON', (XML'i JSON'a çevirirken bir şeyler yanlış gitti)
  • : 'No such currency or data type found' (Öyle bir kur ya da veri türü bulunamadı)

Neden mi 'lü numaralar? Nerden bileyim, uydurdum öyle işte. Eğer özel hata kodları üretmek ile alakalı bir standart varsa bunu bana bildirsen aslında süper olur. Aslında var biliyorum, bir defasında bir yerde okumuştum ama hatırlayamadım. Zamanında üniversitede öğrendiğim anlamlı kod kullanımlarını da bu proje için o kadar da gerekli görmedim. Yine de bunu bir konuşabiliriz.

Dikkat Edilesi Hususlar

  • TCMB API'ı, Türkiye'de tatil olan tarihlerde hata kodu ile cevap dönüyor. Hafta sonu da bu şekilde. Şanssız olmanız ve bu şekilde bir tarihi ikinci parametrede argüman olarak kullanmanız durumunda hata kodlu bir hata alacaksınız. Şimdilik bu durum için bir önceki tatil olmayan günün verisini çekip dönme şeklinde bir çözüm uygulamadım. Çünkü Türkiye'de çok fazla tatil olan tarihler var. Eğer bu durumu çözmeye yönelik bir katkıda bulunmak istiyorsanız bana email ile ulaşın, tabi sizden önce halletmezsem.

Not: O anki bulunduğunuz günün verisini çekmeye çalıştığınızda, o gün tatil bile olsa, son iş gününün verisini alıyor olacaksınız.

  • yılından önce hiçbir veri sunulmuyor. Tam olarak söylemek gerekirse, API yalnızca 16 Nisan ve sonrasındaki tarihler için kullanılabilir.

  • Veri türü karakter duyarlı. Yani argüman olarak kullanırken büyük küçük yazımına dikkat etmeniz gerekmekte.

Bağlı Paketler

  • request: HTTP sunucu istekleri için kullanılıyor.
  • xml2js: XML'i JSON'a çevirmek için kullanılıyor.
  • iconv-lite: Karakter encoding'i için kullanılıyor.

Geliştirici

  • Ali Sabri GÖK - Bana @alisabrigok ile Twitter'dan ulaşabilir, email atabilir veya websitemi ziyaret edebilirsin.

Katkıda Bulunmak

Tek başına yazılan hiçbir kod tam anlamıyla mükemmel değildir. Şuan belki bu kütüphaneninkiler 'yani' bile olmayabilir. O zaman az laf, çok iş. Öyleyse katkıda bulun ve birlikte düzeltelim, geliştirelim. Açık kaynak kodlu olan şeylerin mantığı da bu zaten.

Açıkcası yazarken baktım ki, başlangıçtaki basit bir kütüphane yazma fikrim geliştirmeye devam ettikçe daha da çok özellik sunabilmek amacıyla plansız bir şekilde büyümeye başlıyor, kodların kalitesizleşmemesi için bu plansızlığa dur deyip kütüphaneyi yayınlama kararı aldım. Proje daha da fazla temizlenip, büyütülebilir. Ama şimdilik bu kadar. Kullanıp beğendiysen ve işine yaradıysa teşekkürler.

Sonsöz

  • Kedilerim Fındık ve Minnak'a teşekkürü bir borç bilirim. Sağolun çocuklar.

Lisans

Bu proje MIT Lisansı ile lisanslanmıştır - detaylar için funduszeue.info dosyasına bir göz atın.

nest...

çamaşır makinesi ses çıkarması topuz modelleri kapalı huawei hoparlör cızırtı hususi otomobil fiat doblo kurbağalıdere parkı ecele sitem melih gokcek jelibon 9 sınıf 2 dönem 2 yazılı almanca 150 rakı fiyatı 2020 parkour 2d en iyi uçlu kalem markası hangisi doğduğun gün ayın görüntüsü hey ram vasundhara das istanbul anadolu 20 icra dairesi iletişim silifke anamur otobüs grinin 50 tonu türkçe altyazılı bir peri masalı 6. bölüm izle sarayönü imsakiye hamile birinin ruyada bebek emzirdigini gormek eşkiya dünyaya hükümdar olmaz 29 bölüm atv emirgan sahili bordo bereli vs sat akbulut inşaat pendik satılık daire atlas park avm mağazalar bursa erenler hava durumu galleria avm kuaför bandırma edirne arası kaç km prof dr ali akyüz kimdir venom zehirli öfke türkçe dublaj izle 2018 indir a101 cafex kahve beyazlatıcı rize 3 asliye hukuk mahkemesi münazara hakkında bilgi 120 milyon doz diyanet mahrem açıklaması honda cr v modifiye aksesuarları ören örtur evleri iyi akşamlar elle abiye ayakkabı ekmek paparası nasıl yapılır tekirdağ çerkezköy 3 zırhlı tugay dört elle sarılmak anlamı sarayhan çiftehan otel bolu ocakbaşı iletişim kumaş ne ile yapışır başak kar maydonoz destesiyem mp3 indir eklips 3 in 1 fırça seti prof cüneyt özek istanbul kütahya yol güzergahı aski memnu soundtrack selçuk psikoloji taban puanları senfonilerle ilahiler adana mut otobüs gülben ergen hürrem rüyada sakız görmek diyanet pupui petek dinçöz mat ruj tenvin harfleri istanbul kocaeli haritası kolay starbucks kurabiyesi 10 sınıf polinom test pdf arçelik tezgah üstü su arıtma cihazı fiyatları şafi mezhebi cuma namazı nasıl kılınır ruhsal bozukluk için dua pvc iç kapı fiyatları işcep kartsız para çekme vga scart çevirici duyarsızlık sözleri samsung whatsapp konuşarak yazma palio şanzıman arızası