🇬🇧 Click here for English version
TCMB (Türkiye Cumhuriyet Merkez Bankası) Services Lite, TCMB'nin sunduğu çeşitli verileri ve API'leri kolayca kullanabilmeniz için tasarlanmıştır. Şu an için döviz kurlarını çekme özelliği sunmaktadır, ancak gelecekte TCMB'nin diğer API'lerini de kapsayacak şekilde genişletilebilir.
Sorumluluk Reddi: Bu paket, Türkiye Cumhuriyet Merkez Bankası'nın resmi bir ürünü değildir. Geliştiriciler, kullanımından doğabilecek herhangi bir sorun, tutarsızlık veya zarardan sorumlu değildir.
- PHP 8.1 veya daha üstü
Bu paketi projelerinize eklemek için Composer kullanabilirsiniz:
composer require ceytek-labs/tcmb-services-lite
TCMB Exchange Rates, Türkiye Cumhuriyet Merkez Bankası'ndan günlük döviz kurlarını alır ve çeşitli döviz bilgilerine kolay erişim sağlar.
PHP projelerinizde TCMB Döviz Kurları sınıfını nasıl kullanabileceğinize dair birkaç örnek
use CeytekLabs\TcmbServicesLite\TcmbExchangeRates;
// API den gelen ham XML sonucunu görüntüler
echo TcmbExchangeRates::make()->response();
use CeytekLabs\TcmbServicesLite\TcmbExchangeRates;
// API den gelen ham XML sonucunu JSON formatına dönüştürür ve görüntüler
echo TcmbExchangeRates::make()->jsonContent();
API den gelen verileri nesne veya dizi formatında alabilirsiniz. Nesne formatında camelCase, dizi formatında snake_case kullanılır.
use CeytekLabs\TcmbServicesLite\TcmbExchangeRates;
use CeytekLabs\TcmbServicesLite\Enums\Format;
// Nesne formatında verileri almak
$exchangeRatesObject = TcmbExchangeRates::make()->format(Format::Object)->content();
// Dizi formatında verileri almak
$exchangeRatesArray = TcmbExchangeRates::make()->format(Format::Array)->content();
use CeytekLabs\TcmbServicesLite\TcmbExchangeRates;
use CeytekLabs\TcmbServicesLite\Enums\Format;
// Nesne formatında tüm döviz kurlarını almak
$currenciesObject = TcmbExchangeRates::make()->format(Format::Object)->currencies();
// Dizi formatında tüm döviz kurlarını almak
$currenciesArray = TcmbExchangeRates::make()->format(Format::Array)->currencies();
Belirli bir dövizin verilerini almak için currency()
metodunu kullanabilirsiniz.
use CeytekLabs\TcmbServicesLite\TcmbExchangeRates;
use CeytekLabs\TcmbServicesLite\Enums\Format;
use CeytekLabs\TcmbServicesLite\Enums\Currency;
// Örneğin, Avustralya Doları (AUD) kurunu almak
$australianDollar = TcmbExchangeRates::make()
->format(Format::Object)
->currency(Currency::AustralianDollar)
->find();
Belirli bir dövizin detaylı bilgilerine erişebilirsiniz:
use CeytekLabs\TcmbServicesLite\TcmbExchangeRates;
use CeytekLabs\TcmbServicesLite\Enums\Format;
use CeytekLabs\TcmbServicesLite\Enums\Currency;
// USD dövizinin bilgilerini almak
$exchangeRates = TcmbExchangeRates::make()
->format(Format::Object)
->currency(Currency::UnitedStatesDollar);
// Döviz kodu
echo $exchangeRates->code(); // "USD"
// Türkçe adı
echo $exchangeRates->turkishName(); // "ABD DOLARI"
// İngilizce adı
echo $exchangeRates->englishName(); // "US DOLLAR"
// Birim miktarı
echo $exchangeRates->unit(); // "1"
// Forex alış kuru (Uluslararası piyasalarda ve dijital işlemlerde geçerli olan alış kuru)
echo $exchangeRates->forexBuying();
// Forex satış kuru (Uluslararası piyasalarda ve dijital işlemlerde geçerli olan satış kuru)
echo $exchangeRates->forexSelling();
// Efektif alış kuru (Nakit döviz işlemlerinde geçerli olan alış kuru)
echo $exchangeRates->banknoteBuying();
// Efektif satış kuru (Nakit döviz işlemlerinde geçerli olan satış kuru)
echo $exchangeRates->banknoteSelling();
use CeytekLabs\TcmbServicesLite\TcmbExchangeRates;
use CeytekLabs\TcmbServicesLite\Enums\Format;
print_r(TcmbExchangeRates::make()->format(Format::Object)->content());
Örnek çıktı:
stdClass Object
(
[attributes] => stdClass Object
(
[date] => "2024-09-20 15:30"
[bulletinNumber] => "2024/178"
)
[currencies] => stdClass Object
(
[USD] => stdClass Object
(
[code] => "USD"
[name] => stdClass Object
(
[tr] => "ABD DOLARI"
[en] => "US DOLLAR"
)
[unit] => "1"
[forex] => stdClass Object
(
[buying] => "33.9531"
[selling] => "34.0142"
)
[banknote] => stdClass Object
(
[buying] => "33.9293"
[selling] => "34.0652"
)
)
// Diğer dövizler...
)
)
use CeytekLabs\TcmbServicesLite\TcmbExchangeRates;
use CeytekLabs\TcmbServicesLite\Enums\Format;
print_r(TcmbExchangeRates::make()->format(Format::Array)->content());
Örnek çıktı:
Array
(
[attributes] => Array
(
[date] => "2024-09-20 15:30"
[bulletin_number] => "2024/178"
)
[currencies] => Array
(
[USD] => Array
(
[code] => "USD"
[name] => Array
(
[tr] => "ABD DOLARI"
[en] => "US DOLLAR"
)
[unit] => "1"
[forex] => Array
(
[buying] => "33.9531"
[selling] => "34.0142"
)
[banknote] => Array
(
[buying] => "33.9293"
[selling] => "34.0652"
)
)
// Diğer dövizler...
)
)
Paket aşağıdaki para birimlerini desteklemektedir:
- 🇺🇸 USD: ABD Doları
- 🇦🇺 AUD: Avustralya Doları
- 🇩🇰 DKK: Danimarka Kronu
- 🇪🇺 EUR: Euro
- 🇬🇧 GBP: İngiliz Sterlini
- 🇨🇭 CHF: İsviçre Frangı
- 🇸🇪 SEK: İsveç Kronu
- 🇨🇦 CAD: Kanada Doları
- 🇰🇼 KWD: Kuveyt Dinarı
- 🇳🇴 NOK: Norveç Kronu
- 🇸🇦 SAR: Suudi Arabistan Riyali
- 🇯🇵 JPY: Japon Yeni
- 🇧🇬 BGN: Bulgar Levası
- 🇷🇴 RON: Rumen Leyi
- 🇷🇺 RUB: Rus Rublesi
- 🇮🇷 IRR: İran Riyali
- 🇨🇳 CNY: Çin Yuanı
- 🇵🇰 PKR: Pakistan Rupisi
- 🇶🇦 QAR: Katar Riyali
- 🇰🇷 KRW: Güney Kore Wonu
- 🇦🇿 AZN: Azerbaycan Manatı
- 🇦🇪 AED: Birleşik Arap Emirlikleri Dirhemi
API den gelen yanıt geçersiz ise veya bir hata oluşursa, bir Exception
fırlatılır.
XML formatı geçersiz olduğunda, şu hatayı alırsınız: Invalid XML format. Please check TcmbExchangeRates::make()->getResponse()
Bu paket, TCMB'nin sağladığı diğer veri ve hizmetleri de kapsayacak şekilde genişletilebilir. Örneğin:
- Faiz Oranları: TCMB'nin yayınladığı faiz oranlarını almak.
- Enflasyon Verileri: Güncel enflasyon verilerine erişim.
- Diğer Finansal Veriler: TCMB'nin sunduğu diğer istatistik ve raporları entegre etmek.
Katkıda bulunmak isterseniz, lütfen bir pull request gönderin veya bir sorun bildirin.
Bu proje MIT Lisansı ile lisanslanmıştır.