Gelişmiş API SSS

Son güncelleme: 25 Kasım 2025

Müşteriler, REST API fonlama uç noktalarını kullanarak Kraken hesaplarına fon yatırabilir/çekebilir ve bir yatırma/çekme işleminin gerçek zamanlı durumunu talep edebilirler.

Yatırma/çekme işlemleri, başlangıç talebi ile işlemin tamamlanması arasında birkaç aşamadan geçer, bu nedenle fonlama uç noktaları, çağrıldıkları zamana bağlı olarak farklı bir durum değeri döndürecektir.

Durum değerlerinin aslen İnternet Finansal Değişim Protokolü (IFEX) belgesinin 16/17. sayfalarından alındığını ancak bu değerlerin kripto işlemlerine daha uygun hale getirilmek üzere biraz değiştirildiğini (örneğin, tüm olası durum değerleri kullanılmamaktadır) unutmayın.

Para yatırma

Yatırma işlemleri için olası durum değerleri şunlardır:

  • Ödendi = Yatırma işlemi alınmış ancak blockchain üzerinde ek onaylar gereklidir.

  • Başarılı = Yatırma işlemi blockchain üzerinde gerekli onay sayısına ulaşmıştır.

  • Başarısız =Yatırma işlemi başarısız oldu (bir veya birden fazla farklı nedenden dolayı).

Aşağıda, yukarıdaki durum değerlerinin DepositStatus uç noktasından gelen yanıtlarda nasıl görüneceğine dair bazı örnekler verilmiştir:

Ödendi durumu:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"QSB7IFM-Q3LT3X-NVAOKE","txid":"92c908ea2ea819d678d67130e4d20b625a8f97f3cfff45f906dde8cef41a046a","info":"D7SLwMBPqfFMCZ8EJDMoVEePpZAFFegLt8","amount":"997.00000000","fee":"0.00000000","time":1611308478,"status":"Settled"}]}

Başarılı durum:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"QSB7IFM-Q3LT3X-NVAOKE","txid":"92c908ea2ea819d678d67130e4d20b625a8f97f3cfff45f906tdde8cef41a046a","info":"D7SLwMBPqfFMCZ8EJDMoVEePpZAFFegLt8","amount":"997.00000000","fee":"0.00000000","time":1611308478,"status":"Success"}]}

Para çekme

Çekme işlemleri için olası durum değerleri şunlardır:

  • Başlangıç = Çekme talebi alınmış ve geçerliliği (hesaptaki herhangi bir fonlama kısıtlaması vb.) kontrol ediliyor.

  • Beklemede = Çekme, fonlama geçidimiz tarafından işlenmeyi bekliyor.

  • Ödendi = Çekme blockchain'e gönderilmiştir (bu noktada blockchain işlem kimliği mevcut olacaktır).

  • Başarılı = Çekme işleminin blockchain üzerinde en az 1 onayı vardır.

  • Beklemede = Çekme işlemi beklemeye alındı ve fonlama ekibimiz tarafından manuel olarak kontrol edilmesi gerekiyor.

  • Başarısız = Çekme işlemi başarısız oldu (bir veya birden fazla farklı nedenden dolayı).

Aşağıda, yukarıdaki durum değerlerinin WithdrawStatus uç noktasından gelen yanıtlarda nasıl görüneceğine dair bazı örnekler verilmiştir:

Başlangıç durumu:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"ASBCMYC-F5ETQT-34NMWT","txid":null,"info":"DGNBPsa2GhhtZGEZo79uF3WN2bTxFxmc9y","amount":"98.00000000","fee":"2.00000000","time":1612782924,"status":"Initial"}]}

Beklemede durumu:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"ASBCMYC-F5ETQT-34NMWT","txid":null,"info":"DGNBPsa2GhhtZGEZo79uF3WN2bTxFxmc9y","amount":"98.00000000","fee":"2.00000000","time":1612782924,"status":"Pending"}]}

Ödendi durumu:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"ASBCMYC-F5ETQT-34NMWT","txid":"064536e901f2cbfa6e279aa7a87c700b64e0ce561bf6e266788c47496f75106c","info":"DGNBPsa2GhhtZGEZo79uF3WN2bTxFxmc9y","amount":"98.00000000","fee":"2.00000000","time":1612782924,"status":"Settled"}]}

Başarılı durum:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"ASBCMYC-F5ETQT-34NMWT","txid":"064536e901f2cbfa6e279aa7a87c700b64e0ce561bf6e266788c47496f75106c","info":"DGNBPsa2GhhtZGEZo79uF3WN2bTxFxmc9y","amount":"98.00000000","fee":"2.00000000","time":1612782924,"status":"Success"}]}

Hata durumu:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"ASBCMYC-F5ETQT-34NMWT","txid":null,"info":"DGNBPsa2GhhtZGEZo79uF3WN2bTxFxmc9y","amount":"98.00000000","fee":"2.00000000","time":1612782924,"status":"Failure","status-prop":"canceled"}]}}

Yatırma/çekme ile ilgili ek bilgiler, nakit fonlama ve kripto fonlama destek sayfalarımızdan temin edilebilir.

REST API OHLC uç noktası, yalnızca sınırlı miktarda geçmiş veri, özellikle de istenen aralığın 720 veri noktasını sağlar. Örneğin, 1 dakikalık aralıklarla OHLC verisi istemek, en son 720 dakikalık (12 saatlik) veriyi döndürecektir.

Ek OHLC veya tick verisi gerektiren uygulamalar için, piyasalarımızın tüm işlem geçmişini (geçmiş zaman ve satışlar) REST API Trades uç noktası aracılığıyla almak mümkündür. Herhangi bir zaman dilimi ve aralık için OHLC, geçmiş zaman ve satış verilerinden oluşturulabilir.

Trades uç noktası, verilerin başlangıç tarihini/saatini belirten since adlı isteğe bağlı bir parametre alır. since değeri, nanosaniye çözünürlüğünde bir UNIX zaman damgasıdır (9 ek basamaklı saniye cinsinden standart bir UNIX zaman damgası).

Örneğin, Trades uç noktasına yapılan bir çağrı, örneğin https://api.kraken.com/0/public/Trades?pair=xbtusd&since=1559347200000000000 XBT/USD için 1 Haziran 2019 saat 00:00:00 UTC'den itibaren geçmiş zaman ve satışları döndürecektir:

{"error":[],"result":{"XXBTZUSD":[["8552.90000","0.03190270",1559347203.7998,"s","m",""],["8552.90000","0.03155529",1559347203.8086,"s","m",""],["8552.90000","0.00510797",1559347203.9664,"s","m",""],["8552.90000","0.09047336",1559347203.9789,"s","m",""],["8552.90000","0.00328738",1559347203.9847,"s","m",""],["8552.90000","0.00492152",1559347203.9897,"s","m",""],["8552.90000","0.00201848",1559347203.9937,"s","m",""],["8552.90000","0.11422068",1559347203.9993,"s","m",""],["8552.90000","0.00425858",1559347204.071,"s","m",""],["8552.90000","0.00427679",1559347204.0762,"s","m",""],["8552.90000","0.06381401",1559347204.1662,"s","m",""]
...
["8579.50000","0.05379597",1559350785.248,"s","l",""],["8579.50000","0.94620403",1559350785.2936,"s","l",""],["8578.10000","0.45529068",1559350785.297,"s","l",""]],"last":"1559350785297011117"}}

Trades uç noktasına yapılan sonraki çağrılar, since parametresinin değerini, önceki çağrının sonuçlarından gelen last parametresinin değeriyle değiştirmelidir, örneğin https://api.kraken.com/0/public/Trades?pair=xbtusd&since=1559350785297011117.

Özel since değeri olan 0 (sıfır) kullanmak, piyasanın başlangıcından (ilk işlemden başlayarak) itibaren geçmiş zaman ve satışları döndürecektir.

Kullanıcı referansı, bazı emir yönetim görevlerinde (özellikle emir iptali) gerçek (API tarafından sağlanan) emir kimliği yerine kullanılabilecek bir müşteri tarafından sağlanan emir kimliğidir.

Kullanıcı referansları mümkün olduğunca esnek olacak şekilde uygulanır ve bu nedenle aşağıdakiler de dahil olmak üzere farklı şekillerde kullanılabilir:

  • benzersiz bir kimlik olarak (her emrin farklı bir kullanıcı referansı vardır),

  • ilişkili emirleri gruplamak için (farklı kaldıraç seviyelerine sahip emirleri gruplamak gibi),

  • veya gerçek emir kimliği bilinmediğinde yedek kimlik olarak.

Bir kullanıcı referansı, 1 ile 2,147,483,647 arasında bir sayısal değer olmalıdır (temelde herhangi bir pozitif 32 bit sayı) ve bu nedenle basit bir sayaç, rastgele bir işaretli 32 bit değeri veya hatta saniye cinsinden bir zaman damgası olarak uygulanabilir (ancak bu, 19 Ocak 2038 3:14:07 UTC'den sonra başarısız olacaktır).

Kullanıcı referansı ile emir verme

Emirler, AddOrder uç noktasını arayarak ve kullanıcı referansını değer olarak içeren userref parametresini ekleyerek ekli bir kullanıcı referansı ile verilebilir:

$ ./krakenapi AddOrder pair=xdgusd type=buy ordertype=limit price=0.1 volume=50 userref=27649653

{"error":[],"result":{"descr":{"order":"buy 50.00000000 XDGUSD @ limit 0.1000000"},"txid":["OQJSXE-F5FOM-IXHVL4"]}}

Kullanıcı referansı olan emirleri görüntüleme

Zaten bir kullanıcı referansı eklenmiş emirler, Open/Closed/QueryOrders uç noktalarını çağırarak ve mevcut kullanıcı referansını değer olarak içeren userref parametresini ekleyerek görüntülenebilir (bu durumda kullanıcı referansı bir filtre görevi görür, yalnızca ilişkili emirleri gösterir):

$ ./krakenapi OpenOrders userref=27649653

{"error":[],"result":{"open":{"OQJSXE-F5FOM-IXHVL4":{"refid":null,"userref":27649653,"status":"open","opentm":1629618802.9812,"starttm":0,"expiretm":0,"descr":{"pair":"XDGUSD","type":"buy","ordertype":"limit","price":"0.1000000","price2":"0","leverage":"none","order":"buy 50.00000000 XDGUSD @ limit 0.1000000","close":""},"vol":"50.00000000","vol_exec":"0.00000000","cost":"0.000000000","fee":"0.000000000","price":"0.000000000","stopprice":"0.000000000","limitprice":"0.000000000","misc":"","oflags":"fciq"}}}}

$ ./krakenapi ClosedOrders userref=38695724

{"error":[],"result":{"closed":{"O7YEFN-3V4RK-FBNSNM":{"refid":null,"userref":38695724,"status":"canceled","reason":"User requested","opentm":1629619539.3593,"closetm":1629619542.2246,"starttm":0,"expiretm":0,"descr":{"pair":"XBTUSD","type":"buy","ordertype":"limit","price":"25000.0","price2":"0","leverage":"none","order":"buy 0.00010000 XBTUSD @ limit 25000.0","close":""},"vol":"0.00010000","vol_exec":"0.00000000","cost":"0.00000","fee":"0.00000","price":"0.00000","stopprice":"0.00000","limitprice":"0.00000","misc":"","oflags":"fciq"}},"count":1}}

Kullanıcı referansı olan emirleri iptal etme

Zaten bir kullanıcı referansı eklenmiş olan emirler, CancelOrder uç noktasını çağırarak ve kullanıcı referansını txid değeri olarak (emir kimliği değerinin yerine) kullanarak iptal edilebilir:

$ ./krakenapi CancelOrder txid=16764529

{"error":[],"result":{"count":1}}

Aynı kullanıcı referansına sahip tüm açık emirlerin iptal edileceğini unutmayın, bu nedenle birden fazla emri aynı anda iptal etmek için tek bir CancelOrder çağrısı yapmak mümkündür (aşağıdaki yanıtta count değeri 3 olarak gösterildiği gibi):

$ ./krakenapi CancelOrder txid=48695624

{"error":[],"result":{"count":3}}

Bu sorun Cloudflare ile ilgili olabilir:

https://support.cloudflare.com/hc/en-us/articles/200169226-Why-am-I-getting-a-403-error-

NOT: Kraken'da "Tarayıcı Bütünlüğü Kontrolü" etkinleştirilmiştir.

Bu, isteğinizin şüpheli başlıklar içermesi durumunda meydana gelebilir. Örneğin, talebiniz bir kullanıcı aracını içermiyor olabilir veya standart dışı bir kullanıcı aracı kullanıyor olabilir; bu nedenle lütfen talep başlıklarınızı kontrol edin.

Eğer sistemimizin izin verdiği standart talepleri oluşturamıyorsanız, denediğiniz talebin tam bir kopyasını, IP adresiniz ve tüm başlıklar dahil olmak üzere bize gönderin. Bu bilgi, daha fazla araştırma yapmamıza olanak tanıyacaktır.

Vadeli işlem API

Futures REST ve WebSocket API'lerimiz için (futures.kraken.com) API URL'si demo-futures.kraken.com kullanarak tam bir test ortamı sunuyoruz.

REST, WebSocket ve FIX Test Ortamları

Spot REST/WebSocket API'miz ve FIX API'miz için, şu anda nitelikli müşteriler için bir test ortamı sunuyoruz. Bu ortama erişim, doğrudan API ekibiyle iletişime geçerek başlatılabilecek bir onboarding süreci gerektirir.

API'mizi Validate Test Parametresi Kullanarak Test Etme

REST API AddOrder veya WebSocket API addOrder uç noktaları aracılığıyla bir emir verirken, emri simüle etmek için validate girdi parametresi kullanılabilir.

validate parametresi true (validate=1, validate=true, validate=anything, vb.) olarak ayarlandığında AddOrder/addOrder çağrısı, emir detaylarının hatalar için kontrol edilmesine neden olacaktır, ancak API yanıtı hiçbir zaman bir emir kimliği içermeyecektir (validate parametresi olmadan başarılı bir emir için her zaman dönecektir).

AddOrder çağrısının validate parametresi ile örneği (eksik emir kimliğine dikkat edin):

bash

Bash

$ ./krakenapi AddOrder pair=xdgusd type=buy ordertype=market volume=5000 validate=true{"error":[],"result":{"descr":{"order":"buy 5000.00000000 XDGUSD @ market"}}}

Küçük gerçek emirler ve/veya yüksek fiyatlı emirler

Validate Parametresi kullanarak kapsamlı bir API testi yapmak için, çok küçük piyasa emirleri (minimum emir boyutu için emirler) veya mevcut piyasa fiyatından çok uzakta fiyatlandırılmış limit emirleri vermenizi öneririz (örneğin, piyasa fiyatı 200 ABD doları iken ETH/USD'yi 800 ABD dolarından satmak için bir limit emri vermek).

Canlı emirler kullanarak test yapmak, API kodunuzun gerçek dünya koşullarında API'mizle etkileşimde bulunmasına olanak tanır, bu nedenle testin her yönü doğru olacaktır (emirlerinizin emir defterini nasıl etkilediği vb.).

Güvenlik nedenleriyle, yakın zamanda TLS 1.0 ve 1.1 desteğini kaldırdık. API'mize bağlanmaya çalışırken SSL/TLS bağlantı hata mesajları alıyorsanız, muhtemelen bu kullanım dışı standartlardan birinin kullanılmasından kaynaklanıyordur. API istemcinizi TLS 1.2/1.3 kullanımını zorlamak için değiştirmeniz veya .NET sürümünüzü 4.6 veya üzeri bir sürüme yükseltmeniz gerekecektir; bu sürüm TLS 1.2/1.3'ü standart olarak kullanır.

Aşağıdaki Google Sheet, herhangi bir girdi verisi kombinasyonuna ilişkin REST API kimlik doğrulama imzasını hesaplamak için kullanılabilir:

  • API özel (gizli) anahtarı

  • API uç noktası (Balance, TradeBalance, QueryOrders, vb.)

  • Nonce değeri (daha fazla ayrıntı için nonce nedir destek sayfamıza bakın)

  • Uç nokta girdi parametreleri (örneğin asset=doge)

Hesap makinesi, doğrulama algoritmasının doğru bir şekilde uygulanıp uygulanmadığını doğrulamak için kullanılabilir, böylece geliştirme döngüsünde daha sonra potansiyel sorunlardan (özellikle beklenmedik geçersiz anahtar hataları) kaçınılır.

Kullanım talimatları

  1. 1

    Chrome'da (veya başka bir güncel web tarayıcısında) REST API doğrulama hesaplayıcısını açın

  2. 2

    Hesap makinesinin bir kopyasını Dosya -> Kopya oluştur menüsü aracılığıyla kendi Google Drive'ınıza alın (bu adım için Google hesabınıza giriş yapmanız gerekecek)

  3. 3

    Kendi API anahtarınız ve talep detaylarınız ile API anahtarı, API uç noktası, nonce değeri ve girdi verisi alanlarını düzenleyin

  4. 4

    Hesaplanan API doğrulama imzasını, kendi API kodunuz tarafından hesaplanan değerle karşılaştırın (iki değer tam olarak eşleşmelidir)

Güvenlik nedenleri ile, doğrulama hesaplayıcısını geçici API anahtarı ile kullanmanızı öneririz, ardından doğrulama imzanızın uygulanmasının doğru olduğu gösterildiğinde API anahtarını hesabınızdan silin.

Örnek

Screenshot_2021-06-21_at_14.42.35.png

Müşteri kütüphanesi sarıcısı kullanmanın birincil avantajı, API imzaları oluşturmak için çaba harcamanıza gerek olmamasıdır, bu işlem sizin için zaten yapılmıştır.

Yalnızca genel yöntemlere çağrı yapmayı düşünüyorsanız, kimlik doğrulama gerekmeyeceği için istemci kütüphanelerinden vazgeçmeyi seçebilirsiniz.

Burada bulabileceğiniz mevcut sarıcıların listesi

Daha fazla yardıma mı ihtiyacınız var?