Gelişmiş API SSS

Son güncelleme: 25 Kas 2025

REST API fonlama uç noktalarını kullanarak, müşteriler 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, ilk talep ile işlemin tamamlanması arasında çeşitli aşamalardan 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 başlangıçta İnternet Finansal Takas Protokolü (IFEX) belgesinin 16/17. sayfalarından geldiğini, ancak değerlerin kripto işlemleri için daha uygun hale getirilmek üzere hafifçe değiştirildiğini unutmayın (örneğin, tüm olası durum değerleri kullanılmamaktadır).

Yatırmalar

Yatırma işlemleri için olası durum değerleri aşağıdaki gibidir:

  • Settled (Tamamlandı) = Yatırma işlemi alındı ancak blok zincirinde ek onaylara ihtiyaç duyuyor.

  • Success (Başarılı) = Yatırma işlemi blok zincirinde gerekli onay sayısına ulaştı.

  • Failure (Başarısız) = Yatırma işlemi başarısız oldu (çeşitli nedenlerden biri veya birkaçı nedeniyle).

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:

Settled 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"}]}

Success durumu:{"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"}]}

Çekmeler

Çekme işlemleri için olası durum değerleri aşağıdaki gibidir:

  • Initial (Başlangıç) = Çekme talebi alındı ve geçerliliği kontrol ediliyor (hesaptaki fonlama kısıtlamaları vb.).

  • Pending (Beklemede) = Çekme işlemi fonlama ağ geçidimiz tarafından işlenmeyi bekliyor.

  • Settled (Tamamlandı) = Çekme işlemi blok zincirine gönderildi (bu noktada blok zinciri işlem kimliği kullanılabilir hale gelir).

  • Success (Başarılı) = Çekme işlemi blok zincirinde en az 1 onaya sahip.

  • On hold (Bekletmede) = Çekme işlemi bekletildi ve fonlama ekibimiz tarafından manuel olarak kontrol edilmesi gerekiyor.

  • Failure (Başarısız) = Çekme işlemi başarısız oldu (çeşitli nedenlerden biri veya birkaçı nedeniyle).

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:

Initial 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"}]}

Pending 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"}]}

Settled 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"}]}

Success 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":"Success"}]}

Failure 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 işlemleriyle ilgili ek bilgiler nakit fonlama ve kripto fonlama destek sayfalarımızda mevcuttur.

REST API OHLC uç noktası, yalnızca sınırlı miktarda geçmiş veri sağlar; özellikle istenen aralığın 720 veri noktasını içerir. Ö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 İşlemler 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.

İşlemler 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ı standart bir saniye cinsinden UNIX zaman damgası).

Örneğin, https://api.kraken.com/0/public/Trades?pair=xbtusd&since=1559347200000000000 gibi bir İşlemler uç noktasına yapılan çağrı, 1 Haziran 2019, 00:00:00 UTC'den itibaren XBT/USD için 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"}}

İşlemler 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önetimi görevleri (özellikle emirleri iptal etme) için gerçek (API tarafından sağlanan) emir kimliği yerine kullanılabilecek, müşteri tarafından sağlanan bir emir kimliğidir.

Kullanıcı referansları mümkün olduğunca esnek olacak şekilde uygulanmıştır ve bu nedenle çeşitli şekillerde kullanılabilir:

  • benzersiz bir kimlik olarak (her emrin farklı bir kullanıcı referansı olduğu durumlarda),

  • ilgili emirleri bir araya getirmek için (farklı kaldıraç seviyelerine sahip emirleri gruplandırmak gibi),

  • veya gerçek emir kimliğinin bilinmediği durumlarda yedek bir kimlik olarak.

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

Kullanıcı referansı ile emir verme

Emirler, AddOrder uç noktasını çağırarak ve userref parametresini kullanıcı referansı değeriyle birlikte ekleyerek bir kullanıcı referansı ile yerleştirilebilir:

$ ./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

Halihazırda bir kullanıcı referansı eklenmiş emirler, Open/Closed/QueryOrders uç noktalarını çağırarak ve userref parametresini mevcut kullanıcı referansı değeriyle birlikte ekleyerek görüntülenebilir (bu durumda kullanıcı referansı bir filtre görevi görür ve 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

Halihazırda bir kullanıcı referansı eklenmiş emirler, CancelOrder uç noktasını çağırarak ve kullanıcı referansını txid değeri olarak (emir kimliği değeri 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ğerinin 3 olmasıyla belirtildiğ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, "Tarayıcı Bütünlük Kontrolü"nü etkinleştirmiştir.

Bu, isteğiniz şüpheli başlıklar içeriyorsa meydana gelebilir. Örneğin, isteğinizde bir kullanıcı aracısı eksik olabilir veya standart olmayan bir kullanıcı aracısı kullanılıyor olabilir; bu nedenle lütfen istek başlıklarınızı kontrol edin.

Sistemimizin izin verdiği standart istekleri oluşturamıyorsanız, IP adresiniz ve tüm başlıklar dahil olmak üzere denediğiniz isteğin/isteklerin tam bir kopyasını bize gönderin. Bu bilgiler, daha fazla araştırma yapmamızı sağlayacaktır.

Vadeli İşlemler API'si

Futures REST ve WebSocket API'lerimiz (futures.kraken.com) için demo-futures.kraken.com API URL'sini 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üşterilere yönelik bir test ortamı sunuyoruz. Bu ortama erişim, doğrudan API ekibiyle iletişime geçilerek başlatılabilecek bir katılım süreci gerektirir.

Doğrulama Test Parametresini Kullanarak API'mizi Test Etme

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

AddOrder/addOrder'ı doğrulama parametresi true olarak ayarlanmış şekilde çağırmak (validate=1, validate=true, validate=anything, vb.) emir detaylarının hatalara karşı kontrol edilmesine neden olur, ancak API yanıtı hiçbir zaman bir emir kimliği içermez (bu, doğrulama parametresi olmadan başarılı bir emir için her zaman döndürülür).

validate parametresiyle örnek bir AddOrder çağrısı (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 aşırı fiyatlı emirler

Doğrulama Parametresini kullanarak kapsamlı bir API testi için, çok küçük piyasa emirleri (minimum emir büyüklüğü için emirler) veya mevcut piyasa fiyatından çok uzakta fiyatlandırılmış limit emirleri vermenizi öneririz (örneğin, piyasa fiyatı 200 $ iken ETH/USD'yi 800 $'dan satmak için bir limit emri vermek).

Canlı emirler kullanarak test yapmak, API kodunuzun API'mizle gerçek dünya koşullarında etkileşime girmesini sağlar, 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ı hatası mesajlarıyla karşılaşıyorsanız, bunun nedeni büyük olasılıkla bu eski standartlardan birinin kullanılmasıdır. API istemcinizi TLS 1.2/1.3 kullanımını zorlayacak şekilde değiştirmeniz veya .NET sürümünüzü standart olarak TLS 1.2/1.3 kullanan 4.6 veya üzerine yükseltmeniz gerekecektir.

Aşağıdaki Google E-Tablosu, herhangi bir girdi verisi kombinasyonu için 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 giriş parametreleri (örneğin, asset=doge)

Hesaplayıcı, kimlik doğrulama algoritmasının doğru bir şekilde uygulandığını doğrulamak için kullanılabilir, böylece geliştirme döngüsünün ilerleyen aşamalarında potansiyel sorunlardan (özellikle beklenmedik geçersiz anahtar hataları) kaçınılabilir.

Kullanım talimatları

  1. 1

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

  2. 2

    Hesaplayıcının bir kopyasını Dosya -> Kopyasını Oluştur menüsü aracılığıyla kendi Google Drive'ınıza kaydedin (bu adım için Google hesabınızda oturum açmanız gerekecektir)

  3. 3

    API anahtarı, API uç noktası, nonce değeri ve giriş verileri alanlarını kendi API anahtarınız ve istek detaylarınızla düzenleyin

  4. 4

    Hesaplanan API kimlik 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 nedenleriyle, kimlik doğrulama hesaplayıcısını geçici bir API anahtarı ile kullanmanızı ve kimlik doğrulama imza uygulamanızın doğru olduğu gösterildikten sonra API anahtarını hesabınızdan silmenizi öneririz.

Örnek

Screenshot_2021-06-21_at_14.42.35.png

İstemci kitaplığı sarmalayıcılarımızı kullanmanın temel faydası, API imzaları oluşturmak için tekerleği yeniden icat etmek için zaman/çaba harcamanıza gerek olmamasıdır, bu zaten sizin için yapılmıştır.

Yalnızca genel yöntemlere çağrı yapmayı düşünüyorsanız, kimlik doğrulamaya gerek olmadığı için istemci kitaplıklarını kullanmamayı tercih edebilirsiniz.

Mevcut sarmalayıcıların listesini burada bulabilirsiniz.

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