Kripto Ticaretini Kolaylaştırmak için Kraken API'sini Nasıl Kullanılır

Bu rehber, Kraken API'sini kullanarak temel özellikleri, ticaret uygulamalarını, piyasa takibini ve portföy yönetimini kapsar.

Efe Demir

Efe Demir

5 June 2025

Kripto Ticaretini Kolaylaştırmak için Kraken API'sini Nasıl Kullanılır

The Kraken API, geliştiricilere dünyanın önde gelen kripto para borsalarından birine güçlü bir arayüz sağlar. İster alım satım uygulamaları geliştiriyor, ister piyasaları izliyor veya kripto para portföylerini yönetiyor olun, bu kılavuz, Kraken'in API yeteneklerinin ve uygulama yaklaşımlarının temel özelliklerinde gezinmenize yardımcı olacaktır.

💡
Kraken API'sine dalmadan önce, API testini ve entegrasyonunu basitleştiren ücretsiz bir araç olan Apidog'a göz atın. Apidog'un kullanıcı dostu arayüzü, API iş akışlarınızı hata ayıklamayı ve optimize etmeyi kolaylaştırır, size zaman ve çaba tasarrufu sağlar.
button

Kraken API Nedir?

Kraken'in API'si, geliştiricilerin borsanın işlevselliğine bir RESTful arayüzü aracılığıyla programlı olarak erişmelerine olanak tanır. Bu API ile şunları yapabilirsiniz:

API Erişimi İçin Kurulum

Kraken Hesabınızı Oluşturma

API'yi kullanmadan önce şunları yapmanız gerekir:

  1. kraken.com adresinden bir Kraken hesabı için kaydolun
  2. Kullanım ihtiyaçlarınıza göre doğrulama gereksinimlerini tamamlayın
  3. Gelişmiş güvenlik için iki faktörlü kimlik doğrulamayı (2FA) etkinleştirin

API Anahtarları Oluşturma

API ile etkileşim kurmak için, uygun izinlere sahip API anahtarları oluşturun:

  1. Kraken hesabınıza giriş yapın
  2. Bağlantı & API'ye gidin

3. Yeni Anahtar Oluştur'a tıklayın

4. Uygun izinleri ayarlayın:

⚠️ GÜVENLİK UYARISI
- API anahtarlarını güvenli bir şekilde saklayın ve özel anahtarınızı asla paylaşmayın
- API anahtar izinlerini yalnızca gerekli olanlarla sınırlandırın
- IP adresi kısıtlamaları uygulamayı düşünün

API Yapısını Anlama

Kraken API'si mantıksal bir yapıya göre düzenlenmiştir:

API Temel URL'si ve Uç Noktalar

Tüm API istekleri temel URL ile başlar: https://api.kraken.com

Geçerli API sürümü, URL yolunda /0/ ile belirtilir, ardından şunlardan biri gelir:

Yanıt Biçimi

Tüm API yanıtları standart bir JSON biçimini izler:

{
  "error": [],
  "result": { /* Yanıt verileri */ }
}

İlk API İsteklerinizi Yapma

Genel API İstekleri

Genel uç noktalar, kimlik doğrulaması gerektirmeden piyasa verileri sağlar.

Örnek: Borsa Bilgisi Alma

import requests

# Bitcoin için USD cinsinden borsa bilgisi alın
response = requests.get('https://api.kraken.com/0/public/Ticker?pair=XBTUSD')
ticker_data = response.json()

if not ticker_data['error']:
    btc_data = ticker_data['result']['XXBTZUSD']
    print(f"BTC/USD Son İşlem Fiyatı: {btc_data['c'][0]}")
    print(f"BTC/USD 24 saatlik Hacim: {btc_data['v'][1]}")
else:
    print(f"Hata: {ticker_data['error']}")

Örnek: Emir Defteri Verileri

fetch('https://api.kraken.com/0/public/Depth?pair=ETHUSD&count=5')
  .then(response => response.json())
  .then(data => {
    if (data.error.length === 0) {
      const orderbook = data.result.XETHZUSD;
      console.log("ETH/USD Emir Defteri İlk 5 Teklif:", orderbook.bids);
      console.log("ETH/USD Emir Defteri İlk 5 İstek:", orderbook.asks);
    }
  });

Özel API Kimlik Doğrulaması

Özel uç noktalar, aşağıdakileri içeren bir işlem yoluyla API anahtarlarınızla kimlik doğrulaması gerektirir:

  1. Bir nonce (artan sayı) oluşturma
  2. HMAC-SHA512 kullanarak bir istek imzası oluşturma
  3. API anahtarınız ve imzanızla isteği gönderme

Kimlik Doğrulama Uygulaması

import time
import base64
import hashlib
import hmac
import urllib.parse
import requests

def kraken_request(api_key, api_sec, endpoint, data=None):
    """Kraken API'sine kimliği doğrulanmış bir istek yapın"""
    if data is None:
        data = {}
        
    api_url = "https://api.kraken.com"
    
    # Verilere nonce ekleyin
    data['nonce'] = str(int(time.time() * 1000))
    
    # İmza için verileri kodlayın
    encoded_data = urllib.parse.urlencode(data)
    
    # İmza oluşturun
    signature_data = (data['nonce'] + encoded_data).encode()
    message = endpoint.encode() + hashlib.sha256(signature_data).digest()
    signature = hmac.new(base64.b64decode(api_sec), message, hashlib.sha512)
    signature_digest = base64.b64encode(signature.digest()).decode()
    
    # Başlıkları ayarlayın
    headers = {
        'API-Key': api_key,
        'API-Sign': signature_digest
    }
    
    # İstek gönderin
    response = requests.post(api_url + endpoint, headers=headers, data=data)
    return response.json()

Temel API İşlevselliği

Hesap Bilgileri

Hesap Bakiyesini Kontrol Etme

balance = kraken_request(api_key, api_secret, "/0/private/Balance")

if not balance['error']:
    for asset, amount in balance['result'].items():
        print(f"{asset}: {amount}")

Emir Yönetimi

Piyasa Emri Verme

# 0.01 BTC'yi piyasa fiyatından satın alma parametreleri
order_params = {
    'pair': 'XBTUSD',
    'type': 'buy',
    'ordertype': 'market',
    'volume': '0.01'
}

order_result = kraken_request(api_key, api_secret, "/0/private/AddOrder", order_params)

if not order_result['error']:
    print(f"Emir verildi! İşlem Kimliği: {order_result['result']['txid'][0]}")

Limit Emri Verme

# 0.01 BTC'yi 50.000$'dan satma parametreleri
limit_params = {
    'pair': 'XBTUSD',
    'type': 'sell',
    'ordertype': 'limit',
    'price': '50000',
    'volume': '0.01'
}

limit_result = kraken_request(api_key, api_secret, "/0/private/AddOrder", limit_params)

Açık Emirleri Sorgulama

open_orders = kraken_request(api_key, api_secret, "/0/private/OpenOrders")

if not open_orders['error']:
    orders = open_orders['result']['open']
    for order_id, details in orders.items():
        print(f"ID: {order_id}")
        print(f"Tür: {details['descr']['type']} {details['descr']['ordertype']}")
        print(f"Çift: {details['descr']['pair']}")

Kraken API ile APIdog Kullanma

APIdog, Kraken API entegrasyonlarınızı geliştirmek, test etmek ve belgelemek için güçlü bir platform sunar. İşte APIdog'u akıcı geliştirme için nasıl kullanacağınız:

APIdog'da Kraken API'sini Kurma

Yeni Bir Proje Oluşturun

Ortam Değişkenlerini Yapılandırın

Uç Noktaları İçe Aktarın veya Oluşturun

APIdog'da Kraken Kimlik Doğrulamasını Uygulama

APIdog, Kraken'in özel kimlik doğrulamasını ayarlamayı kolaylaştırır:

  1. Gerekli kimlik doğrulamasını oluşturmak için bir Ön İstek Komut Dosyası oluşturun:
// Kraken kimlik doğrulaması için Ön İstek komut dosyası
const crypto = require('crypto-js');

// Ortam değişkenlerini alın
const apiKey = pm.environment.get("API_KEY");
const apiSecret = pm.environment.get("API_SECRET");

// İstek gövdesine nonce ekleyin
const nonce = Date.now() * 1000;
pm.request.body.update({
    mode: 'urlencoded',
    urlencoded: [
        ...pm.request.body.urlencoded.all(),
        {key: 'nonce', value: nonce.toString()}
    ]
});

// İstek yolunu alın
const path = pm.request.url.getPathWithQuery().replace(/\?.*/, '');

// İmza oluşturun
const postData = pm.request.body.urlencoded.toString();
const message = path + crypto.SHA256(nonce.toString() + postData).toString();
const signature = crypto.enc.Base64.stringify(
    crypto.HmacSHA512(message, crypto.enc.Base64.parse(apiSecret))
);

// Başlıkları ayarlayın
pm.request.headers.add({key: 'API-Key', value: apiKey});
pm.request.headers.add({key: 'API-Sign', value: signature});

APIdog ile Test Etme ve Belgeleme

Test İstekleri Oluşturun

Test Komut Dosyaları Ekleyin

// Bakiye uç noktası için örnek test komut dosyası
pm.test("Yanıt durumu 200", () => {
  pm.response.to.have.status(200);
});

pm.test("Hata döndürülmedi", () => {
  const response = pm.response.json();
  pm.expect(response.error).to.be.an('array').that.is.empty;
});

pm.test("Bakiye verileri mevcut", () => {
  const response = pm.response.json();
  pm.expect(response.result).to.exist.and.to.be.an('object');
});

Belge Oluşturun

Paylaşın ve İşbirliği Yapın

Geliştirme için APIdog Sahte Sunucuları

Geliştirme sırasında, Kraken API yanıtlarını simüle etmek için APIdog'un sahte sunucularını kullanabilirsiniz:

  1. Her uç nokta için örnek yanıtlar oluşturun
  2. İstek parametrelerine göre yanıt kurallarını yapılandırın
  3. Canlı yayına geçmeden önce uygulamanızı sahte yanıtlarla test edin

Bu yaklaşım, daha hızlı geliştirme döngüleri sağlar ve geliştirme sırasında API hız sınırlarına takılmaktan korur.

Kraken API Entegrasyonu İçin En İyi Uygulamalar

Hız Sınırlaması ve Optimizasyon

Kraken, belirli hız sınırları uygular:

Bunları etkili bir şekilde işlemek için:

Hata İşleme

API etkileşimleri için sağlam hata işleme uygulayın:

def safe_api_call(api_function, max_retries=3):
    """Yeniden deneme mantığı ile API çağrıları için sarmalayıcı"""
    retries = 0
    while retries < max_retries:
        try:
            response = api_function()
            
            if 'error' in response and response['error']:
                error = response['error'][0]
                
                # Hız sınırlamasını işleyin
                if 'EAPI:Rate limit' in error:
                    sleep_time = (2 ** retries)  # Üstel geri alma
                    time.sleep(sleep_time)
                    retries += 1
                    continue
                else:
                    return None
            
            return response['result']
            
        except Exception as e:
            time.sleep(2 ** retries)
            retries += 1
    
    return None

Güvenlik Hususları

  1. API kimlik bilgilerini güvenli bir şekilde saklayın - Bunları uygulamalarınızda asla kodlamayın
  2. Kraken API anahtar ayarlarınızda IP kısıtlamaları uygulayın
  3. Her API anahtarı için minimum gerekli izinleri kullanın
  4. Yetkisiz erişim için API kullanımını izleyin
  5. API anahtarlarını periyodik olarak döndürün

Yaygın Kullanım Alanları

Piyasa Verilerini İzleme

def monitor_price(pair, interval=60):
    """Fiyatı düzenli aralıklarla izleyin"""
    while True:
        response = requests.get(f'https://api.kraken.com/0/public/Ticker?pair={pair}')
        data = response.json()
        
        if not data['error']:
            for p, info in data['result'].items():
                price = info['c'][0]
                print(f"{pair} güncel fiyatı: {price}")
        
        time.sleep(interval)

Basit Alım Satım Botu

def simple_trading_strategy(pair, api_key, api_secret):
    """Basit bir alım satım stratejisi örneği"""
    # Hesap bakiyesini alın
    balance = kraken_request(api_key, api_secret, "/0/private/Balance")
    
    # Güncel fiyatı alın
    ticker = requests.get(f'https://api.kraken.com/0/public/Ticker?pair={pair}')
    ticker_data = ticker.json()
    
    if not ticker_data['error']:
        current_price = float(ticker_data['result'][pair]['c'][0])
        
        # Basit strateji: Fiyat dünden %5 düşerse satın al
        yesterday_close = float(ticker_data['result'][pair]['o'])
        
        if current_price < yesterday_close * 0.95:
            print(f"Fiyat %5'ten fazla düştü - satın alma fırsatı")
            # Satın alma mantığını uygulayın

Sonuç

Kraken API, kripto para alım satımı ve portföy yönetimi için güçlü araçlar sağlar. Bu kılavuz, API erişimi, kimlik doğrulama ve yaygın işlemleri kapsıyordu. Geliştirme ve test için APIdog gibi araçlardan yararlanarak, Kraken borsasıyla sorunsuz bir şekilde etkileşim kuran sağlam uygulamalar oluşturabilirsiniz.

En güncel bilgiler ve ayrıntılı uç nokta referansları için her zaman resmi Kraken API belgelerine başvurun. Temel bilgiler konusunda daha rahat hale geldikçe, gerçek zamanlı veriler için WebSocket bağlantıları ve daha gelişmiş alım satım stratejileri gibi gelişmiş özellikleri keşfedebilirsiniz.

İster kişisel bir portföy izleyici oluşturuyor, ister algoritmik alım satım uyguluyor veya kurumsal düzeyde kripto para çözümleri oluşturuyor olun, Kraken API'sine hakim olmak, dijital varlık ekosisteminde önemli olanaklar açar.

Explore more

Fathom-R1-14B: Hindistan'dan Gelişmiş Yapay Zeka Muhakeme Modeli

Fathom-R1-14B: Hindistan'dan Gelişmiş Yapay Zeka Muhakeme Modeli

Yapay zeka hızla gelişiyor. FractalAIResearch/Fathom-R1-14B, 14.8 milyar parametreyle matematik ve genel akıl yürütmede başarılı.

5 June 2025

Mistral Code: İşletmeler için En Özelleştirilebilir Yapay Zeka Destekli Kodlama Asistanı

Mistral Code: İşletmeler için En Özelleştirilebilir Yapay Zeka Destekli Kodlama Asistanı

Mistral Code'u keşfedin: Kurumsal kullanıma özel, en özelleştirilebilir yapay zeka destekli kodlama asistanı.

5 June 2025

Claude Code'un 2025'te Yapay Zeka Kodlamasını Nasıl Dönüştürdüğü

Claude Code'un 2025'te Yapay Zeka Kodlamasını Nasıl Dönüştürdüğü

Claude Code, 2025'te yapay zeka destekli kodlamayı nasıl devrimleştiriyor? Özelliklerini, kullanımını ve Windsurf kısıtlamalarından sonra neden popüler olduğunu öğrenin. Geliştiriciler için okunması gereken!

5 June 2025

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin