Öffentliche API Methoden

Es gibt 6 öffentliche Methoden, die die HTTP-GET-Anforderungen akzeptieren und die Antwort im JSON-Format zurückgeben:

ReturnTicker

Die Methode gibt Ticker für alle/angegebenen Märkte zurück; Beispiele für Anfrage und Antwort:

Beispiel 1.Rückgabe aller Ticker.

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

Antwort:

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

Beispiel 2.Rückgabe von BTC_LTC und BTC_DOGE Tickern.

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

Antwort:

{
  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

Die Methode gibt das Handelsvolumen für 24 Stunden für alle/festgelegte Märkte zurück:

Beispiel:Rückgabe des Volumens für BTC_DOGE.

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

Antwort:

{
  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

Die Methode gibt den Stapel der Aufträge für den angegebenen Markt zurück

Beispiel:Rückgabe des Stapels der Aufträge für BTC_DOGE.

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

Antwort:

{
  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

Die Methode gibt die letzten 1.000 (oder weniger, wenn der Zählparameter angegeben ist) Transaktionen oder Transaktionen für die Zeit zurück, die von den Parametern StartTS und EndTS im UNIX-Zeitstempelformat angegeben wurde.

Beispiel:Verlauf der Rückgabe der Transaktionen für BTC_DOGE.

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

Antwort:

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


ReturnChartData

Die Methode gibt Candlestick-Daten für einen bestimmten Markt zurück. Die Candlestick-Zeit in Minuten kann mit dem CandleTimeInMinutes-Parameter festgelegt werden. Der Anfang und das Ende des Intervalls können mit den Parametern StartTS und EndTS im UNIX-Zeitstempelformat festgelegt werden.

Beispiel:Die Methode gibt die fünfminütigen Candlesticks für BTC_DOGE vor dem 16. August 2017 zurück.

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

Antwort:

{
  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

Die Methode gibt Informationen über alle/festgelegte Währungen zurück.

Beispiel:Informationen über DOGE Währung

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

Antwort:

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

Trading API methods

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

Es ist erforderlich, einen API-Schlüssel zu erstellen, um die Handels-API zu verwenden(https://crex24.com/settings/tokens).

Bitte beachten Sie, dass das Standardlimit 6 Anfragen pro Sekunde beträgt. Wenn dies nicht ausreicht, kontaktieren Sie bitte den Kundenservice, um die Erhöhung des Limits zu besprechen.

Alle Handels-API-Anfragen werden per POST-Methode an die HTTP-Adresse gesendet und müssen folgende Header enthalten:
  • UserKey — API key.
  • Sign — Signatur der POST-Body-Anforderung, die mit der Methode HMACSHA512 über den geheimen Schlüssel erstellt wurde.

Alle Anfragen sollten den POST-Parameter Nonce enthalten. Nonce ist unsigned int64, das immer größer als der vorherige Wert sein muss. Sie können den Zeitstempelparameter für diesen Zweck verwenden.

Eine Antwort wird in JSON gesendet. Wenn ein Fehler auftritt, hat die Antwort das folgende Format:

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

Examples of requests sent to trading API in various programming languages:

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

Verfügbare Salden erhalten.

Beispiel:

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

Request body:

{
    "Names" : ["BTC", "LTC"],    # Währungsliste. Wenn abwesend, dann für alle Währungen zu bekommen.
    "NeedNull" : "true"          # Der Liste Nullsalden hinzufügen.
}

Response:

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

ReturnOpenOrders

Offene Orders erhalten.

Beispiel:

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

Request body:

{
  "Pairs": ["BTC_LTC", "BTC_ETH"]    # Liste der Handelspaare. Wenn abwesend dann für alle Handelspaare zu bekommen.
}

Response:

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

Handelsverlauf erhalten.

Beispiel:

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

Request body:

{
  "Pairs": ["BTC_LTC", "BTC_ETH"]   # Liste der Handelspaare. Wenn abwesend dann für alle Handelspaare zu bekommen.
}

Response:

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

Alle Handelstransaktionen nach Order erhalten.

Beispiel:

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

Request body:

{
  "OrderId": 51893150
}

Response:

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

Buy

Order platzieren, um zu kaufen.

Beispiel:Order platzieren, um 10 LTC für BTC zum Preis von 0,01194538 zu kaufen:

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

Request body:

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

Response:

{
  "Id": 51893288
}

Sell

Order platzieren, um zu verkaufen.

Beispiel:Order platzieren, um 10 LTC für BTC zum Preis von 0,01194538 zu verkaufen:

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

Request body:

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

Response:

{
  "Id": 51893294
}

CancelOrder

Order abbrechen.

Beispiel:

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

Request body:

{
  "OrderId": 51893294
}

Response:

{
  "Success": true
}

CancelOrderMulti

Mehrere Orders durch eine Liste von ID's oder durch Pairs-Trading abbrechen.

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

Beispiel 1.Orders durch eine Liste von ID's abbrechen:

Request body:

{
  "OrderIds": [51893293, 51893292]
}

Beispiel 2.Alle Orders durch Pairs-Trading abbrechen:

Request body:

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

Response:

{
  "Success": true
}

ReturnOrderStatus

Informationen und alle Handelsoperationen durch Order erhalten.

Beispiel:

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

Request body:

{
  "OrderId": 51893312
}

Response:

{
  "CurrentOrder": {               # Aktueller Order-Status.
    "CoinCount": 9.00000000,
    "CoinPrice": 0.01194538,
    "Id": 51893314,
    "IsCloseRequired": false,
    "IsSell": false,
    "PairName": "BTC_LTC"
  },
  "SourceOrder": {                # Erster Bestellstatus.
    "CoinCount": 10.00000000,
    "CoinPrice": 0.01194538,
    "Id": 51893314,
    "IsCloseRequired": false,
    "IsSell": false,
    "PairName": "BTC_LTC"
  },
  "Trades": [                     # Liste der Handelsoperationen nach Order.
    {
      "CoinCount": 1.00000000,
      "CoinPrice": 0.01194538,
      "Commission": 0.00000000,
      "DtCreateTS": 1507465556,
      "Id": 185250,
      "IsMaker": true,
      "IsSell": false,
      "PairName": "BTC_LTC"
    }
  ]
}

ReturnDepositsWithdrawals

Ein- und Auszahlungsverkauf erhalten. Sie können Transaktionen auf einer einzelnen Seite anzeigen, beginnend mit der letzten. Um mehr Seiten zu erhalten, füllen Sie das FromId-Feld mit dem minimalen ID-Datensatz der vorherigen Antwort aus.

Beispiel:Letzte 100 Aufzeichnungen erhalten:

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

Request body:

{
  "Names": ["BTC", "LTC"],       # Währungsliste. Wenn abwesend, dann für alle Währungen zu bekommen.
  "FromId": 0,                   # 0 oder die Aufzeichnung mit der niedrigsten ID aus der vorherigen Antwort.
  "Take": 100                    # Anzahl der zurückzugebenden Aufzeichnungen. Die maximale Anzahl der Aufzeichungen beträgt 1.000.
}

Response:

{
  "CountRemain": 1000,                          # Anzahl der verbleibenden Aufzeichnungen. Falls 0 - letzte Seite.
  "Changes": [
    {
      "Address": "17XjwyX78jusTPXHxxF14ST9fWrCUcLT6L",   # Zahlungsadresse.
      "AgentName": null,                        # Name des Zahlungssystems für Fiat-Währungen.
      "CurrenceName": "BTC",
      "Id": 151,                                # Aufzeichnungs-ID.
      "NeedConfirm": 15,
      "NumConfirm": 17,
      "Status": 3,                              # Zahlungsstatus. Siehe unten.
      "Sum": 0.20000000,
      "TimeTs": 1504100143,                     # Aufzeichnungszeit erstellen im UTC-Format.
      "TxId": "4f37855e4ecfc8f15b58f3397a6f339ca6f941d63d097c08004f7c9dfc4ec700",   # Transaktions-ID
      "Type": 2                                 # Aufnahmetyp. Siehe unten.
    },
    ...
  ],
}

Mögliche Werte für das Feld "Status":
  1. - Transaktion erstellt
  2. - Erste Bestätigung
  3. - Erfolgreich bearbeitet
  4. - Transaktion abgelehnt
  5. - In Bearbeitung
Mögliche Werte für das Feld "Typ":
  1. - Kryptowährung Einzahlung
  2. - Kryptowährung Auszahlung
  3. - Fiat-Währung Einzahlung
  4. - Fiat-Währung Auszahlung

Withdraw

Erstellen Sie eine Anfrage zum Auszahlen.

Beispiel:

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

Request body:

{
  "Currency": "BTC",
  "Sum": 1.0,
  "Address": "17XjwyX78jusTPXHxxF14ST9fWrCUcLT6L",
  "Message": "any_message"         Nachricht für Transaktionen (wird gesendet, wenn eine Währung unterstützt).
}

Response:

{
  "NewBalance": 9.00000000,                         # Neuer Kontostand.
  "OutId": 613                                      # Anfrage-ID zur Auszahlung: Falls nicht 0 - wurde die Anfrage erfolgreich erstellt.
}

ReturnDepositAddress

Adresse für die Einzahlung der Währung erhalten. Falls es erforderlich ist, eine Nachricht für die Einzahlung anzugeben, wird eine Antwort angezeigt.

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

Beispiel 1.Addresse zum Einzahlen von BTC erhalten:

Request body:

{
  "Currency": "BTC"
}

Response:

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

Beispiel 2.Adresse zum Einzahlen vom XMR erhalten:

Request body:

{
  "Currency": "XMR"
}

Response:

{
  "Address": "NC6GOUR4ICVVPPK7N4UIYWDJM6LTUBJFR7OVXDS5",
  "Message": "950a239c0f98ca41"                             # Eine Nachricht, die beim Einzahlen angegeben werden muss.
}