İçeriğe geç
Geliştiriciler İçin

PHP Altın Fiyatı API Örneği

PHP ile altın fiyatı almak için JSON uç noktasını file_get_contents ya da cURL ile okuyup json_decode ile diziye çevirmeniz yeterlidir. Örnekler PHP 7.4 ve üzerinde çalışır.

File_get_contents ile

En kısa yol budur; sunucunuzda allow_url_fopen açık ve OpenSSL eklentisi yüklü olmalıdır. Örneklerdeki ANAHTARINIZ yerine ücretsiz API anahtarınızı yazın; anahtar X-API-Key başlığıyla ya da ?anahtar= parametresiyle gönderilir.

<?php
$baglam = stream_context_create(['http' => ['header' => "X-API-Key: ANAHTARINIZ\r\n", 'timeout' => 10]]);
$yanit = file_get_contents('https://hesaplialtin.com/api/v1/public-prices', false, $baglam);
if ($yanit === false) {
    exit('Fiyat alınamadı');
}
$veri = json_decode($yanit, true);
$gram = $veri['kalemler']['GRAM_ALTIN_TRY'];
echo 'Gram altın satış: ' . number_format($gram['satis'], 2, ',', '.') . " TL\n";

cURL ile

allow_url_fopen kapalıysa ya da zaman aşımı ve durum kodunu kontrol etmek istiyorsanız cURL kullanın:

<?php
$ch = curl_init('https://hesaplialtin.com/api/v1/public-prices');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_HTTPHEADER => ['Accept: application/json', 'X-API-Key: ANAHTARINIZ'],
]);
$yanit = curl_exec($ch);
$durum = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($yanit === false || $durum !== 200) {
    exit('Fiyat alınamadı (HTTP ' . $durum . ')');
}
$veri = json_decode($yanit, true);
foreach (['GRAM_ALTIN_TRY', 'CEYREK_YENI_TRY', 'USD_TRY'] as $kod) {
    if (!isset($veri['kalemler'][$kod])) {
        continue;
    }
    $k = $veri['kalemler'][$kod];
    printf("%s: alış %s, satış %s\n", $k['etiket'], $k['alis'], $k['satis']);
}

Önbellekli Kullanım ve Kaynak Bağlantısı

Her sayfa görüntülemesinde API'ye gitmek yerine yanıtı bir dosyada 60 saniye tutun. Aşağıdaki işlev API'ye erişilemediğinde son kayıtlı yanıtı kullanır ve fiyatı kaynak bağlantısıyla (isteğe bağlı) yazar:

<?php
function hesapli_altin_fiyatlar(): array
{
    $dosya = sys_get_temp_dir() . '/hesaplialtin-fiyatlar.json';
    if (is_file($dosya) && time() - filemtime($dosya) < 60) {
        return json_decode(file_get_contents($dosya), true);
    }
    $baglam = stream_context_create(['http' => ['header' => "X-API-Key: ANAHTARINIZ\r\n", 'timeout' => 10]]);
    $yanit = @file_get_contents('https://hesaplialtin.com/api/v1/public-prices', false, $baglam);
    if ($yanit === false) {
        return is_file($dosya) ? json_decode(file_get_contents($dosya), true) : [];
    }
    file_put_contents($dosya, $yanit, LOCK_EX);
    return json_decode($yanit, true);
}

$veri = hesapli_altin_fiyatlar();
$satis = $veri['kalemler']['GRAM_ALTIN_TRY']['satis'] ?? null;
if ($satis !== null) {
    echo '<p>Gram altın: ' . htmlspecialchars(number_format($satis, 2, ',', '.')) . ' ₺ '
        . '<small>Kaynak: <a href="https://hesaplialtin.com/">Hesaplı Altın</a></small></p>';
}

Alan adlarının tamamı JSON kılavuzunda, dövizler döviz kuru kılavuzunda. WordPress gibi bir sitede kod yazmadan fiyat göstermek isterseniz fiyat kutusu daha kolaydır.

Kullanım Koşulu

API'yi kullanmak için ücretsiz bir API anahtarı gerekir; anahtar her istekte X-API-Key başlığıyla ya da ?anahtar= parametresiyle gönderilir. 13 Ekim 2026 tarihine kadar anahtarsız istekler de yanıtlanır (yanıtta ek uyari alanı ve Warning başlığı bulunur); bu tarihten sonra anahtarsız istek 401 alır. Sınırlar anahtar başınadır: dakikada 60 istek (anlık fiyat ve geçmiş seri toplamı) ve aynı anda en çok 5 canlı akış bağlantısı; aşılınca 429 döner. Anahtar tek bir site ya da uygulama içindir ve başkasıyla paylaşılmaz; koşullara uyulmadığında ya da kötüye kullanımda anahtar kapatılabilir. Kaynak bağlantısı şart değildir; veriyi gösterdiğiniz sayfada "Kaynak: Hesaplı Altın" bağlantısı (https://hesaplialtin.com/) verirseniz dakika sınırınız iki katına çıkar. Servisi 5 saniyeden sık sorgulamayın; yoğun kullanımda kendi sunucunuzda önbellek tutun. Fiyatlar Kapalıçarşı ve serbest piyasa fiyatlarından hesaplanır, bilgi amaçlıdır ve alım satım teklifi değildir. Veri olduğu gibi sunulur; doğruluk ve kesintisiz erişim garantisi verilmez, servis önceden haber verilmeden değiştirilebilir ya da durdurulabilir ve aşırı kullanımda erişim sınırlanabilir. Kod yazmadan fiyat göstermek isterseniz hazır fiyat kutusunu kullanabilirsiniz.

Fiyatları nasıl hesaplıyoruz? · Sitene altın fiyatı ekle · Altın hesaplama kutusu · Kapalıçarşı altın fiyatları