Güncel Döviz Kurları API: Web Sitenize Entegre Edin
İçindekiler
Döviz Kurları API Kullanım Rehberi
API Genel Bakış
Döviz Kurları API'si, güncel döviz kurlarını JSON formatında sunan bir servistir. Bu API, web uygulamaları ve mobil platformlar için güncel kur bilgilerine kolay erişim sağlar.
API URL: https://api.teknikzeka.net/doviz/api.php
Temel Kullanım
API'yi kullanmak için basitçe belirtilen URL'ye HTTP GET isteği yapmanız yeterlidir:
GET https://api.teknikzeka.net/doviz/api.php
Yanıt Formatı
API başarılı olduğunda aşağıdaki yapıda bir JSON yanıtı döndürür:
{
"success": true,
"timestamp": 1744889160,
"date": "2025-04-17 14:26:00",
"source": "teknikzeka.net",
"data": [
{
"code": "USD",
"name": "Dolar",
"buy": "38,11487",
"sell": "38,12040",
"change": "-0.05%",
"change_direction": "down",
"last_update": "14:25:51",
"timestamp": 1744889160
},
{
"code": "EUR",
"name": "Euro",
"buy": "43,57588",
"sell": "43,65596",
"change": "0.33%",
"change_direction": "up",
"last_update": "14:25:53",
"timestamp": 1744889160
},
{
"code": "GBP",
"name": "Sterlin",
"buy": "50,3716",
"sell": "50,6241",
"change": "-0.32%",
"change_direction": "down",
"last_update": "14:25:46",
"timestamp": 1744889160
}
]
}
Yanıt Alanları
- success: İşlem durumu (
trueveyafalse) - timestamp: Unix timestamp formatında yanıt zamanı
- date: İnsan tarafından okunabilir tarih ve saat (Türkiye saati, UTC+3)
- source: Veri kaynağı
- data: Para birimleri bilgilerini içeren dizi
- code: Para birimi kodu (USD, EUR, GBP vb.)
- name: Para birimi adı (Dolar, Euro, Sterlin)
- buy: Alış kuru (Virgülle ayrılmış)
- sell: Satış kuru (Virgülle ayrılmış)
- change: Bir önceki değere göre değişim yüzdesi
- change_direction: Değişim yönü ("up" veya "down")
- last_update: Son güncelleme saati
- timestamp: Unix timestamp formatında güncelleme zamanı
Kod Örnekleri
JavaScript (Fetch API)
// Döviz kurlarını getir
fetch('https://api.teknikzeka.net/doviz/api.php')
.then(response => response.json())
.then(data => {
if (data.success) {
console.log(`Güncel Döviz Kurları (${data.date})`);
data.data.forEach(currency => {
console.log(`${currency.name} (${currency.code}): Alış ${currency.buy}, Satış ${currency.sell}`);
console.log(`Değişim: ${currency.change} (${currency.change_direction === 'up' ? '↑' : '↓'})`);
});
} else {
console.error('Veri alınamadı');
}
})
.catch(error => console.error('Bağlantı hatası:', error));
PHP
<?php
// Döviz kurlarını getir
$response = file_get_contents('https://api.teknikzeka.net/doviz/api.php');
$data = json_decode($response, true);
if ($data['success']) {
echo "Güncel Döviz Kurları ({$data['date']})\n";
foreach ($data['data'] as $currency) {
echo "{$currency['name']} ({$currency['code']}): ";
echo "Alış {$currency['buy']}, Satış {$currency['sell']}\n";
$arrow = $currency['change_direction'] === 'up' ? '↑' : '↓';
echo "Değişim: {$currency['change']} {$arrow}\n";
}
} else {
echo "Veri alınamadı\n";
}
?>
Python
import requests
# Döviz kurlarını getir
response = requests.get('https://api.teknikzeka.net/doviz/api.php')
data = response.json()
if data['success']:
print(f"Güncel Döviz Kurları ({data['date']})")
for currency in data['data']:
print(f"{currency['name']} ({currency['code']}): "
f"Alış {currency['buy']}, Satış {currency['sell']}")
arrow = '↑' if currency['change_direction'] == 'up' else '↓'
print(f"Değişim: {currency['change']} {arrow}")
else:
print("Veri alınamadı")
Web Sayfasında Kullanım
HTML ve JavaScript ile web sayfasında döviz kurlarını gösterme örneği:
<!DOCTYPE html>
<html>
<head>
<title>Güncel Döviz Kurları</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
body {
font-family: Arial, sans-serif;
max-width: 800px;
margin: 0 auto;
padding: 20px;
}
table {
width: 100%;
border-collapse: collapse;
margin-top: 20px;
}
th, td {
padding: 12px;
text-align: center;
border-bottom: 1px solid #ddd;
}
th {
background-color: #f2f2f2;
}
.up {
color: green;
}
.down {
color: red;
}
.updated {
font-size: 0.8em;
color: #666;
}
</style>
</head>
<body>
<h1>Güncel Döviz Kurları</h1>
<p id="last-updated" class="updated"></p>
<table>
<thead>
<tr>
<th>Para Birimi</th>
<th>Alış</th>
<th>Satış</th>
<th>Değişim</th>
<th>Son Güncelleme</th>
</tr>
</thead>
<tbody id="currency-data">
<tr><td colspan="5">Yükleniyor...</td></tr>
</tbody>
</table>
<script>
async function loadCurrencies() {
try {
const response = await fetch('https://api.teknikzeka.net/doviz/api.php');
const data = await response.json();
if (data.success) {
document.getElementById('last-updated').textContent =
`Son Güncelleme: ${data.date}`;
const tableBody = document.getElementById('currency-data');
tableBody.innerHTML = '';
data.data.forEach(currency => {
const row = document.createElement('tr');
const changeClass = currency.change_direction === 'up' ? 'up' : 'down';
const changeArrow = currency.change_direction === 'up' ? '↑' : '↓';
row.innerHTML = `
<td><strong>${currency.name}</strong> (${currency.code})</td>
<td>${currency.buy}</td>
<td>${currency.sell}</td>
<td class="${changeClass}">${changeArrow} ${currency.change}</td>
<td>${currency.last_update}</td>
`;
tableBody.appendChild(row);
});
} else {
document.getElementById('currency-data').innerHTML =
`<tr><td colspan="5">Veri alınamadı</td></tr>`;
}
} catch (error) {
document.getElementById('currency-data').innerHTML =
`<tr><td colspan="5">Bağlantı hatası: ${error.message}</td></tr>`;
}
}
// Sayfa yüklendiğinde kurları getir
loadCurrencies();
// 5 dakikada bir otomatik güncelle
setInterval(loadCurrencies, 5 * 60 * 1000);
</script>
</body>
</html>
Not ve Öneriler
- API'nin yoğun kullanımı sunucu kaynaklarını tüketebilir, bu nedenle istekleri makul aralıklarla yapın
- Web uygulamalarında döviz bilgilerini 5-10 dakikada bir güncellemek yeterli olacaktır
- Virgülle ayrılmış sayıları hesaplamada kullanmak için, virgülü noktaya dönüştürmeyi unutmayın
- Ticari uygulamalarda gerçek döviz kuru işlemleri için bankaların kendi kurlarını kullanın
Bu API, Türkiye Cumhuriyet Merkez Bankası'nın resmi bir servisi değildir ve teknikzeka.net tarafından sağlanmaktadır. Resmi işlemler için bankaların kendi kurlarını kontrol etmeniz önerilir.


0 Yorum