API

API'mız hakkında bilgi edinin

WebSockets API

WebSockets Dokümanı

REST API

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
)

)

)