Gelişmiş API SSS

Last updated: 25 Kas 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.

The REST API OHLC endpoint only provides a limited amount of historical data, specifically 720 data points of the requested interval. For example, asking for OHLC data in 1 minute intervals will return the most recent 720 minutes (12 hours) of data.

For applications that require additional OHLC or tick data, it is possible to retrieve the entire trading history of our markets (the historical time and sales) via the REST API Trades endpoint. The OHLC for any time frame and any interval can then be created from the historical time and sales data.

The Trades endpoint takes an optional parameter named since, which specifies the starting date/time of the data. The since value is a UNIX timestamp at nanosecond resolution (a standard UNIX timestamp in seconds with 9 additional digits).

For example, a call to the Trades endpoint such as https://api.kraken.com/0/public/Trades?pair=xbtusd&since=1559347200000000000 would return the historical time and sales for XBT/USD from the 1st of June 2019 at 00:00:00 UTC:

{"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"}}

Subsequent calls to the Trades endpoint should replace the since parameter's value with the last parameter's value from the results of the previous call such as https://api.kraken.com/0/public/Trades?pair=xbtusd&since=1559350785297011117.

Using the special since value of 0 (zero) would return the historical time and sales from the beginning of the market (starting with the very first trade).

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?