Publiczne metody API

Istnieje 6 publicznych metod akceptujących żądania HTTP GET i zwracających odpowiedź w formacie JSON:

ReturnTicker

Metoda zwraca tickery dla wszystkich / określonych rynków; przykłady żądań i odpowiedzi:

Przykład 1.Zwrot wszystkich tickerów.

Żądanie: https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnTicker

Odpowiedź:

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

Przykład 2.Zwrot tickerów BTC_LTC i BTC_DOGE.

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

Odpowiedź:

{
  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

Metoda zwraca wolumen obrotów z 24 godzin dla wszystkich/określonych rynków:

Przykład.Zwrot wolumenu dla BTC_DOGE.

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

Odpowiedź:

{
  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

Metoda zwraca stos zleceń dla określonego rynku.

Przykład.Zwraca stos zleceń dla BTC_DOGE.

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

Odpowiedź:

{
  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

Metoda zwraca 1000(lub mniej jeśli parametr Count jest określony) ostatnich transakcji lub transakcje dla czasu określonego za pomocą parametrów StartTC i EndTS w formacie znacznika czasu UNIX.

Przykład.Zwrot historii transakcji dla BTC_DOGE.

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

Odpowiedź:

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


ReturnChartData

Metoda zwraca dane świecy dla określonego rynku. Czas świecy w minutach może być ustawiony za pomocą paramteru CandleTimeInMinutes, początek i koniec interwału może być ustawiony za pomocą parametrów StartTS i EndTS w formacie znacznika czasu UNIX.

Przykład.Metoda zwraca pięciominutowe świece dla BTC_DOGE do 16 sierpnia 2017 roku.

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

Odpowiedź:

{
  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

Metoda zwraca informacje o wszystkich/określonych walutach.

Przykład.Informacje o walucie DOGE

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

Odpowiedź:

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

Metody trading API

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

Aby korzystać z trading API, należy stworzyć klucz API(https://crex24.com/settings/tokens).

Pamiętaj, że domyślny limit wynosi 6 żądań na sekundę. Jeśli to nie wystarczy, skontaktuj się z Zespołem Obsługi Klienta w celu omówienia zwiększenia limitu.

Wszystkie żądania trading API są wysyłane na adres HTTP przy użyciu metody POST i powinny zawierać następujące nagłówki:
  • UserKey — API key.
  • Podpis - Podpis ciała zapytania POST, utworzonego za pomocą tajnego klucza przy użyciu metody HMACSHA512.

Wszystkie żądania powinny zawierać POST parametr Nonce. Nonce jest unsigned int64, który zawsze musi być większy niż poprzednia wartość. W tym celu możesz użyć parametru timestamp.

Odpowiedź jest wysyłana w formacie JSON. Jeśli wystąpi błąd, odpowiedź jest w następującym formacie:

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

Przykłady wysyłanych żądań do trading API w różnych językach programowania:

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

Uzyskaj dostępne salda.

Przykład.

Żądanie: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnBalances

Treść żądania:

{
    "Names" : ["BTC", "LTC"],    # Lista walut. Jeśli niedostępna, wtedy uzyskaj dla wszystkich walut.
    "NeedNull" : "true"          # Włącz do listy zerowe salda.
}

Odpowiedź:

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

ReturnOpenOrders

Uzyskaj otwarte zlecenia

Przykład.

Żądanie: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnOpenOrders

Treść żądania:

{
  "Pairs": ["BTC_LTC", "BTC_ETH"]    # Lista par handlowych. Jeśli nieobecna, wtedy uzyskaj dla wszystkich par handlowych.
}

Odpowiedź:

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

Uzyskaj historię transakcji.

Przykład.

Żądanie: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnTradeHistory

Treść żądania:

{
  "Pairs": ["BTC_LTC", "BTC_ETH"]   # Lista par handlowych. Jeśli nieobecna, wtedy uzyskaj dla wszystkich par handlowych.
}

Odpowiedź:

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

Uzyskaj wszystkie transakcje według zlecenia.

Przykład.

Żądanie: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnOrderTrades

Treść żądania:

{
  "OrderId": 51893150
}

Odpowiedź:

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

Buy

Złóż zlecenie zakupu.

Przykład.Złóż zlecenie zakupu 10 LTC za BTC w cenie 0.01194538:

Żądanie: https://api.crex24.com/CryptoExchangeService/BotTrade/Buy

Treść żądania:

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

Odpowiedź:

{
  "Id": 51893288
}

Sell

Złóż zlecenie sprzedaży.

Przykład.Złóż zlecenie sprzedaży 10 LTC za BTC w cenie 0.01194538:

Żądanie: https://api.crex24.com/CryptoExchangeService/BotTrade/Sell

Treść żądania:

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

Odpowiedź:

{
  "Id": 51893294
}

CancelOrder

Anuluj zlecenie.

Przykład.

Żądanie: https://api.crex24.com/CryptoExchangeService/BotTrade/CancelOrder

Treść żądania:

{
  "OrderId": 51893294
}

Odpowiedź:

{
  "Success": true
}

CancelOrderMulti

Anuluj kilka zleceń z listy id lub par handlowych.

Żądanie: https://api.crex24.com/CryptoExchangeService/BotTrade/CancelOrderMulti

Przykład 1.Anuluj zlecenia z listy ID:

Treść żądania:

{
  "OrderIds": [51893293, 51893292]
}

Przykład 2.Anuluj wszystkie zlecenia par handlowych:

Treść żądania:

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

Odpowiedź:

{
  "Success": true
}

ReturnOrderStatus

Uzyskaj informacje i wszystkie operacje handlowe według zlecenia.

Przykład.

Żądanie: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnOrderStatus

Treść żądania:

{
  "OrderId": 51893312
}

Odpowiedź:

{
  "CurrentOrder": {               # Obecny status zlecenia.
    "CoinCount": 9.00000000,
    "CoinPrice": 0.01194538,
    "Id": 51893314,
    "IsCloseRequired": false,
    "IsSell": false,
    "PairName": "BTC_LTC"
  },
  "SourceOrder": {                # Początkowy status zlecenia.
    "CoinCount": 10.00000000,
    "CoinPrice": 0.01194538,
    "Id": 51893314,
    "IsCloseRequired": false,
    "IsSell": false,
    "PairName": "BTC_LTC"
  },
  "Trades": [                     # Lista transakcji według zlecenia.
    {
      "CoinCount": 1.00000000,
      "CoinPrice": 0.01194538,
      "Commission": 0.00000000,
      "DtCreateTS": 1507465556,
      "Id": 185250,
      "IsMaker": true,
      "IsSell": false,
      "PairName": "BTC_LTC"
    }
  ]
}

ReturnDepositsWithdrawals

Uzyskaj hitorię wpłat i wypłat. Transakcje zostaną wyświetlone strona za stroną zaczynając od najnowszych. Aby zobaczyć kolejną stronę wpisz w pole FromId najniższy ID wpisu z poprzedniej odpowiedzi.

Przykład.Uzyskaj 100 ostatnich wpisów:

Żądanie: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnDepositsWithdrawals

Treść żądania:

{
  "Names": ["BTC", "LTC"],       # Lista walut. Jeśli niedostępna, wtedy uzyskaj dla wszystkich walut.
  "FromId": 0,                   # 0 lub najniższy ID zapisu z ostatniej odpowiedzi.
  "Take": 100                    # Liczba wpisów które zostaną zwrócone. Maksymalna liczba wpisów wynosi 1000.
}

Odpowiedź:

{
  "CountRemain": 1000,                          # Liczba pozostałych wpisów. Jeśli 0, jest to ostatnia strona.
  "Changes": [
    {
      "Address": "17XjwyX78jusTPXHxxF14ST9fWrCUcLT6L",   # Adres płatności.
      "AgentName": null,                        # Nazwa systemu płatności dla walut fiat.
      "CurrenceName": "BTC",
      "Id": 151,                                # ID wpisu.
      "NeedConfirm": 15,
      "NumConfirm": 17,
      "Status": 3,                              # Status płatności. Zobacz niżej.
      "Sum": 0.20000000,
      "TimeTs": 1504100143,                     # Czas utworzenia wpisu w formacie UTC.
      "TxId": "4f37855e4ecfc8f15b58f3397a6f339ca6f941d63d097c08004f7c9dfc4ec700",   # ID transakcji
      "Type": 2                                 # Rodzaj wpisu. Zobacz niżej.
    },
    ...
  ],
}

Możliwe wartości pola "Status":
  1. - Confirmed by user
  2. - Utworzono transakcję
  3. - Pierwsze potwierdzenie
  4. - Pomyślnie przetworzono
  5. - Transakcja odrzucona
  6. - Przetwarzanie
  7. - Canceled by user
  8. - Waiting to send
Możliwe wartości pola "Type":
  1. - Depozyt kryptowaluty
  2. - Wypłacenie kryptowaluty
  3. - Depozyt waluty fiat
  4. - Wypłacenie waluty fiat

Withdraw

Utwórz żądanie wypłaty środków.

Przykład.

Żądanie: https://api.crex24.com/CryptoExchangeService/BotTrade/Withdraw

Treść żądania:

{
  "Currency": "BTC",
  "Sum": 1.0,
  "Address": "17XjwyX78jusTPXHxxF14ST9fWrCUcLT6L",
  "Message": "any_message"         # Wiadomość dla transakcji (zostanie wysłana, jeśli obsługuje ją waluta).
}

Odpowiedź:

{
  "NewBalance": 9.00000000,                         # Nowe saldo.
  "OutId": 613                                      # ID żądania wypłaty. Jeśli nie 0, żądanie zostało utworzone.
}

ReturnDepositAddress

Uzyskaj adresy dla deponowanych walut. Jeśli jest to potrzebne do wysłania komunikatu, znajdzie się w odpowiedzi.

Żądanie: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnDepositAddress

Przykład 1.Uzyskaj adres aby zdeponować BTC:

Treść żądania:

{
  "Currency": "BTC"
}

Odpowiedź:

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

Przykład 2.Uzyskaj adres aby zdeponować XMR:

Treść żądania:

{
  "Currency": "XMR"
}

Odpowiedź:

{
  "Address": "NC6GOUR4ICVVPPK7N4UIYWDJM6LTUBJFR7OVXDS5",
  "Message": "950a239c0f98ca41"                             # Komunikat, który musi zostać wysłany podczas składania depozytu.
}