Öffentliche API Methoden

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

ReturnTicker

Die Methode gibt Ticker für alle/festgelegte 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 festgelegte 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",
    ...
  }]
}

Handels-API Methoden

URL für Handels-API: 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 an die HTTP-Adresse gesendet und müssen die folgenden Kopfzeilen enthalten:
  • UserKey — API key.
  • Sign — Unterschrift der POST Request-Body, 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>"}}

Beispiele in verschiedenen Programmiersprachen für Anfragen, die zu Handels-API geschickt wurden:

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:

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

Request-Body:

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

Antwort:

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

ReturnOpenOrders

Offene Aufträge erhalten.

Beispiel:

Anfrage: 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.
}

Antwort:

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

Anfrage: 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.
}

Antwort:

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

Erhalten Sie alle Handelstransaktionen per Auftrag.

Beispiel:

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

Request-Body:

{
  "OrderId": 51893150
}

Antwort:

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

Buy

Auftrag zum Kauf stellen.

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

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

Request-Body:

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

Antwort:

{
  "Id": 51893288
}

Sell

Auftrag zum Verkauf stellen.

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

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

Request-Body:

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

Antwort:

{
  "Id": 51893294
}

CancelOrder

Auftrag abbrechen.

Beispiel:

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

Request-Body:

{
  "OrderId": 51893294
}

Antwort:

{
  "Success": true
}

CancelOrderMulti

Mehrere Aufträge durch eine Liste von ID's oder Handelspaare abbrechen.

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

Beispiel 1.Aufträge durch eine Liste von ID's abbrechen:

Request-Body:

{
  "OrderIds": [51893293, 51893292]
}

Beispiel 2.Alle Aufträge durch Handelspaare abbrechen:

Request-Body:

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

Antwort:

{
  "Success": true
}

ReturnOrderStatus

Erhalten Sie Informationen und alle Handelsoperationen per Auftrag.

Beispiel:

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

Request-Body:

{
  "OrderId": 51893312
}

Antwort:

{
  "CurrentOrder": {               # Aktueller Auftragsstatus.
    "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 Auszahlungsverlauf erhalten. Die Transaktionen werden Seite für Seite angezeigt, beginnend mit der aktuellsten Transaktion. Um mehr Seiten zu erhalten, füllen Sie das FromId-Feld mit dem niedrigsten ID-Datensatz der vorherigen Antwort aus.

Beispiel:Letzte 100 Aufzeichnungen erhalten:

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

Request-Body:

{
  "Names": ["BTC", "LTC"],       # Währungsliste. Wenn nicht verfügbar, dann für alle Währungen aufrufen.
  "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.
}

Antwort:

{
  "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. - Confirmed by user
  2. - Transaktion erstellt
  3. - Erste Bestätigung
  4. - Erfolgreich bearbeitet
  5. - Transaktion abgelehnt
  6. - In Bearbeitung
  7. - Canceled by user
  8. - Wait to send
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:

Anfrage: 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 die Währung dies unterstützt).
}

Antwort:

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

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

Beispiel 1.Addresse zum Einzahlen von BTC erhalten:

Request-Body:

{
  "Currency": "BTC"
}

Antwort:

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

Beispiel 2.Adresse zum Einzahlen vom XMR erhalten:

Request-Body:

{
  "Currency": "XMR"
}

Antwort:

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