Metody veřejného rozhraní API

Existuje 6 veřejných metod, které přijímají požadavky HTTP GET a které vrátí odpověď ve formátu JSON:

ReturnTicker

Tato metoda navrátí tickery všech/zadaných trhů; příklad požadavku a odpovědi:

Příklad 1.Návrat všech tickerů.

Požadavek: https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnTicker

Odpověď:

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

Příklad 2.Návrat tickerů BTC_LTC a BTC_DOGE.

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

Odpověď:

{
  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

Tato metoda navrátí objem obchodů všech/zadaných trhů na dobu 24 hodin:

Příklad:Návrat objemu pro BTC_DOGE.

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

Odpověď:

{
  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

Tato metoda navrátí soubor příkazů pro zadaný trh

Příklad:Návrat souboru příkazů BTC_DOGE.

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

Odpověď:

{
  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

Tato metoda navrátí posledních 1 000 transakcí (nebo méně, pokud je zadán parametr Count) nebo transakce určené parametry StartTS a EndTS ve formátu unixového času.

Příklad:Návrat historie transakcí pro BTC_DOGE.

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

Odpověď:

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


ReturnChartData

Tato metoda navrátí svícová data zadaného trhu. Čas v minutách lze nastavit parametrem CandleTimeInMinutes, začátek a konec časového intervalu lze nastavit parametry StartTS a EndTS ve formátu unixového času.

Příklad:Tato metoda navrátí pěti-minutová svícová data do 16. srpna 2017 pro BTC_DOGE.

Požadavek:https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnChartData?request=\ [PairName=BTC_DOGE][CandleTimeInMinutes=5][StartTS=1][EndTS=1502876344]

Odpověď:

{
  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

Tato metoda navrátí informace o všech/zadaných měnách.

Příklad:Informace o měně DOGE

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

Odpověď:

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

Obchodní metody rozhraní API

Adresa URL pro obchodování s rozhraní API: https://api.crex24.com/CryptoExchangeService/BotTrade/<MethodName>

Pro obchodování s API je třeba vytvořit klíč API(https://crex24.com/settings/tokens).

Upozorňujeme, že výchozí limit je 6 požadavků za sekundu. Pokud to nestačí a chcete tento limit zvýšit, obraťte se na naši podporu.

Všechny požadavky na obchodování s API jsou odeslány na adresu HTTP pomocí metody POST a musí obsahovat následující záhlaví:
  • UserKey - klíč API.
  • Sign - Podpis obsahu požadavku POST vytvořeného pomocí soukromého klíče metodou HMACSHA512.

Všechny požadavky musí obsahovat parametry Nonce metody POST. Hodnota Nonce je unsigned int64, která musí být vždy vyšší než předchozí hodnota. Pro tento účel lze použít aktuálního časového razítka.

Odpověď je odeslána ve formátu JSON. Pokud dojde k chybě, odpověď bude v následujícím formátu:

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

Příklady odeslání obchodního příkazu do rozhraní API v různých programovacích jazycích:

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

Získat dostupné zůstatky.

Příklad:

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

Text dotazu:

{
    "Names" : ["BTC", "LTC"],    # Seznam měn. Pokud chybí, pak načíst všechny měny.
    "NeedNull" : "true"          # Zahrnout v seznamu nulové zůstatky.
}

Odpověď:

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

ReturnOpenOrders

Získat otevřené příkazy.

Příklad:

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

Text dotazu:

{
  "Pairs": ["BTC_LTC", "BTC_ETH"]    # Seznam měnových párů. Pokud chybí, pak načíst všechny měnové páry.
}

Odpověď:

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

Získat historii obchodů.

Příklad:

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

Text dotazu:

{
  "Pairs": ["BTC_LTC", "BTC_ETH"]   # Seznam měnových párů. Pokud chybí, pak načíst všechny měnové páry.
}

Odpověď:

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

Seřadit všechny obchodní transakce podle příkazu.

Příklad:

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

Text dotazu:

{
  "OrderId": 51893150
}

Odpověď:

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

Buy

Vystavit příkaz k nákupu.

Příklad:Vystavit příkaz k nákupu 10 LTC za BTC za cenu 0.01194538:

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

Text dotazu:

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

Odpověď:

{
  "Id": 51893288
}

Sell

Vystavit příkaz k prodeji.

Příklad:Vystavit příkaz k prodeji 10 LTD za BTC za cenu 0.01194538:

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

Text dotazu:

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

Odpověď:

{
  "Id": 51893294
}

CancelOrder

Zrušit příkaz.

Příklad:

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

Text dotazu:

{
  "OrderId": 51893294
}

Odpověď:

{
  "Success": true
}

CancelOrderMulti

Zrušit několik příkazů podle seznamu ID nebo podle měnových párů.

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

Příklad 1.Zrušit příkazy podle seznamu ID:

Text dotazu:

{
  "OrderIds": [51893293, 51893292]
}

Příklad 2.Zrušit všechny příkazy podle měnových párů:

Text dotazu:

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

Odpověď:

{
  "Success": true
}

ReturnOrderStatus

Seřadit informace a všechny obchodní transakce podle příkazu.

Příklad:

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

Text dotazu:

{
  "OrderId": 51893312
}

Odpověď:

{
  "CurrentOrder": {               # Aktuální stav příkazu.
    "CoinCount": 9.00000000,
    "CoinPrice": 0.01194538,
    "Id": 51893314,
    "IsCloseRequired": false,
    "IsSell": false,
    "PairName": "BTC_LTC"
  },
  "SourceOrder": {                # Počáteční stav příkazu.
    "CoinCount": 10.00000000,
    "CoinPrice": 0.01194538,
    "Id": 51893314,
    "IsCloseRequired": false,
    "IsSell": false,
    "PairName": "BTC_LTC"
  },
  "Trades": [                     # Seznam obchodních operací podle příkazu.
    {
      "CoinCount": 1.00000000,
      "CoinPrice": 0.01194538,
      "Commission": 0.00000000,
      "DtCreateTS": 1507465556,
      "Id": 185250,
      "IsMaker": true,
      "IsSell": false,
      "PairName": "BTC_LTC"
    }
  ]
}

ReturnDepositsWithdrawals

Zobrazit historii vkladů a výběrů. Používá se výstup stránkování, počínaje s posledními transakcemi. Pro zobrazení další stránky zadejte do pole FromId nejnižší ID položky z předchozí odpovědi.

Příklad:Zobrazit posledních 100 položek:

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

Text dotazu:

{
  "Names": ["BTC", "LTC"],       # Seznam měn. Pokud chybí, pak načíst všechny měny.
  "FromId": 0,                   # 0 nebo nejnižší ID záznamu z předchozí odpovědi.
  "Take": 100                    # Počet vrácených položek. Maximální počet položek je 1 000.
}

Odpověď:

{
  "CountRemain": 1000,                          # Počet zbývajících položek. Pokud je to 0, pak je to poslední stránka.
  "Changes": [
    {
      "Address": "17XjwyX78jusTPXHxxF14ST9fWrCUcLT6L",   # Adresa platby.
      "AgentName": null,                        # Název systému platby pro fiat měny.
      "CurrenceName": "BTC",
      "Id": 151,                                # ID položky.
      "NeedConfirm": 15,
      "NumConfirm": 17,
      "Status": 3,                              # Stav platby. Viz níže.
      "Sum": 0.20000000,
      "TimeTs": 1504100143,                     # Čas vytvoření položky ve formátu UTC.
      "TxId": "4f37855e4ecfc8f15b58f3397a6f339ca6f941d63d097c08004f7c9dfc4ec700",   # ID transakce
      "Type": 2                                 # Typ položky. Viz níže.
    },
    ...
  ],
}

Možné hodnoty pole "Status":
  1. - Confirmed by user
  2. - Transakce vytvořena
  3. - První potvrzení
  4. - Úspěšně zpracováno
  5. - Transakce byla odmítnuta
  6. - Zpracovává se
  7. - Canceled by user
  8. - Waiting to send
Možné hodnoty pole "Type":
  1. - Vklad kryptoměny
  2. - Výběr kryptoměny
  3. - Vklad měny fiat
  4. - Výběr měny fiat

Withdraw

Vytvořit požadavek na výběr.

Příklad:

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

Text dotazu:

{
  "Currency": "BTC",
  "Sum": 1.0,
  "Address": "17XjwyX78jusTPXHxxF14ST9fWrCUcLT6L",
  "Message": "any_message"         # Zpráva o transakci (bude odeslána, pokud to měna podporuje).
}

Odpověď:

{
  "NewBalance": 9.00000000,                         # Nový zůstatek účtu.
  "OutId": 613                                      # ID požadavku na výběr. Pokud hodnota není 0, pak byl požadavek úspěšně vytvořen.
}

ReturnDepositAddress

Získat adresu k doplnění měny. Pokud chcete pro vklad zadat zprávu, bude v odpovědi uvedena.

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

Příklad 1.Získat adresu pro vklad BTC:

Text dotazu:

{
  "Currency": "BTC"
}

Odpověď:

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

Příklad 2.Získat adresu pro vklad XMR:

Text dotazu:

{
  "Currency": "XMR"
}

Odpověď:

{
  "Address": "NC6GOUR4ICVVPPK7N4UIYWDJM6LTUBJFR7OVXDS5",
  "Message": "950a239c0f98ca41"                             # Zpráva, která musí být uvedena při dobíjení účtu.
}