Türkiye Cumhuriyeti Merkez Bankası sitesinden XML olarak verileri alarak kullanmanızı sağlayacak Python kodu (nesnesi)'dir. Microservis olarak kullanmak içinde Dockerfile dosyası vardır.
Eğitim ve bilgilendirme amaçlıdır. Ticari bir beklenti yoktur.
Bilginin Alındığı Sayfa : www.tcmb.gov.tr - https://www.tcmb.gov.tr/kurlar/today.xml
Örnek olması için Google Cloud'da örnek kod :
https://dovizkurlari-l6vtviaacq-uc.a.run.app/api/doviz/usd
https://dovizkurlari-l6vtviaacq-uc.a.run.app/api/doviz
https://dovizkurlari-l6vtviaacq-uc.a.run.app/api/doviz/2020/04/01
https://dovizkurlari-l6vtviaacq-uc.a.run.app/api/doviz/2020/04/01/eur
öncelikle docker hub'dan ilgili container image :
docker pull tayfunulu/tl_doviz_kurlari
Manual Çalıştırma (arka ekranda çalıştırma)
docker run --rm -it -d -p 5000:5000 tayfunulu/tl_doviz_kurlari
Docker-Compose dosyası
version: '3'
services:
doviz_microservis:
container_name: tl_doviz_kurlari
image: tayfunulu/tl_doviz_kurlari
restart: always
ports:
- "5000:5000"
Çalışıp çalışmadığını test edelim.
http://makinenin_ipsi:5000/api/doviz
örnek
http://127.0.0.1:5000/api/doviz
Çalışıyorsa aşağıdaki metotları kullanabilirsiniz.
GET -> Güncel kur bilgilerinin tamamını verir.
POST -> JSON ile tarih bilgisi gönderirseniz "gun.ay.yil" formatında "01.04.2020" ilgili günün tüm kurlarını verir. Hangi kuru istediğinizi eklerseniz sadece o kurun bilgileri gelir.
{"tarih":"01.04.2020"}
{"tarih":"01.04.2020","tur":"EUR"}
örnek : /api/Doviz/USD
GET -> Seçilen Kur türünün tüm bilgilerini verir.
POST -> Seçilen Kur türünün arşiv verisini almak için
{"tarih":"01.04.2020"}
örnek : /api/doviz/2020/02/08
GET -> Arşivden ilgili günün tüm kur bilgilerini verir.
örnek : /api/doviz/2020/02/010/USD
GET -> Arşivden ilgili günün seçilen kur bilgilerini verir.
Not : Arşiv özelliğinde tatil günleri için Tatil günü olduğunu belirten bir hata döner
--------------------------
sistemden zip'li olarak çekin veya "git clone" ile direk sistemden clone yapın.
git clone https://github.com/tayfunulu/DovizKurlari.git
cd DovizKurlari
python3 ornek.py
Kendi kodunuzda kullanmak için DovizKurlari.py dosyasını kendi projenizin klasörünüze taşıyın. Sonrasında DovizKurları Nesnesi yaratarak, DegerSor fonksiyonu ile istediğiniz değeri sistemden çekebilirsiniz. "DegerSor" fonksiyonu iki parametre alır.
DegerSor (Parametre1, Parametre2)
* Parametre verilmezse JSON olarak tüm veriler döner
Parametre1 = USD, EUR, AUD gibi para cinsinin resmi kısaltmaları
Parametre2 = Almak istediğiniz değer ;
"BanknoteBuying" : Alış Değeri
"BanknoteSelling" : Satış Değeri
"CrossRateUSD" : USD ile çapraz kur
"CurrencyName" : Resmi Adı
"ForexBuying" : Forex Alış
"ForexSelling" : Forex Satış
"Kod" : Kodu
"Unit" : 1
"isim" : Türkçe Adı
Arşivden veri çekmek
Eski bir tarihteki kur'u ögrenmek için Arsiv veya Arsiv_Tarih fonksiyonlarını kullanabilirsiniz.
Arsiv ( Gun, Ay, Yil,Parametre1, Parametre2)
Gun, Ay, Yil = integer veya string olabilir.
Arsiv_Tarih (Tarih,Parametre1, Parametre2)
Tarih = "01.02.2015" Şeklinde bir string veri olmalıdır.
python3 flask_doviz_server.py
Sonrasında 5000 portu dinlemeye başlar. Kullanımı yukarıda anlatıldığı gibidir.