Günümüzde sanal paralar oldukça fazla kullanılmaktadır. Bizde kendi projelerimizde sanal para birimlerini kullanmak için güncel kur bilgilerini çekmemiz gerekiyor. Bu hizmeti alabileceğimiz birçok site bulunmaktadır. Bizim işlem yapacağımız site coinmarketcap.com’dur. Hem tüm coinleri barındırması hemde anlık değişimleri hemen göstermesi sebebiyle bu siteyi tercih ettim. Free paketi kullanılacağız. Bu pakette aylık 10 bin api isteğini ücretsiz olarak vermektedir. Eğer bu paket size yetersiz gelirse https://coinmarketcap.com/api/pricing/ buradan diğer paketlere bakıp uygun paketi satın alabilirsiniz.
İlk olarak coinmarketcap’e kayıt oluyoruz. Kayıt olduktan giriş yaptığınızda karşınıza direk api bölümü gelecektir. Buradan apiyi kopyalamamız yeterlidir.
https://coinmarketcap.com/api/documentation/v1/ api döküman sayfası üzerinden diğer servislere erişebilirsiniz.
Kullanacağımız servis Listings Latest servisidir. https://coinmarketcap.com/api/documentation/v1/#operation/getV1CryptocurrencyListingsLatest buradan servisi çağırırken kullanacağınız diğer parametrelere bakabilirsiniz.
Herhangi bir kütüphaneye ihtiyaç duymadan direk curl üzerinden çekim yapılmaktadır. Aşağıdaki örnek kodlarda 'X-CMC_PRO_API_KEY: XXXXXXXXXXX' bölümündeki X işaretleri yerine kendi api kodumuzu yazmamız yeterlidir. Verileri json çıktı olarak vermektedir. Buradan sonrası size kalmıştır cron job ile dakika da 1 istek göndererek gelen sonucu bir json yada php dosyasına direk array olarak aktarıp kullanabilirsiniz. Bu şekilde her seferinde istek atmamış ve kotanızı boş yere doldurmamış olabilirsiniz.
<?php
$url = 'https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest';
$parameters = [ 'start' => '1', 'limit' => '5000', 'convert' => 'USD'
];
$headers = [ 'Accepts: application/json', 'X-CMC_PRO_API_KEY: XXXXXXXXXXX'
];
$qs = http_build_query($parameters);
$request = "{$url}?{$qs}";
$curl = curl_init();
curl_setopt_array($curl, array( CURLOPT_URL => $request, CURLOPT_HTTPHEADER => $headers, CURLOPT_RETURNTRANSFER => 1
));
$response = curl_exec($curl);
echo "<pre>";
print_r(json_decode($response));
echo "</pre>";
curl_close($curl);
?>
Takıldığınız yerleri yorumda belirtirseniz yardımcı olabiliriz.
Demo: http://dosyalar.sitenikur.com/php-ile-sanal-paralarin-guncel-fiyatlarini-cekme/
İndir: https://dosyalar.sitenikur.com/php-ile-sanal-paralarin-guncel-fiyatlarini-cekme.rar