Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SAR, RUB, IRR, PKR, QAR, AZN, AED, KWD #84

Open
rustemsarica opened this issue Jan 23, 2025 · 7 comments
Open

SAR, RUB, IRR, PKR, QAR, AZN, AED, KWD #84

rustemsarica opened this issue Jan 23, 2025 · 7 comments

Comments

@rustemsarica
Copy link

https://www.tcmb.gov.tr/kurlar/today.xml
https://www.tcmb.gov.tr/kurlar/Ym/dmY.xml

@hakanensari
Copy link
Member

İkinci link çalışmadı, ancak anladığım kadarıyla zaman serileri de var. Daha dikkatli bakacağım. Buradan epey eksik veri toplanabilir, özellikle web arayüzü dışında daha stabil bir kaynak varsa.

https://evds2.tcmb.gov.tr/index.php?/evds/serieMarket/

@rustemsarica
Copy link
Author

rustemsarica commented Jan 26, 2025

https://www.tcmb.gov.tr/kurlar/202412/05122024.xml şu şekilde çalışıyor. Tatil günleri için son rakam döndürmemişler bu sıkıntı oluyor. evds'yi ben de çözemedim.

private function getOthers($date)
    {
        $formattedDate = date("Ym/dmY", strtotime($date));
        $url = Carbon::now()->format('Y-m-d') == $date ? "https://www.tcmb.gov.tr/kurlar/today.xml" : "https://www.tcmb.gov.tr/kurlar/$formattedDate.xml";
        $xmlData = @simplexml_load_file($url);
        if ($xmlData === false) {
            return $this->getOthers(Carbon::createFromDate($date)->subDay(1)->format('Y-m-d'));
        } 
        
        $array = [];
        foreach ($xmlData->Currency as $currency) {
            if(strlen((string)$currency->CrossRateUSD)>0 && !in_array((string)$currency['CurrencyCode'], $this->frankfurterCurrencyCodes)){
                $array[(string)$currency['CurrencyCode']] = (float)$currency->CrossRateUSD;
            }
        }
        return $array;
    } 

bu şekilde kullanıyorum

@rustemsarica
Copy link
Author

https://evds2.tcmb.gov.tr/service/evds/series=TP.DK.RUB.C-TP.DK.SAR.C&startDate=31-01-2024&endDate=31-12-2024&type=json bu şekilde çalışıyor. Dolar karşısında çapraz kur. Tatil günleri için null dönüyor bu apide de. mecburen bir önceki güne bakılacak

@hakanensari
Copy link
Member

hakanensari commented Jan 26, 2025

https://evds2.tcmb.gov.tr/service/evds/series=TP.DK.RUB.C-TP.DK.SAR.C&startDate=31-01-2024&endDate=31-12-2024&type=json

403 veriyor bana bu link.

Belki geofence etmişler. VPN'le Türkiye üzerinden de denedim, ama işe yaramadı.

Günlük linkler çalışıyor, ama 20+ yılın günlerini tek tek indirmek pek mümkün değil Frankfurter bağlamında

@rustemsarica
Copy link
Author

Bunun için headera key girmen gerekiyor. hesap oluşturup profil kısmından key'i alabilirsin

@hakanensari
Copy link
Member

Süper, Frankfurter'e yeni kaynaklar eklemeye başladığımda, ilklerinden biri TCMB olacak, teşekkürler @rustemsarica

@rustemsarica rustemsarica changed the title SAR, RUB, IRR, PKR, QAR, AZN, AED SAR, RUB, IRR, PKR, QAR, AZN, AED, KWD Jan 27, 2025
@rustemsarica
Copy link
Author

Rica ederim @hakanensari, TP.DK.RUB.C yerine TP.DK.RUB.A kullanarak TP.DK.USD.A (TP.DK.EUR.A) / TP.DK.RUB.A daha iyi olacaktır. Çapraz kurları değerli para birimine göre alıyormuş. (1 USD 35 TRY - 1 KWD 3.5 USD şeklinde)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants