Matatapos ang bersyon ng API sa Disyembre 5, 2019. Paki-update ang code ng iyong trading bot para magamit Trade API 2.0 - isang bagong bersyon ng API na nagbibigay ng mas maigting na seguridad, may pinahusay na functionality, at mas madaling gamitin.

Mga paraan ng pampublikong API

May 6 na pampublikong pamamaraan na tumatanggap ng mga kahilingan na HTTP GET at nagbabalik sa tugon sa JSON na format:

ReturnTicker

Ibinabalik ng paraan ang mga ticker para sa lahat/tinukoy na market; mga halimbawa ng mga kahilingan at tugon:

Halimbawa 1. Ibabalik ng lahat ng ticker.

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

Sagot:

{
  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",
    ...
  },  ...]
}

Halimbawa 2. Ibabalik na BTC_LTC at BTC_DOGE ticker.

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

Sagot:

{
  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

Ibinabalik ng paraan ang dami ng volume sa loob ng 24 na oras para sa lahat/tinukoy na market:

Halimbawa. Ibabalik dami para sa BTC_DOGE.

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

Sagot:

{
  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

Ibinabalik ng paraan ang stack ng mga order para sa tinukoy na market

Halimbawa. Ibabalik ng stack ng mga order para sa BTC_DOGE.

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

Sagot:

{
  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

Ibinabalik ng paraan ang huling 1,000 (o mas kaunti pa kung tinukoy ang sukatan ng Bilang) transaksyon o mga transaksyon para sa tinukoy na oras ayon sa StartTS at EndTS na parameter sa UNIX timestamp na format.

Halimbawa. Ibabalik ng history ng mga transaksyon para sa BTC_DOGE.

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

Sagot:

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


ReturnChartData

Ibinabalik ng paraan ang candlestick data para sa isang tinukoy na market. Puwedeng itakda ang oras ng candlestick ayon sa mga minuto ng CandleTimeInMinutes na parameter, kung saan ang simula at dulo ng pagitan ay puwedeng itakda ayon sa mga StartTS at EndTS na parameter sa UNIX timestamp na format.

Halimbawa. Ibinabalik ng paraang ito ang arawang chart ng quote para sa BTC-DOGE para sa panahon mula Enero 1 hanggang 31, 2019.

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

Sagot:

{
  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

Ibinabalik ng paraan ang impormasyon tungkol sa lahat/tinukoy na currency.

Halimbawa. Impormasyon tungkol sa DOGE currency

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

Sagot:

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

Mga paraan ng trading API

Url para sa API trading: https://api.crex24.com/CryptoExchangeService/BotTrade/<MethodName>

Kailangan ito sa paggawa ng API key para magamit ang trading API(https://crex24.com/settings/tokens).

Pakitandaang ang default na limitasyon ay 6 na kahilingan kada segundo. Kung hindi ito sapat, makipag-ugnayan sa Customer Support Team para talakayin ang pagpapataas ng limitasyon.

Ang lahat ng kahilingan sa trading API ay ipinapadala sa HTTP address ayon sa POST na paraan at dapat ay naglalaman ito ng sumusunod na header:
  • UserKey — API key.
  • Mag-sign — Signature ng nilalaman ng kahilangan ng POST na ginawa gamit ang isang secret key sa pamamagitan ng HMACSHA512.

Ang lahat ng kahilingan ay dapat may POST na parameter na Nonce. Ang Nonce ay isang walang sign na int64 na dapat ay palaging mas malaki kumpara sa naunang value. Puwede mong gamitin ang parameter ng timestamp para sa mga layuning ito.

Isang tugon ang ipinadala sa JSON na format. Kung magkaka-error, makikita ang tugon sa sumusunod na format:

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

Halimbawa ng mga kahilingang ipinapadala sa trading API sa iba't ibang programming language:

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

Kunin ang mga available na balanse.

Halimbawa.

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

Kabuuan ng kahilingan:

{
    "Names" : ["BTC", "LTC"],    # Listahan ng currency. Kung hindi available, kunin para sa lahat ng currency.
    "NeedNull" : "true"          # Isama ang mga zero na balanse sa listahan.
}

Sagot:

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

ReturnOpenOrders

Kunin ang mga bukas na order.

Halimbawa.

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

Kabuuan ng kahilingan:

{
  "Pairs": ["BTC_LTC", "BTC_ETH"]    # Listahan ng mga trading pair. Kung wala, kunin para sa lahat ng trading pair.
}

Sagot:

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

Kunin ang history ng trading.

Halimbawa.

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

Kabuuan ng kahilingan:

{
  "Pairs": ["BTC_LTC", "BTC_ETH"]   # Listahan ng mga trading pair. Kung wala, kunin para sa lahat ng trading pair.
}

Sagot:

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

Kunin ang lahat ng transaksyon sa trading ayon sa order.

Halimbawa.

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

Kabuuan ng kahilingan:

{
  "OrderId": 51893150
}

Sagot:

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

Buy

Mag-order para bumili.

Halimbawa. Mag-order para bumili ng 10 LTC para sa BTC sa presyong 0.01194538:

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

Kabuuan ng kahilingan:

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

Sagot:

{
  "Id": 51893288
}

Sell

Mag-order para magbenta.

Halimbawa. Mag-order para magbenta ng 10 LTC para sa BTC sa presyong 0.01194538:

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

Kabuuan ng kahilingan:

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

Sagot:

{
  "Id": 51893294
}

CancelOrder

Kanselahin ang order.

Halimbawa.

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

Kabuuan ng kahilingan:

{
  "OrderId": 51893294
}

Sagot:

{
  "Success": true
}

CancelOrderMulti

Kanselahin ang ilang order ayon sa listahan ng mga ID o ayon sa mga trading pair.

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

Halimbawa 1. Kanselahin ang mga order ayon sa listahan ng mga ID:

Kabuuan ng kahilingan:

{
  "OrderIds": [51893293, 51893292]
}

Halimbawa 2. Kanselahin ang lahat ng order ayon sa mga trading pair:

Kabuuan ng kahilingan:

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

Sagot:

{
  "Success": true
}

ReturnOrderStatus

Kunin ang impormasyon at ang lahat ng transaksyon sa trading ayon sa order.

Halimbawa.

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

Kabuuan ng kahilingan:

{
  "OrderId": 51893312
}

Sagot:

{
  "CurrentOrder": {               # Status ng kasalukuyang order.
    "CoinCount": 9.00000000,
    "CoinPrice": 0.01194538,
    "Id": 51893314,
    "IsCloseRequired": false,
    "IsSell": false,
    "PairName": "BTC_LTC"
  },
  "SourceOrder": {                # Status ng inisyal na order.
    "CoinCount": 10.00000000,
    "CoinPrice": 0.01194538,
    "Id": 51893314,
    "IsCloseRequired": false,
    "IsSell": false,
    "PairName": "BTC_LTC"
  },
  "Trades": [                     # Listahan ng mga transaksyon sa trading ayon sa order.
    {
      "CoinCount": 1.00000000,
      "CoinPrice": 0.01194538,
      "Commission": 0.00000000,
      "DtCreateTS": 1507465556,
      "Id": 185250,
      "IsMaker": true,
      "IsSell": false,
      "PairName": "BTC_LTC"
    }
  ]
}

ReturnDepositsWithdrawals

Kunin ang history ng deposito at withdrawal. Ipapakita ang mga transaksyon sa bawat page, mula sa pinakakamakailan. Para tingnan ang susunod na page, kumpletuhin ang field na FromId gamit ang pinakamababang record ID mula sa nakaraang sagot.

Halimbawa. Kunin ang huling 100 record:

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

Kabuuan ng kahilingan:

{
  "Names": ["BTC", "LTC"],       # Listahan ng currency. Kung hindi available, kunin para sa lahat ng currency.
  "FromId": 0,                   # 0 o ang pinakamababang record ID mula sa nakaraang tugon.
  "Take": 100                    # Dami ng ibabalik na record. Ang maximum na dami ng record ay 1,000.
}

Sagot:

{
  "CountRemain": 1000,                          # Dami ng natitirang record. Kung 0, ito na ang huling page.
  "Changes": [
    {
      "Address": "17XjwyX78jusTPXHxxF14ST9fWrCUcLT6L",   # Address sa pagbabayad.
      "AgentName": null,                        # Pangalan ng system ng pagbabayad para sa mga fiat currency.
      "CurrenceName": "BTC",
      "Id": 151,                                # Record ID.
      "NeedConfirm": 15,
      "NumConfirm": 17,
      "Status": 3,                              # Status ng bayad. Tingnan sa ibaba.
      "Sum": 0.20000000,
      "TimeTs": 1504100143,                     # Nasa UTC na format ang oras ng paggawa ng record.
      "TxId": "4f37855e4ecfc8f15b58f3397a6f339ca6f941d63d097c08004f7c9dfc4ec700",   # Transaction ID
      "Type": 2                                 # Uri ng record. Tingnan sa ibaba.
    },
    ...
  ],
}

Mga posibleng value para sa field na "Status":
  1. - Kinumpirma ng user
  2. - Nagawa ang transaksyon
  3. - Unang kumpirmasyon
  4. - Matagumpay na naproseso
  5. - Tinanggihan ang transaksyon
  6. - Pinoproseso
  7. - Kinansela ng user
  8. - Naghihinatay para ipadala
Mga posibleng value para sa field na "Uri":
  1. - Pagdeposito ng Cryptocurrency
  2. - Pag-withdraw ng cryptocurrency
  3. - Pagdeposito ng Fiat currency
  4. - Pag-withdraw ng Fiat currency

Withdraw

Gumawa ng kahilingan sa withdrawal

Halimbawa.

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

Kabuuan ng kahilingan:

{
  "Currency": "BTC",
  "Sum": 1.0,
  "Address": "17XjwyX78jusTPXHxxF14ST9fWrCUcLT6L",
  "Message": "any_message"         # Mensahe para sa mga transaksyon (ipapadala kung sinusuportahan ito ng currency).
}

Sagot:

{
  "NewBalance": 9.00000000,                         # Bagong balanse.
  "OutId": 613                                      # Id ng kahilingan sa pag-withdraw. Kung hindi 0, matagumpay na nagawa ang kahilingan.
}

ReturnDepositAddress

Kunin ang address para madeposito ang currency. Kung kailangang isaad ang isang mensahe para sa pagdedeposito, makikita ang mensahe sa sagot.

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

Halimbawa 1. Kunin ang address para madeposito ang BTC:

Kabuuan ng kahilingan:

{
  "Currency": "BTC"
}

Sagot:

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

Halimbawa 2. Kunin ang address para madeposito ang XMR:

Kabuuan ng kahilingan:

{
  "Currency": "XMR"
}

Sagot:

{
  "Address": "NC6GOUR4ICVVPPK7N4UIYWDJM6LTUBJFR7OVXDS5",
  "Message": "950a239c0f98ca41"                             # Isang mensahe na dapat ilahad habang nagdedeposito.
}