Kaedah API Am

Terdapat 6 kaedah awam yang menerima permintaan HTTP GET dan mengembalikan hasilnya dalam format JSON:

ReturnTicker

Kaedah mengembalikan penanda untuk semua/specifik pasaran; contoh permintaan dan respons:

Contoh 1. Pengembalian semua penanda.

Permintaan: https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnTicker

Respons:

{
  Tickers: [{
    BaseVolume: "0.00000000",
    HighPrice: "0.09611615",
    Last: "0.05125186",
    LowPrice: "0.04456261",
    ...
  },  {
    BaseVolume: "0.00000000",
    HighPrice: "0.02062280",
    Last: "0.01025148",
    LowPrice: "0.00972667",
    ...
  },  {
    BaseVolume: "0.00000000",
    HighPrice: "0.00105385",
    Last: "0.00050066",
    LowPrice: "0.00040122",
    ...
  },  ...]
}

Contoh 2. Pengembalian ticker BTC_LTC dan BTC_DOGE.

Permintaan: https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnTicker?request=[NamePairs=BTC_LTC,BTC_DOGE]

Respons:

{
  Tickers:  [{
    BaseVolume: "0.00000000",
    HighPrice: "0.02062280",
    Last: "0.01023842",
    LowPrice: "0.00972667",
    ...
  },  {
    BaseVolume: "0.47617000",
    HighPrice: "0.00000080",
    Last: "0.00000041",
    LowPrice: "0.00000035",
    ...
  }]
}


Return24Volume

Kaedah mengembalikan jumlah dagangan untuk 24 jam untuk semua/spesifik pasaran:

Contoh. Pengembalian jumlah untuk BTC_DOGE.

Permintaan: https://api.crex24.com/CryptoExchangeService/BotPublic/Return24Volume?request=[NamePairs=BTC_DOGE]

Respons:

{
  Volume: {
    VolumesByOne: [{
      Name: "BTC",
      Volume: 0.23673
    }, {
      Name: "DOGE",
      Volume: 577000
    }],
    VolumesByTwo: [{
      First: {
        Name: "BTC",
        Volume: 0.23673
      },
      Name: "BTC_DOGE",
      Second: {
        Name: "DOGE",
        Volume: 577000
      }
    }]
  }
}


ReturnOrderBook

Kaedah mengembalikan tindanan pesanan untuk pasaran spesifik yang ditentukan

Contoh. Pengembalian tindanan pesanan untuk BTC_DOGE.

Permintaan: https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnOrderBook?request=[PairName=BTC_DOGE]

Respons:

{
  BuyOrders: [{
    AccumulateMoneyCount: "36826.27800846",
    AccumulateMoneyVolume: "0.01509877",
    CoinCount: "36826.27800846",
    ...
  },  {
    AccumulateMoneyCount: "67304.76798074",
    AccumulateMoneyVolume: "0.02729017",
    CoinCount: "30478.48997228",
    ...
  },  {
    AccumulateMoneyCount: "75084.76074510",
    AccumulateMoneyVolume: "0.03032437",
    CoinCount: "7779.99276436",
    ...
  },  {
    AccumulateMoneyCount: "75433.94286209",
    AccumulateMoneyVolume: "0.03045706",
    CoinCount: "349.18211699",
    ...
  }],
  SellOrders: [{
    AccumulateMoneyCount: "10642.66536957",
    AccumulateMoneyVolume: "0.00446992",
    CoinCount: "10642.66536957",
    ...
  },  {
    AccumulateMoneyCount: "31738.44031685",
    AccumulateMoneyVolume: "0.01354110",
    CoinCount: "21095.77494728",
    ...
  }, {
    AccumulateMoneyCount: "41156.60557210",
    AccumulateMoneyVolume: "0.01768510",
    CoinCount: "9418.16525525",
    ...
  }, {
    AccumulateMoneyCount: "50937.97566773",
    AccumulateMoneyVolume: "0.02208671",
    CoinCount: "9781.37009563",
    ...
  }]
}


ReturnTradeHistoryPub

Kaedah ini mengembalikan 1,000 urusniaga terakhir (atau kurang jika parameter Kira dinyatakan) atau urusniaga untuk masa yang dinyatakan oleh parameter StartTS dan EndTS dalam format penanda masa UNIX.

Contoh. Pengembalian sejarah urusniaga untuk BTC_DOGE.

Permintaan: https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnTradeHistoryPub?request=[PairName=BTC_DOGE]

Respons:

{
  Trades: [{
    CoinCount: "716.23394813",
    CoinPrice: "0.00000037",
    Commission: "0.00000027",
    DtCreateTS: 1502771794,
    ...
  }, {
    CoinCount: "283.76605187",
    CoinPrice: "0.00000037",
    Commission: "0.00000010",
    DtCreateTS: 1502771794,
    ...
  }]
}


ReturnChartData

Kaedah ini mengembalikan data lilin untuk pasaran tertentu. Masa paparan lilin dalam minit boleh ditetapkan oleh parameter CandleTimeInMinutes, pemulaan dan penghujung tempoh masa boleh ditetapkan oleh parameter StartTS dan EndTS dalam format penanda masa UNIX.

Contoh. Kaedah ini mengembalikan carta kutipan harian untuk BTC-DOGE untuk tempoh dari 1 hingga 31 Januari 2019.

Permintaan: https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnChartData?request=[PairName=BTC_DOGE][CandleTimeInMinutes=1440][StartTS=1546300800][EndTS=1548892800]

Respons:

{
  Candles:  [{
    EndOrderPrice: "0.00000099",
    MaxOrderPrice: "0.00000100",
    MinOrderPrice: "0.00000098",
    OrderCount: 4,
    ...
  },  {
    EndOrderPrice: "0.00000100",
    MaxOrderPrice: "0.00000101",
    MinOrderPrice: "0.00000099",
    OrderCount: 2,
    ...
  },  {
    EndOrderPrice: "0.00000102",
    MaxOrderPrice: "0.00000103",
    MinOrderPrice: "0.00000100",
    OrderCount: 4 ,
    ...
  },  ...]
}


ReturnCurrencies

Kaedah mengembalikan maklumat tentang semua matawang atau matawang terkhusus.

Contoh. Maklumat tentang matawang DOGE

Permintaan: https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnCurrencies?request=[Names=DOGE]

Respons:

{
  Currencies: [{
    Delisted: false,
    Disabled: false,
    Frozen: false,
    MinConf: 6,
    Name: "Dogecoin",
    ...
  }]
}

Kaedah API dagangan

Url untuk API dagangan: https://api.crex24.com/CryptoExchangeService/BotTrade/ <MethodName>

Ia diperlukan untuk menjana kunci API untuk menggunakan API dagangan(https://crex24.com/settings/tokens).

Sila sedia maklum bahawa had lalai adalah 6 permintaan sesaat. Jika ini tidak mencukupi, sila hubungi Pasukan Sokongan Pelanggan untuk mendapatkan had yang lebih tinggi.

Semua pemintaan API dagangan dihantar ke alamat HTTP dengan kaedah POST dan patut mengandungi pengepala berikut:
  • UserKey — API key.
  • Tandatangan - Tanda tangan badan permintaan POST, dicipta dengan kunci rahsia melalui HMACSHA512.

Semua permintaan mesti mengandungi Nonce parameter POST. Nonce adalah integer64 tanpa tanda yang mesti sentiasa lebih tinggi nilainya berbanding nilai sebelumnya. Anda mesti menggunakan parameter tandamasa untuk mencapai keperluan ini.

Maklum balas dihantar dalam format JSON. Jika ralat berlaku, maka maklum balas akan dalam format berikut:

{"Error" : {"Message" : "<error message>"}}

Contoh permintaan yang dihantar ke API dagangan dalam bahasa pengaturcaraan yang berbeza:

Readme: https://github.com/iiw/Crex24.Examples

Python: https://github.com/iiw/Crex24.Examples/blob/master/python/app.py

C#: https://github.com/3P3C/Crex24.Example/blob/master/Crex24Example/Program.cs

JS: https://github.com/iiw/Crex24.Examples/tree/master/js

PHP: https://github.com/iiw/Crex24.Examples/blob/master/php/app.php

ReturnBalances

Dapatkan baki sedia ada.

Contoh.

Minta: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnBalances

Teks Permintaan:

{
    "Names" : ["BTC", "LTC"],    # Senarai mata wang. Jika tidak sedia ada, dapatkan untuk semua matawang.
    "NeedNull" : "true"          #Sertakan baki sifar ke dalam senarai.
}

Respons:

{
  "Balances": [
    {
      "AvailableBalances": 10.00000000,
      "InOrderBalances": 10.00000000,
      "Name": "BTC"
    },
    {
      "AvailableBalances": 0.00000000,
      "InOrderBalances": 0.00000000,
      "Name": "LTC"
    }
  ]
}

ReturnOpenOrders

Dapatkan pesanan terbuka.

Contoh.

Minta: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnOpenOrders

Teks Permintaan:

{
  "Pairs": ["BTC_LTC", "BTC_ETH"]    #Senarai pasangan dagangan. Jika tiada, dapatkan untuk semua pasangan dagangan.
}

Respons:

{
  "Orders": [
    {
      "CoinCount": 1.00000000,
      "CoinPrice": 0.01135442,
      "Id": 71463796,
      "IsCloseRequired": false,
      "IsSell": true,
      "PairName": "BTC_LTC"
    },
    {
      "CoinCount": 1.00000000,
      "CoinPrice": 0.06835904,
      "Id": 71463169,
      "IsCloseRequired": false,
      "IsSell": true,
      "PairName": "BTC_ETH"
    },
    ...
  ]
}

ReturnTradeHistory

Dapatkan sejarah dagangan.

Contoh.

Minta: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnTradeHistory

Teks Permintaan:

{
  "Pairs": ["BTC_LTC", "BTC_ETH"]   #Senarai pasangan dagangan. Jika tiada, dapatkan untuk semua pasangan dagangan.
}

Respons:

{
  "Trades": [
    {
      "CoinCount": 1.00000000,
      "CoinPrice": 0.06835904,
      "Commission": 0.00000166,
      "DtCreateTS": 1506517638,
      "Id": 185197,
      "IsMaker": true,
      "IsSell": true,
      "PairName": "BTC_ETH"
    },
    {
      "CoinCount": 1.00000000,
      "CoinPrice": 0.01135442,
      "Commission": 0.00000166,
      "DtCreateTS": 1506085177,
      "Id": 185169,
      "IsMaker": true,
      "IsSell": false,
      "PairName": "BTC_LTC"
    },
    ...
  ]
}

ReturnOrderTrades

Dapatkan semua urusniaga dagangan mengikut pesanan.

Contoh.

Minta: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnOrderTrades

Teks Permintaan:

{
  "OrderId": 51893150
}

Respons:

{
  "Trades": [
    {
      "CoinCount": 10.00000000,
      "CoinPrice":  0.06835904,
      "Commission": 0.00000166,
      "DtCreateTS": 1506517638,
      "Id": 185197,
      "IsMaker": true,
      "IsSell": true,
      "PairName": "BTC_ETH"
    },
    ...
  ]
}

Buy

Tempatkan pesanan untuk membeli.

Contoh. Tempatkan pesanan untuk membeli 10 LTC untuk BTC pada harga 0.01194538:

Minta: https://api.crex24.com/CryptoExchangeService/BotTrade/Buy

Teks Permintaan:

{
  "Pair": "BTC_LTC",
  "Course": 0.01194538,
  "Volume": 10.0
}

Respons:

{
  "Id": 51893288
}

Sell

Tempatkan pesanan untuk jual.

Contoh. Tempatkan pesanan untuk menjual 10 LTC untuk BTC pada harga 0.01194538:

Minta: https://api.crex24.com/CryptoExchangeService/BotTrade/Sell

Teks Permintaan:

{
  "Pair": "BTC_LTC",
  "Course": 0.01194538,
  "Volume": 10.0
}

Respons:

{
  "Id": 51893294
}

CancelOrder

Batalkan pesanan.

Contoh.

Minta: https://api.crex24.com/CryptoExchangeService/BotTrade/CancelOrder

Teks Permintaan:

{
  "OrderId": 51893294
}

Respons:

{
  "Success": true
}

CancelOrderMulti

Batalkan beberapa pesanan mengikut senarai ID atau dengan pasangan dagangan.

Minta: https://api.crex24.com/CryptoExchangeService/BotTrade/CancelOrderMulti

Contoh 1. Batalkan pesanan mengikut senarai ID:

Teks Permintaan:

{
  "OrderIds": [51893293, 51893292]
}

Contoh 2. Batalkan semua pesanan mengikut pasangan dagangan:

Teks Permintaan:

{
  "PairNames": ["BTC_ETH", "BTC_LTC"]
}

Respons:

{
  "Success": true
}

ReturnOrderStatus

Dapatkan maklumat dan semua urusniaga dagangan mengikut pesanan.

Contoh.

Minta: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnOrderStatus

Teks Permintaan:

{
  "OrderId": 51893312
}

Respons:

{
  "CurrentOrder": {               #Status pesanan semasa.
    "CoinCount": 9.00000000,
    "CoinPrice": 0.01194538,
    "Id": 51893314,
    "IsCloseRequired": false,
    "IsSell": false,
    "PairName": "BTC_LTC"
  },
  "SourceOrder": {                #Status pesanan awal.
    "CoinCount": 10.00000000,
    "CoinPrice": 0.01194538,
    "Id": 51893314,
    "IsCloseRequired": false,
    "IsSell": false,
    "PairName": "BTC_LTC"
  },
  "Trades": [                     #Senarai urusniaga dagangan mengikut pesanan.
    {
      "CoinCount": 1.00000000,
      "CoinPrice": 0.01194538,
      "Commission": 0.00000000,
      "DtCreateTS": 1507465556,
      "Id": 185250,
      "IsMaker": true,
      "IsSell": false,
      "PairName": "BTC_LTC"
    }
  ]
}

ReturnDepositsWithdrawals

Dapatkan sejarah penyimpanan dan pengeluaran. Urusniaga akan dipaparkan mengikut halaman, bermula dari urusniaga terkini. Untuk melihat halaman seterusnya, lengkapkan medan FromId dengan ID rekod terendah dari respons sebelum ini.

Contoh. Dapatkan 100 rekod terbaru:

Minta: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnDepositsWithdrawals

Teks Permintaan:

{
  "Names": ["BTC", "LTC"],       # Senarai mata wang. Jika tidak sedia ada, dapatkan untuk semua matawang.
  "FromId": 0,                   #0 atau ID rekod terendah dari respons sebelum ini.
  "Take": 100                    #Bilangan rekod untuk dikembalikan. Bilangan rekod maksimum adalah 1,000.
}

Respons:

{
  "CountRemain": 1000,                          #Bilangan rekod yang tinggal. Jika 0, maka ini adalah halaman terakhir.
  "Changes": [
    {
      "Address": "17XjwyX78jusTPXHxxF14ST9fWrCUcLT6L",   #Alamat pembayaran.
      "AgentName": null,                        #Nama sistem pembayaran untuk matawang fiat.
      "CurrenceName": "BTC",
      "Id": 151,                                #ID Rekod.
      "NeedConfirm": 15,
      "NumConfirm": 17,
      "Status": 3,                              #Status pembayaran. Lihat di bawah.
      "Sum": 0.20000000,
      "TimeTs": 1504100143,                     #Masa rekod dimasukkan dalam format UTC.
      "TxId": "4f37855e4ecfc8f15b58f3397a6f339ca6f941d63d097c08004f7c9dfc4ec700",   #ID Urusniaga
      "Type": 2                                 #Jenis rekod. Lihat di bawah.
    },
    ...
  ],
}

Nilai yang mungkin bagi medan "Status":
  1. - Disahkan oleh pengguna
  2. - Urusniaga dicipta
  3. - Pengesahan pertama
  4. - Berjaya diproses
  5. - Urusniaga ditolak
  6. - Sedang diproses
  7. - Dibatalkan oleh pengguna
  8. - Tunggu untuk dihantar
Nilai yang mungkin untuk medan "Jenis":
  1. - Deposit matawang kripto
  2. - Pengeluaran matawang kripto
  3. - Penyimpanan matawang fiat
  4. - Pengeluaran matawang fiat

Withdraw

Masukkan permintaan pengeluaran.

Contoh.

Minta: https://api.crex24.com/CryptoExchangeService/BotTrade/Withdraw

Teks Permintaan:

{
  "Currency": "BTC",
  "Sum": 1.0,
  "Address": "17XjwyX78jusTPXHxxF14ST9fWrCUcLT6L",
  "Message": "any_message"         #Mesej untuk urusniaga (akan dihantar jika matawang disokong).
}

Respons:

{
  "NewBalance": 9.00000000,                         #Baki baru.
  "OutId": 613                                      #ID pemintaan untuk pengeluaran. Jika bukan 0, permintaan telah berjaya dimasukkan.
}

ReturnDepositAddress

Dapatkan alamat untuk menyimpan matawang. Jika mesej mesti dinyatakan untuk menyimpan, maka mesej akan disertakan dalam respons.

Minta: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnDepositAddress

Contoh 1. Dapatkan alamat untuk menyimpan BTC:

Teks Permintaan:

{
  "Currency": "BTC"
}

Respons:

{
  "Address": "1JH6h3qDbAMEzAD8e7usWEqePddHzpSTgK",
  "Message": null 
}

Contoh 2. Dapatkan alamat untuk menyimpan XMR:

Teks Permintaan:

{
  "Currency": "XMR"
}

Respons:

{
  "Address": "NC6GOUR4ICVVPPK7N4UIYWDJM6LTUBJFR7OVXDS5",
  "Message": "950a239c0f98ca41"                             #Mesej yang mesti dinyatakan semasa proses penyimpanan.
}