API
API'mız hakkında bilgi edinin
Genel Kullanım
NOT: Tüm API URL'leri api.kraken.com domainini kullanmalıdır.
Public metodları GET ya da POST yöntemleriyle çağrılabilir.
Private metodlar sadece POST kullanılarak çağrılmalı ve HTTP header aşağıda gösterildiği şekilde ayarlanmalıdır:
HTTP başlığı:
API-Key = API key API-Sign = Mesaj imzası olarak HMAC-SHA512 (URI yolu + SHA256(Nonce + Post datası))ve base64 e göre decode edilmiş gizli API key kullanılmalıdır.
POST verisi:
nonce = sürekli artan unsigned 64 bit tam sayı otp = iki faktörlü şifre (iki faktör etkinse kullanılır, aksi takdirde gerekli değildir)
Not: Nonce'u daha düşük bir değere çekmenin bir yolu yoktur, bu nedenle önceki nonce'dan daha az sayı üretmeyecek bir nonce üretme yöntemi kullandığınızdan emin olun. Devamlı artan bir sayaç ya da saniyenin yüzde biri ya da daha yüksek hassasiyette bir değer tavsiye edilir. Son nonce değerinden daha düşük nonce değerinde sahip çok sayıda istek (EAPI: Invalid nonce) geçici engellenmeye sebep olabilir
Not: Bazen isteklerin sırası bozulabilir ya da NTP saatinizin geri alınmasına neden olabilir ve bu da nonce sorunlarına sebep olabilir. Bu sorunla karşılaşırsanız, hesap API ayarları sayfanızdaki nonce aralığını
değiştirebilirsiniz. Bu ayar nonce u nasıl arttırdığınıza bağlıdır. Bağlantınıza bağlı olarak, 3-15 saniyelik ağ sorunlarını karşılayacak bir ayar önerilir.
Para birimi gerektiren API çağrılarında ISO4217-A3 isimleri, ISO kayıtlı değilse üc harfli kodları veya X-ISO4217-A3 kodları kullanılabilir.(buraya bakabilirsiniz http://www.ifex-project.org/).
Yanıtlar JSON formatında aşağıda gösterildiği gibi gelecektir:
error = array of error messages in the format of: <char-önem kodu><string-hata kategorisi>:<string-hata tipi>[:<string-ekstra bilgiler>] önem kodu hata için E, uyarı için W olabilir result = API çağrısı sonucu (hata oluşursa bulunmayabilir)
Not: String tipinde gösterilen sayıları kullanırken dikkatli olunmalıdır, standart data tipleri taşmaya sebep olabilir.
API çağrı limiti
Kötüye kullanım / DoS saldırılarına karşı koruma sağlamak ve emirlerin hızlı bir şekilde verilip iptal edilmesinin yol açtığı manipülasyonlara karşı sistemlerimiz bulunmaktadır.
API’mizin her kullanıcısı, 0’dan başlayan bir "çağrı sayacı" na sahiptir.
Emir defteri / işlem geçmişi çağrıları sayacı 2 arttırır..
Emir verme / iptal etme çağrıları sayacı etkilemez.
Diğer tüm API çağrıları sayacı 1 arttırır.
Kullanıcı sayacı her birkaç saniyede bir azaltılır ve sayaç, kullanıcının maksimum API erişimini aşıyorsa 15 dakika bekletilir. Starter onaylı kullanıcıların maksimum 15 çağrı limitil vardır ve sayıları her 3 saniyede 1 azalır. Medium ve Pro onaylı kullanıcıların maksimum 20 çağrı limiti vardır; Medium kademe kullanıcılar için sayım her 2 saniyede bir 1 azalır ve Pro hesap sahipleri için her 1 saniyede 1 azalır.
Emir vermek ve iptal etmek sayacı arttırmasa da, manipülasyonu önlemek için ayrı sınırlamalar vardır. Sadece fill olmasını planladığınız emirleri vermek ve hızı saniyede 1 için ayarlamak genellikle bu limiti aşmamak için yeterlidir.
Public piyasa verisi
Sunucu saatini alma
URL: https://api.kraken.com/0/public/Time
Sonuç: Sunucunun saati
unixtime = unix timestamp biçiminde rfc1123 = RFC 1123 biçiminde
Not: Bu metod sunucu ile istemci arasındaki zaman farkını ayarlamaya yardımcı olacaktır.
Varlık bilgisi alma
URL: https://api.kraken.com/0/public/Assets
Girdi:
info = getiirlecek bilgi (opsiyonel): info = tüm bilgiler (varsayılan) aclass = varlık sınıfı (opsiyonel): para birimi (varsayılan) asset = virgülle ayrılmış bilgi almak istenilen varlık listesi (opsiyonel. varsayılan = belirtilen varlık sınıfı için hepsi)
Sonuç: varlık ismi ve onların bilgilerinin array'i
<asset_name> = varlık ismi altname = alternatif isim aclass = varlık sınıfı decimals = kayıt tutmak için ondalık ölçeklendirme basamağı display_decimals = çıktı gösterimi için ondalık ölçeklendirme basamağı
İşleme açık varlık çiftleri alma
URL: https://api.kraken.com/0/public/AssetPairs
Girdi:
info = çekilecek bilgi (opsiyonel): info = tüm bilgiler (varsayılan) leverage = kaldıraç bilgisi fees = komisyon tablosu margin = marj bilgisi pair = virgülle ayrılmış bilgi alınmak istenen varlık çifti (opsiyonel. varsayılan = tümü)
Sonuç: çift ismi ve onların bilgilerinin arrayi
<pair_name> = çift ismi altname = alternatif çift ismi wsname = WebSocket çift ismi (mevcutsa) aclass_base = base varlığın sınıfı base = base varlığın id'si aclass_quote = quote varlığın sınıfı quote = quote varlığın id'si lot = hacim lot büyüklüğü pair_decimals = çift için ondalık ölçeklendirme basamağı lot_decimals = hacim için ondalık ölçeklendirme basamağı lot_multiplier = para birimi hacmini elde etmek için gerekli lot hacim çarpanı leverage_buy = alış işleminde kullanılabilir kaldıraç arrayi leverage_sell = satış işleminde kullanılabilir kaldıraç arrayi fees = komisyon tablosu arrayi [hacim, yüzdelik komisyon] fees_maker = maker komisyon tablosu arrayi [hacim, yüzdelik komisyon] (maker/taker ise) fee_volume_currency = volume discount currency margin_call = marj çağrı seviyesi margin_stop = stop-out/likiditasyon marj seviyesi
Not: Eğer bir varlık maker/taker komisyon tablosundaysa taker "fees" kısmında "fees_maker" kısmında bulunur. Maker/taker da bulunmayan komisyonlar sadece "fees" alanındadır.
Ticker bilgisi alma
URL: https://api.kraken.com/0/public/Ticker
Girdi:
pair = bilgi alınması istenilen virgülle ayrılmış asset çifti
Sonuç: çift ismi ve ticker bilgisi arrayi
<pair_name> =çift ismi a = alış array(<fiyat>, <tüm lot hacmi>, <lot hacmi>), b = satış array(<fiyat>, <tüm lot hacmi>, <lot hacmi>), c = son gerçekleşen işlem arrayi(<fiyat>, <lot hacmi>), v = hacim arrayi(<bugün>, <son 24 saat>), p = hacmin ağırlıklı ortalama fiyat arrayi(<bugün>, <son 24 saat>), t = işlem sayısı arrayi(<bugün>, <son 24 saat>), l = düşük array(<bugün>, <son 24 saat>), h = yüksek array(<bugün>, <son 24 saat>), o = bugünün açılış fiyatı
Not: Bugünün fiyatları 00:00:00 UTC'de başlar
OHLC verisi al
URL: https://api.kraken.com/0/public/OHLC
Girdi:
pair = OHLC verisi alınacak varlık çifti interval = dakika cinsinden zaman aralığı (opsiyonel): 1 (varsayılan), 5, 15, 30, 60, 240, 1440, 10080, 21600 since = belirtilen id'den bu yana verilen OHLC verilerini getir (opsiyonel. özel)
Sonuç: OHLC verisi ve çift ismi dizisi
<pair_name> = çift ismi girdi arraylerinin arrayi(<zaman>, <open>, <high>, <low>, <close>, <vwap>, <hacim>, <sayı>) last = id to be used as since when polling for new, committed OHLC data
Not: the last entry in the OHLC array is for the current, not-yet-committed frame and will always be present, regardless of the value of "since".
Emir defterini al
URL: https://api.kraken.com/0/public/Depth
Girdi:
pair = piyasa derinliği alınacak varlık çifti count = maksimum alış/satış sayısı (opsiyonel)
Sonuç: array of pair name and market depth
<pair_name> = pair name asks = ask side array of array entries(<fiyat>, <volume>, <timestamp>) bids = bid side array of array entries(<fiyat>, <volume>, <timestamp>)
Son işlemleri al
URL: https://api.kraken.com/0/public/Trades
Girdi:
pair = işlem verisi alınacak varlık çifti since = return trade data since given id (optional. exclusive)
Sonuç: array of pair name and recent trade data
<pair_name> = pair name array of array entries(<fiyat>, <volume>, <time>, <buy/sell>, <market/limit>, <miscellaneous>) last = id to be used as since when polling for new trade data
Son spread verilerini al
URL: https://api.kraken.com/0/public/Spread
Girdi:
pair = spread verisi alınacak varlik çifti since = verilmiş kimlikten bu yana spread verilerini döndür (isteğe bağlı)
Sonuç: çift adı dizisi ve son spread verileri
<pair_name> = çift adı dizi girişleri dizisi (<time>, <bid>, <ask>) last = id, yeni spread verilerini sorgularken olduğu gibi kullanılmalı
Not: "since" kapsayıcı olduğundan, önceki setle ile aynı saatte döndürülen verilerin önceki girişlerin üzerine yazması gerekir.
Özel kullanıcı verileri
Hesap bakiyesini getir
URL: https://api.kraken.com/0/private/Balance
Sonuç: array of asset names and balance amount
İşlem bakiyesini getir
URL: https://api.kraken.com/0/private/TradeBalance
Girdi:
aclass = varlık sınıfı (opsiyonel): para birimi (varsayılan) asset =bakiyenin belirleneceği base varlık (varsayılan = ZUSD)
Sonuç: İşlemler bakiyesi dizisi
eb = eşdeğer bakiye (tüm para birimleri bakiyesi) tb = ticaret dengesi (tüm özkaynak para birimlerinin birleştirilmesi) m = açık pozisyonların marj değeri n = gerçekleşmemiş net kar / açık pozisyon kaybı c = açık pozisyonların maliyet esası v = açık pozisyonların geçerli değişken değerlemesi e =özvarlık = ticari bilanço gerçekleşmemiş net kar / zarar mf = planlama marj = özvarlık- başlangıç marjı (yeni pozisyon açabilmek için açık marj) ml = marj seviyesi = (özvarlık / başlangıç marjı) * 100
Not: Değişken değerleme için kullanılan oranlar, en iyi alış ve satış fiyatlarının orta noktasıdır.
Açık emirleri al
URL: https://api.kraken.com/0/private/OpenOrders
Girdi:
trades = çıktıya işlemlerin eklenip eklenmeyeceği (isteğe bağlı. varsayılan = false) userref = sonuçları verilen kullanıcı referans kimliği ile sınırlandır (opsiyonel)
Sonuç: açık dizideki emir bilgilerinin dizisi anahtar olarak txid ile
refid = Bu emir için oluşturulmuş refere edilen işlem id'si userref = kullanıcı referans id'si status = emir durumu: pending = defter girişi bekleyen emir açık = açık emir kapalı = kapanmış emir canceled = iptal edilen emir süresi dolmuş = süre geçmiş emir opentm = emrin ne zaman verildiği unix zaman damgası starttm = emir başlangıç zamanının unix zaman damgası (veya ayarlanmadıysa 0) expiretm = emir bitiş zamanının unix zaman damgası (veya ayarlanmadıysa 0) descr = emir açıklama bilgisi çifti = kurtuluş type = emir türü (alış / satış) ordertype = emir tipi (Bkz.Standart emir ekleme) price = birincil fiyat price2 = ikincil fiyat leverage = kaldıraç miktarı order = emir açıklaması close = conditional close order description (if conditional close set) vol = emir hacmi (base currency unless viqc set in oflags) vol_exec = volume executed (base currency unless viqc set in oflags) cost = toplam tutar (quote currency unless unless viqc set in oflags) fee = toplam komisyon (quote currency) price = ortalama fiyat (quote currency unless viqc set in oflags) stopprice = stop price (quote currency, for trailing stops) limitprice = tetiklenen limit fiyatı (quote currency, when limit based order type triggered) misc = comma delimited list of miscellaneous info stopped = stop fiyattan tetiklendi touched = triggered by touch price liquidated = likidasyon partial = kısmi fill oflags = comma delimited list of order flags viqc = volume in quote currency fcib = prefer fee in base currency (default if selling) fciq = prefer fee in quote currency (default if buying) nompp = piyasa fiyat koruma yok trades = array of trade ids related to order (if trades info requested and data available)
Not: Aksi belirtilmedikçe, maliyetler, ücretler, fiyatlar ve hacimler para birimi ölçeğinde değil, varlık çiftinin ölçeğindedir. Örneğin, varlık çifti 8 ölçeğine sahip bir lot büyüklüğü kullanıyorsa, para birimi yalnızca 2 ölçeğine sahip olsa bile hacim 8 ölçeğini kullanır. temel para biriminin 8 olan bir ölçeği olsa bile, ölçek 5 olarak kalacaktır.
Kapalı emirleri getir
URL: https://api.kraken.com/0/private/ClosedOrders
Girdi:
trades = whether or not to include trades in output (optional. default = false) userref = restrict results to given user reference id (opsiyonel) start = starting unix timestamp or order tx id of results (optional. exclusive) end = ending unix timestamp or order tx id of results (optional. inclusive) ofs = result offset closetime = which time to use (opsiyonel) open close both (varsayılan)
Sonuç: işlem bilgisi dizisi
kapalı = emir bilgisi dizisi. BakınızAçık emirleri getir. İlave Alanlar: closetm = emrin ne zaman kapatıldığının unix zaman damgası reason = durum hakkında ek bilgi (varsa) count = kriterlere uygun emirlerin sayısı
Not: tx kimlikleri emri ile verilen zamanlar unix zaman damgalarından daha doğrudur. Bir süre için bir emir tx kimliği verilirse, emrin açıldığı zaman kullanılır
Emir bilgilerini sorgula
URL: https://api.kraken.com/0/private/QueryOrders
Girdi:
esnaf = çıktıya işlemlerin eklenip eklenmeyeceği (isteğe bağlı. varsayılan = false) userref = sonuçları verilen kullanıcı referans kimliği ile sınırlandır (opsiyonel) txid = virgülle ayrılmış bilgi sorgulanacak işlem kimlikleri (maksimum 50)
Sonuç: Emir bilgileri dizisi
<order_txid> = emir bilgisi. Bakınız Açık Emirleri Getir/Kapalı Emirleri Getir
İşlem Geçmişini Getir
URL: https://api.kraken.com/0/private/TradesHistory
Girdi:
type = işlem türü (opsiyonel) all = tüm türler (varsayılan) herhangi bir pozisyon = herhangi bir pozisyon (açık veya kapalı) kapalı konum = kapalı konumlar kapanış pozisyonu = pozisyonun tamamını veya bir kısmını kapatan herhangi bir işlem Konum yok = pozisyon dışı işlemler esnaf = çıktıdaki pozisyona ilişkin alım satımların dahil edilip edilmeyeceği (isteğe bağlı. varsayılan = yanlış) start = unix zaman damgasını başlatmak veya sonuçların işlem tx kimliği (isteğe bağlı. hariç) end = bitiş unix zaman damgası veya takas sonuç tx kimliği (isteğe bağlı. dahil) ofs = sonuç ofseti
Sonuç: işlem bilgisi dizisi
trades = array of trade info with txid as the key ordertxid = order responsible for execution of trade pair = varlık çifti time = unix timestamp of trade type = type of order (buy/sell) ordertype = emir tipi price = average price order was executed at (quote currency) cost = total cost of order (quote currency) fee = total fee (quote currency) vol = volume (base currency) margin = başlangıç marjı (quote currency) misc = comma delimited list of miscellaneous info closing = işlem pozisyonu kısmi veya tam olarak kapattı count = amount of available trades info matching criteria
İşlem bir pozisyon açmışsa, bilgiler aşağıdaki alanları da içerir.:
posstatus = pozisyon durumu (açık / kapalı) cprice = pozisyonun kapalı kısmının ortalama fiyatı (teklif para birimi) ccost = pozisyonun kapalı kısmının toplam maliyeti (fiyat teklifi para birimi) cfee = toplam kapalı pozisyon bölümü ücreti (fiyat teklifi para birimi) cvol = pozisyonun kapalı kısmının toplam ücreti (teklif para birimi) cmargin = toplam pozisyon marjı kapalı pozisyonda serbest bırakılır (fiyat teklifi para birimi) net = net kâr / zarar pozisyonunun kapatılması (teklif para birimi, teklif para birimi ölçeği) esnaf = pozisyon için kapanış esnaf listesi (varsa)
Not:
- Not: Aksi belirtilmedikçe, maliyetler, komisyonlar, fiyatlar ve hacimler para birimi ölçeğinde değil, varlık çiftinin ölçeğindedir.
- İşlem tx kimlikleri tarafından verilen zamanlar unix zaman damgalarından daha doğrudur.
İşlem bilgilerini sorgula
URL: https://api.kraken.com/0/private/QueryTrades
Girdi:
txid = virgülle ayrılmış işlem kimlikleri listesi hakkında bilgi sorgulamak için (maksimum 20) trades = çıktıdaki pozisyona ilişkin alım satımların dahil edilip edilmeyeceği (isteğe bağlı. varsayılan = false)
Sonuç: İşlemler bilgisi dizisi
<trade_txid> = trade info. See İşlemler geçmişini al
Açık pozisyonları getir
URL: https://api.kraken.com/0/private/OpenPositions
Girdi:
txid = çıktısını sınırlamak için virgülle ayrılmış işlem kimlikleri listesi docalcs = kar / zarar hesaplamalarının dahil edilip edilmeyeceği (isteğe bağlı. varsayılan = false)
Sonuç: açık pozisyonlar dizisi
<position_txid> = open position info ordertxid = order responsible for execution of trade pair = asset pair time = unix timestamp of trade type = type of order used to open position (buy/sell) ordertype = order type used to open position cost = opening cost of position (quote currency unless viqc set in oflags) fee = opening fee of position (quote currency) vol = position volume (base currency unless viqc set in oflags) vol_closed = position volume closed (base currency unless viqc set in oflags) margin = initial margin (quote currency) value = current value of remaining position (if docalcs requested. quote currency) net = unrealized profit/loss of remaining position (if docalcs requested. quote currency, quote currency scale) misc = comma delimited list of miscellaneous info oflags = comma delimited list of order flags viqc = volume in quote currency
Not: Aksi belirtilmedikçe, maliyetler, komisyonlar, fiyatlar ve hacimler para birimi ölçeğinde değil, varlık çiftinin ölçeğindedir.
Defter bilgilerini al
URL: https://api.kraken.com/0/private/Ledgers
Girdi:
aclass = varlık sınıfı (opsiyonel): para birimi (varsayılan) asset = çıktıyı sınırlandırmak için virgülle ayrılmış varlık listesi (isteğe bağlı. type = alınacak defterin türü (opsiyonel): all (varsayılan) para yatırma para çekme işlemler marj start = unix zaman damgasını veya sonuçların ana kimliğini başlatma (isteğe bağlı. özel) end = bitiş unix zaman damgası veya sonuçların ana kimliği (isteğe bağlı. dahil) ofs = sonuç ofseti
Sonuç: birleşik bilgi defteri bilgileri
<ledger_id> = ledger info refid = reference id time = unx timestamp of ledger type = type of ledger entry aclass = asset class asset = asset amount = transaction amount fee = transaction fee balance = resulting balance
Not: Ledger Id tarafından verilen zamanlar, unix zaman damgalarından daha doğrudur.
Defterleri Sorgula
URL: https://api.kraken.com/0/private/QueryLedgers
Girdi:
id = virgülle ayrılmış defter kimlikleri listesi (20 maksimum) hakkında bilgi sorgulamak için
Sonuç: birleşik emir defteri bilgisi
<ledger_id> = emir defteri bilgisi. BakınızDefter bilgilerini getir
İşlem hacmini getir
URL: https://api.kraken.com/0/private/TradeVolume
Girdi:
pair = (opsiyonel) hakkında ücret bilgisi almak için varlık çiftlerinin virgülle ayrılmış listesi fee-info = sonuçlara ücret bilgisi dahil edilip edilmeyeceği (opsiyonel)
Sonuç: associative array
currency = hacim para birimi volume = geçerli indirim hacmi fees= varlık çiftleri dizisi ve ücret kademesi bilgisi (istenirse) fee = yüzde olarak cari ücret minfee = çift için asgari ücret (eğer sabit ücret değilse) maxfee = çift için maksimum ücret (sabit ücret yoksa) nextfee = bir sonraki kademe ücreti (sabit ücret değilse. nil en düşük ücret seviyesindeyse) nextvolume = sonraki seviyenin ses seviyesi (eğer sabit ücret yoksa. nil en düşük ücret seviyesindeyse) tiervolume = geçerli seviyenin hacim seviyesi (eğer sabit ücret yoksa. nil en düşük ücret seviyesindeyse) fees_maker = Varlık çiftleri dizisi ve yapıcı / alıcı programındaki tüm çiftler için yapıcı ücret seviyesi bilgisi (istenirse) ücret = yüzde olarak cari ücret minfee = çift için asgari ücret (eğer sabit ücret değilse) maxfee = çift için maksimum ücret (sabit ücret yoksa) nextfee = bir sonraki kademe ücreti (sabit ücret değilse. nil en düşük ücret seviyesindeyse) nextvolume = sonraki seviyenin ses seviyesi (eğer sabit ücret yoksa. nil en düşük ücret seviyesindeyse) tiervolume = geçerli seviyenin ses seviyesi (eğer sabit ücret yoksa. nil en düşük ücret seviyesindeyse)
Not: Eğer bir varlık çifti piyasa yapıcı / piyasa alıcı ücreti programındaysa, piyasa alıcı tarafı "fees" ve piyasa yapıcı "fees_maker" ile gösterilecektir. Eğer çift piyasa yapıcı/piyasa alıcı sistemi içerisinde değilse yalnızca "fees" olarak verilecektir.
Dışa aktarma raporu iste
URL: https://api.kraken.com/0/private/AddExport
Girdi:
description = report description info report = report type (trades/ledgers) format = (CSV/TSV) (optional. default = CSV) fields = comma delimited list of fields to include in report (optional. default = all) Not: field options are based on report type <trades> ordertxid time ordertype price cost fee vol margin misc ledgers <ledgers> refid time type aclass asset amount fee balance asset = comma delimited list of assets to restrict output to (optional. default = all) starttm = report start time (optional. default = one year before now): <n> = unix timestamp of start time endtm = report end time (optional. default = now): <n> = unix timestamp of end time
Sonuç:
id = rapor kimliği
Hatalar: hatalar şunları içerir (ancak bunlarla sınırlı değildir):
EGeneral:Invalid arguments EQuery:Unknown asset pair
Dışa aktarma durumlarını alın
URL: https://api.kraken.com/0/private/ExportStatus
Girdi:
rapor = rapor türü (işlemler / defterler)
Sonuç: rapor dizisi ve bilgileri
id = rapor id'si descr = rapor açıklama bilgisi format = (CSV/TSV) report = rapor türü (trades/ledgers) status = İsteğin durumu: Queued = rapor oluşturma için sıraya alındı Processing = rapor işleniyor Processed = rapor işlendi createdtm = time report was created expiretm = time report expires starttm = rapor başlama saati endtm = rapor bitiş saati completedtm = time report was completed aclass = varlık sınıfı asset = comma delimited list of assets fields = comma delimited list of fields <trades> txid ordertxid pair time type ordertype price cost fee vol margin misc ledgers <ledgers> txid refid time type aclass asset amount fee balance
Hatalar: hatalar şunları içerir (ancak bunlarla sınırlı değildir):
EGeneral: Geçersiz argümanlar
Dışa aktarım raporunu al
URL: https://api.kraken.com/0/private/RetrieveExport
Girdi:
id = rapor kimliği
Sonuç: raporu içeren ikili zip arşivi
Not: İçerik türü uygulama / json, metin veya html değilse, ikili rapor geri akışa alınacaktır. Bu türlerden biriyse yanıtta bir hata bekleyebilirsiniz.
Not: Seçilen rapor türüne ve seçilen alanlara bağlı olarak, rapor aşağıdaki alanlara sahip olabilir. * İşaretli alanlar daima mevcuttur.
<trades> *txid ordertxid *pair time *type ordertype price cost fee vol margin misc ledgers <ledgers> *txid refid time type aclass asset amount fee balance
Dışa aktarma raporunu kaldır
URL: https://api.kraken.com/0/private/RemoveExport
Girdi:
type = türü kaldır (cancel/delete) id = rapor id'si
Sonuç: bool with result of call
cancel/delete = türü kaldır
Not: The delete remove type can only be used for a report that has already been processed. Use cancel for queued and processing statuses.
Hatalar: hatalar şunları içerir (ancak bunlarla sınırlı değildir):
EGeneral: Invalid Arguments WExport: Already processed
Not: Daha önceden bir iptal veya silme işlemi belirli bir rapor kimliğinde (report id) yer aldıysa, şu hatayı alacaksınız Geri WExport: Zaten işlenmiş.
Özel kullanıcı işlemleri
Standart emir ekle
URL: https://api.kraken.com/0/private/AddOrder
Girdi:
çifti = kurtuluş type = emir türü (alış / satış) ordertype = emir türü: Market limit (fiyat = limit fiyat) stop-loss (fiyat = stop loss fiyatı) kar alma (fiyat = kar alma) stop-loss-profit (fiyat = stop loss, fiyat2 = kar fiyatı al) stop-loss-profit-limit (fiyat = stop loss fiyatı, price2 = take profit) stop-loss-limit (fiyat = stop stop tetik fiyatı, price2 = tetiklenen limit fiyatı) take-profit-limit (fiyat = kar tetikleme fiyatını al, fiyat2 = tetiklenmiş sınır fiyat) trailing-stop (fiyat = trailing stop offset) trailing-stop-limit (fiyat = son trailing ofseti, fiyat2 = tetiklenmiş limit ofseti) stop-loss-and-limit (fiyat = stop loss fiyatı, fiyat2 = limit fiyat) settle-position price= fiyat (isteğe bağlı. sipariş türüne bağlı) price2 = ikincil fiyat (isteğe bağlı. sipariş türüne bağlı) volume = lot olarak emir leverage = istenen kaldıraç miktarı (isteğe bağlı. varsayılan = yok) oflags = virgülle sınırlandırılmış emir bayrakları listesi (isteğeel): viqc = teklif para birimindeki hacim (kaldıraçlı emirler için geçerli değildir) fcib = temel para biriminde ücreti tercih et fciq = teklif para biriminde ücreti tercih et nompp = piyasa fiyatı koruma yok post = sadece sipariş sonrası (ordertype = limit olduğunda kullanılabilir) starttm = programlanmış başlangıç zamanı (opsiyonel): 0 = şimdi (varsayılan) <n> = başlangıç zamanı <n> şimdiden saniye <n> = başlangıç zamanının unix zaman damgası expiretm = son kullanma süresi (isteğeel): 0 = bitiş süresi yok (varsayılan) <n> = şu andan itibaren <n> saniye sonra sona ermeli <n> = geçerlilik süresinin unix timestampi userref = kullanıcı referans kimliği. 32 bit işaretli numara. (Opsiyonel) validate = sadece girişleri doğrula. emir vermeyin (opsiyonel) sipariş doldurulduğunda sisteme eklemek için isteğe bağlı kapanış siparişi: close [ordertype] = emir tipi Kapat [fiyat] = fiyat kapat [price2] = ikincil fiyat
Sonuç:
descr = Emir Açıklaması Bilgisi order = emir açıklaması close = conditional close emri açıklaması (eğer ayarlanmışsa) txid = emir için işlem kimlikleri dizisi (emir başarıyla eklenmişse)
Hatalar: hatalar şunları içerir (ancak bunlarla sınırlı değildir):
EGeneral:Geçersiz Bağımsız Değişkenler EService:Unavailable ETrade:Geçersiz istek EOrder:Pozisyon açamıyor EOrder:Karşıt pozisyon açılamaz EOrder:Margin allowance exceeded EOrder:Marj seviyesi çok düşük EOrder:Yetersiz Marj (exchange does not have sufficient funds to allow margin trading) EOrder:Yetersiz Fon (insufficient user funds) EOrder:Minimum emir gerçekleşmedi (volume too low) EOrder:Emir Limiti Aşıldı EOrder:Pozisyon Limiti Aşıldı EOrder:Rate limit Aşıldı EOrder:Scheduled orders limit exceeded EOrder:Bilinmeyen Pozisyon
Not:
- Bakınız İşlem yapılabilen varlık çıftlerini getir varlık çifti fiyatları, lotları ve kaldıraçla ilgili spesifikasyonlar için.
- Prices can be preceded by +, -, or # to signify the price as a relative amount (with the exception of trailing stops, which are always relative). + adds the amount to the current offered price. - subtracts the amount from the current offered price. # will either add or subtract the amount to the current offered price, depending on the type and emir tipi used. Relative prices can be suffixed with a % to signify the relative amount as a percentage of the offered price.
- Kaldıraç kullanan siparişlerde, konumunuzu kapatmak için gereken birimi otomatik olarak dolduracak birim için 0 kullanılabilir.
- "EOrder: Trading agreement required" hatasını alırsanız, daha fazla ayrıntı için API anahtar yönetimi sayfanıza bakın.
Açık emri iptal et
URL: https://api.kraken.com/0/private/CancelOrder
Girdi:
txid = işlem kimliği
Sonuç:
count = iptal edilen emir sayısı pending = eğer belirtilmişse, emir(ler) iptal beklemektedir
Not: txid kullanıcı referans id'si olabilir.
Örnek API istemcileri
Aşağıda kendi API istemcinizi yazarken kullanılabilecek örnek API müşteri kodu kütüphaneleri bulunmaktadır. API’lerin yanlış kullanımı veya yanlış kullanımından kaynaklanan kayıplardan Payward veya üçüncü taraf yazarların sorumlu olmadığını lütfen unutmayın. Payward, üçüncü parti kodun güvenliğini listelemeden önce ilk gözden geçirme işlemini gerçekleştirdi ancak o zamandan bu yana eklenen değişiklikler için garanti veremez. Endişeniz varsa, lütfen iletişime geçin.
C
Dış kaynak https://github.com/hANSIc99/Kraken_C_API.
C#
Dış kaynak https://bitbucket.org/arrivets/krakenapi.
C++
Dış kaynak https://github.com/voidloop/krakenapi.
GO
Dış kaynak https://github.com/Beldur/kraken-go-api-client.
Node.JS
Dış kaynak https://github.com/nothingisdead/npm-kraken-api.
PERL
Dış kaynak http://search.cpan.org/~philippe/Finance-Bank-Kraken-0.1/.
Python 3
Dış kaynak https://github.com/veox/python3-krakenex.
Python 2
Dış kaynak https://github.com/veox/python2-krakenex.
Ruby
Dış kaynak https://github.com/jonatack/kraken_ruby_client.
PHP
Kraken ekibi, Kraken REST API'siyle etkileşime geçmek için temel bir PHP kütüphanesi sağlamıştır. Kaynak ve kullanım örnekleri Paywardkraken-api-client github deposu ve MIT lisanslı.
Kütüphane
Bir PHP istemcisi ile Kraken REST API'sine çağrı yapmak için bu kütüphane sınıfını kullanın. API yönteminin doğru URL yolunu otomatik olarak belirler, her istek için bir nonce oluşturur ve API secret'i ve oluşturulan nonce'u kullanarak imzalı bir başlık ekler.
<?php /** * Kraken'ın REST API'si için referans uygulaması. * * Daha fazla bilgi için https://www.kraken.com/help/api sayfasını inceleyin. * * * The MIT License (MIT) * * Copyright (c) 2013 Payward, Inc * * Bu yazılımın ve ilgili dokümantasyon dosyalarının ("Yazılım") bir kopyasını alan herhangi bir kişiye, Yazılım'da herhangi bir kısıtlama olmaksızın, kullanım, kopyalama, değiştirme, birleştirme hakları da dahil olmak ücretsiz olarak izin verilir. * *Yukarıdaki telif hakkı bildirimi ve bu izin bildirimi, Yazılımın * tüm kopyalarına veya önemli bölümlerine * dahil edilecektir. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ class KrakenAPIException extends ErrorException {}; class KrakenAPI { protected $key; // API key protected $secret; // API secret protected $url; // API base URL protected $version; // API version protected $curl; // curl handle /** * KrakenAPI için yapıcı fonksiyon * * @param string $key API key * @param string $secret API secret * @param string $url base URL for Kraken API * @param string $version API version * @param bool $sslverify enable/disable SSL peer verification. disable if using beta.api.kraken.com */ function __construct($key, $secret, $url='https://api.kraken.com', $version='0', $sslverify=true) { $this->key = $key; $this->secret = $secret; $this->url = $url; $this->version = $version; $this->curl = curl_init(); curl_setopt_array($this->curl, array( CURLOPT_SSL_VERIFYPEER => $sslverify, CURLOPT_SSL_VERIFYHOST => 2, CURLOPT_USERAGENT => 'Kraken PHP API Agent', CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true) ); } function __destruct() { curl_close($this->curl); } /** * Ortak yöntem (Public Method) Sorgulama * * @param string $method method name * @param array $request request parameters * @return array request result on success * @throws KrakenAPIException */ function QueryPublic($method, array $request = array()) { // POST veri dizesini oluşturmak $postdata = http_build_query($request, '', '&'); // talep gönder curl_setopt($this->curl, CURLOPT_URL, $this->url . '/' . $this->version . '/public/' . $method); curl_setopt($this->curl, CURLOPT_POSTFIELDS, $postdata); curl_setopt($this->curl, CURLOPT_HTTPHEADER, array()); $result = curl_exec($this->curl); if($result===false) throw new KrakenAPIException('CURL error: ' . curl_error($this->curl)); // sonuçları çöz $result = json_decode($result, true); if(!is_array($result)) throw new KrakenAPIException('JSON decode error'); return $result; } /** * Query private methods * * @param string $path method path * @param array $request request parameters * @return array request result on success * @throws KrakenAPIException */ function QueryPrivate($method, array $request = array()) { if(!isset($request['nonce'])) { // generate a 64 bit nonce using a timestamp at microsecond resolution // string functions are used to avoid problems on 32 bit systems $nonce = explode(' ', microtime()); $request['nonce'] = $nonce[1] . str_pad(substr($nonce[0], 2, 6), 6, '0'); } // POST veri dizesini oluştur $postdata = http_build_query($request, '', '&'); // API anahtarını ayarla ve mesajı imzala $path = '/' . $this->version . '/private/' . $method; $sign = hash_hmac('sha512', $path . hash('sha256', $request['nonce'] . $postdata, true), base64_decode($this->secret), true); $headers = array( 'API-Key: ' . $this->key, 'API-Sign: ' . base64_encode($sign) ); // talep gönder curl_setopt($this->curl, CURLOPT_URL, $this->url . $path); curl_setopt($this->curl, CURLOPT_POSTFIELDS, $postdata); curl_setopt($this->curl, CURLOPT_HTTPHEADER, $headers); $result = curl_exec($this->curl); if($result===false) throw new KrakenAPIException('CURL hatası: ' . curl_error($this->curl)); // sonuçları çöz $result = json_decode($result, true); if(!is_array($result)) throw new KrakenAPIException('JSON çözümleme hatası'); return $result; } }
Örnek kullanım
Aşağıda, KrakenAPI kütüphane sınıfının başlatılmasında atılan adımların yanı sıra birkaç örnek API yöntemi çağrısı bulunmaktadır. Biçimlendirilmiş sonuç kümeleri, ilgili API çağrı snippet'lerinin altında gösterilir.
Başlatma
Bir kütüphane dosyasını ekleyin ve bir KrakenAPI nesnesini başlatırken API anahtarınızı ve secret ı girin.
<?php require_once 'KrakenAPIClient.php'; $kraken = new KrakenAPI('YOUR API KEY', 'YOUR API SECRET');
Yöntem çağrıları
Halka açık aktif varlıkların ve özelliklerinin bir listesini sorgula:
$res = $kraken->QueryPublic('Assets'); print_r($res);
İade edilen varlıklar, ISO-4217-A3-X adları ile girilir, örnek çıktı:
Array ( [error] => Array ( ) [result] => Array ( [XXBT] => Array ( [aclass] => currency [altname] => XBT [decimals] => 10 [display_decimals] => 5 ) [XLTC] => Array ( [aclass] => currency [altname] => LTC [decimals] => 10 [display_decimals] => 5 ) [XXRP] => Array ( [aclass] => currency [altname] => XRP [decimals] => 8 [display_decimals] => 5 ) [ZEUR] => Array ( [aclass] => currency [altname] => EUR [decimals] => 4 [display_decimals] => 2 ) ... )
XBT / USD çifti için halka açık sorgu bilgisi:
$res = $kraken->QueryPublic('Ticker', array('pair' => 'XXBTZUSD')); print_r($res);
Örnek çıktı:
Array ( [error] => Array ( ) [result] => Array ( [XXBTZUSD] => Array ( [a] => Array ( [0] => 106.09583 [1] => 111 ) [b] => Array ( [0] => 105.53966 [1] => 4 ) [c] => Array ( [0] => 105.98984 [1] => 0.13910102 ) ... ) )
XBT / EUR çifti için 2013-08-07T18: 20: 42 00:00 tarihinden beri halka açık olan alım satım işlemlerini sorgula:
NOT: 'since' parametresi gelecekte değişebilir: hassasiyeti değiştirilebilir ve artık bir zaman damgasını temsil etmeyebilir. En iyi uygulama, onu sonuç setinde döndürülen 'son' değere dayandırmaktır.
$res = $kraken->QueryPublic('Trades', array('pair' => 'XXBTZEUR', 'since' => '137589964200000000')); print_r($res);
Örnek çıktı:
Array ( [error] => Array ( ) [result] => Array ( [XXBTZEUR] => Array ( [0] => Array ( [0] => 78.60500 [1] => 2.03990000 [2] => 1375897934.1176 [3] => s [4] => m [5] => ) [1] => Array ( [0] => 79.41809 [1] => 2.02203000 [2] => 1375898123.0771 [3] => b [4] => m [5] => ) [2] => Array ( [0] => 79.86999 [1] => 7.00000000 [2] => 1375898123.2587 [3] => b [4] => m [5] => ) ... ) [last] => 137589925237491170 ) )
Özel varlık bakiyelerini sorgula:
$res = $kraken->QueryPrivate('Balance'); print_r($res);
Örnek çıktı:
Array ( [error] => Array ( ) [result] => Array ( [ZUSD] => 3415.8014 [ZEUR] => 155.5649 [XXBT] => 149.9688412800 [XXRP] => 499889.51600000 ) )
Özel açık siparişleri ve ilgili alım satım işlemlerini sorgula:
$res = $kraken->QueryPrivate('OpenOrders', array('trades' => true)); print_r($res);
Örnek çıktı:
Array ( [error] => Array ( ) [result] => Array ( [open] => Array ( [O7ICPO-F4CLJ-MVBLHC] => Array ( [refid] => [userref] => [status] => open [opentm] => 1373750306.9819 [starttm] => 0 [expiretm] => 0 [descr] => Array ( [order] => sell 3.00000000 XBTUSD @ limit 500.00000 ) [vol] => 3.00000000 [vol_exec] => 0.00000000 [cost] => 0.00000 [fee] => 0.00000 [price] => 0.00000 [misc] => [oflags] => ) ... ) ) )
Standart bir emir ekleyin: 1.123 $ XBT / USD limit 120 $
$res = $kraken->QueryPrivate('AddOrder', array( 'pair' => 'XXBTZUSD', 'type' => 'sell', 'ordertype' => 'limit', 'price' => '120', 'volume' => '1.123' )); print_r($res);
Örnek çıktı:
Array ( [error] => Array ( ) [result] => Array ( [descr] => Array ( [order] => sell 1.12300000 XBTUSD @ limit 120.00000 ) [txid] => Array ( [0] => OAVY7T-MV5VK-KHDF5X ) ) )
Standart bir sipariş ekleyin: piyasada 300 € XBT değerinde satın alın 2013-08-12T09: 27: 22 0000
$res = $kraken->QueryPrivate('AddOrder', array( 'pair' => 'XXBTZEUR', 'type' => 'buy', 'ordertype' => 'market', 'oflags' => 'viqc', 'volume' => '300', 'starttm' => '1376299642' )); print_r($res);
Örnek çıktı:
Array ( [error] => Array ( ) [result] => Array ( [descr] => Array ( [order] => buy 300.00000000 XBTEUR @ market ) [txid] => Array ( [0] => ONQN65-L2GNR-HWJLF5 ) ) )
Add a standard order: buy 2.12345678 XBTUSD @ limit $101.9901 with 2:1 leverage, with a follow up stop loss, take profit sell order: stop at -5% loss, take profit at +$10 price increase (signed stop/loss prices determined automatically using # notation):
$res = $kraken->QueryPrivate('AddOrder', array( 'pair' => 'XXBTZUSD', 'type' => 'buy', 'ordertype' => 'limit', 'price' => '101.9901', 'volume' => '2.12345678', 'leverage' => '2:1', 'close' => array( 'ordertype' => 'stop-loss-profit', 'price' => '#5%', // stop loss price (relative percentage delta) 'price2' => '#10' // take profit price (relative delta) ) )); print_r($res);
Örnek çıktı:
Array ( [error] => Array ( ) [result] => Array ( [descr] => Array ( [order] => buy 2.12345678 XBTUSD @ limit 101.99010 with 2:1 leverage [close] => close position @ stop loss -5.0000%, take profit +10.00000 ) [txid] => Array ( [0] => OFMYYE-POAPQ-63IMWL ) ) )