Metodi API pubblici

Esistono 6 metodi pubblici che accettano richieste HTTP GET e rispondono nel formato JSON:

ReturnTicker

Questo metodo visualizza i mercati finanziari per tutti i mercati o quelli specificati. Esempi di domanda e risposta:

Esempio 1.Profitto di tutti i mercati.

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

Risposta:

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

Esempio 2.Profitto dei mercati BTC_LTC e BTC_DOGE.

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

Risposta:

{
  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

Questo metodo restituisce il volume di scambi nelle 24 ore per tutti i mercati o quelle specificati:

Esempio:Profitto del volume per BTC_DOGE.

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

Risposta:

{
  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

Questo metodo visualizza il raggruppamento di ordini per il mercato specificato.

Esempio:Profitto del raggruppamento di ordini per BTC_DOGE.

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

Risposta:

{
  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

Questo metodo visualizzerà le ultime 1.000 (o meno se verrà specificato il parametro Count) transazioni o le transazioni per l’intervallo di tempo specificato con i parametri StartTS e EndTS nel formato temporale UNIX.

Esempio:Profitto storico transazioni BTC_DOGE.

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

Risposta:

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


ReturnChartData

Questo metodo visualizza dati candlestick (candele giapponesi) per il mercato specificato. Il tempo di sessione in minuti può essere impostato con il parametro CandleTimeInMinutes, il cui inizio e fine possono essere determinati grazie ai parametri StartTS e EndTS nel formato temporale UNIX.

Esempio:Il metodo visualizza periodi di 5 minuti per BTC_DOGE prima del 16 di agosto 2017.

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

Risposta:

{
  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

Questo metodo restituisce informazioni su tutte le valute o su quelle specificate.

Esempio:Informazioni sulla valuta DOGE

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

Risposta:

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

Metodi API di trading

URL per il trading Api: https://api.crex24.com/CryptoExchangeService/Bot/BotTrade/<MethodName>

È necessario creare una chiave API per utilizzare il trading API.(https://crex24.com/settings/tokens).

N.B.: il limite automatico è di 6 richieste per secondo. Se questo non dovesse essere sufficiente, contattare il servizio di assistenza clienti per discuterne l’aumento.

Tutte le richieste di trading API sono inviate ad indirizzi HTTP con metodo POST e devono contenere le seguenti intestazioni:
  • ChiaveUtente — Chiave API
  • Firma — Firma del corpo della richiesta POST creata grazie chiave segreta con il metodo HMACSHA512.

Tutte le richieste devono contenere parametri POST nonce. Nonce è un int64 non firmato che deve essere sempre maggiore del valore che lo precede. Puoi utilizzare un parametro temporale a questi fini.

La risposta è inviata in JSON. Se si verifica un errore, la risposta sarà nel seguente formato:

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

Esempi di richieste inviate al trading API in diversi linguaggi di programmazione:

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

Visualizza i saldi disponibili.

Esempio:

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

Corpo della richiesta:

{
    "Names" : ["BTC", "LTC"],    # Elenco delle valute. Se assente ritirare per tutte le valute.
    "NeedNull" : "true"          # Includere saldi a zero nell’elenco.
}

Risposta:

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

ReturnOpenOrders

Ottieni ordini aperti.

Esempio:

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

Corpo della richiesta:

{
  "Pairs": ["BTC_LTC", "BTC_ETH"]    # Elenco delle coppie di valute. Se assente ritirare per tutte le coppie di valute.
}

Risposta:

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

Visualizza storico operazioni:

Esempio:

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

Corpo della richiesta:

{
  "Pairs": ["BTC_LTC", "BTC_ETH"]   # Elenco delle coppie di valute. Se assente ritirare per tutte le coppie di valute.
}

Risposta:

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

Visualizza tutte le transazioni per ordine.

Esempio:

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

Corpo della richiesta:

{
  "OrderId": 51893150
}

Risposta:

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

Buy

Piazza un ordine di acquisto

Esempio:Piazza un ordine per comprare 10 LTC con BTC a 0.01194538:

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

Corpo della richiesta:

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

Risposta:

{
  "Id": 51893288
}

Sell

Piazza un ordine di vendita

Esempio:Piazza un ordine per vendere 10 LTC con BTC a 0.01194538:

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

Corpo della richiesta:

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

Risposta:

{
  "Id": 51893294
}

CancelOrder

Cancella ordine.

Esempio:

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

Corpo della richiesta:

{
  "OrderId": 51893294
}

Risposta:

{
  "Success": true
}

CancelOrderMulti

Cancella ordini per ID o per coppia di valute:

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

Esempio 1.Cancella ordini per ID:

Corpo della richiesta:

{
  "OrderIds": [51893293, 51893292]
}

Esempio 2.Cancella tutti gli ordini per coppia di valute:

Corpo della richiesta:

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

Risposta:

{
  "Success": true
}

ReturnOrderStatus

Visualizza informazioni e tutte le operazioni di trading per ordine.

Esempio:

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

Corpo della richiesta:

{
  "OrderId": 51893312
}

Risposta:

{
  "CurrentOrder": {               # Stato attuale dell’ordine.
    "CoinCount": 9.00000000,
    "CoinPrice": 0.01194538,
    "Id": 51893314,
    "IsCloseRequired": false,
    "IsSell": false,
    "PairName": "BTC_LTC"
  },
  "SourceOrder": {                # Stato iniziale dell’ordine.
    "CoinCount": 10.00000000,
    "CoinPrice": 0.01194538,
    "Id": 51893314,
    "IsCloseRequired": false,
    "IsSell": false,
    "PairName": "BTC_LTC"
  },
  "Trades": [                     # Elenco di operazioni di trading per ordine.
    {
      "CoinCount": 1.00000000,
      "CoinPrice": 0.01194538,
      "Commission": 0.00000000,
      "DtCreateTS": 1507465556,
      "Id": 185250,
      "IsMaker": true,
      "IsSell": false,
      "PairName": "BTC_LTC"
    }
  ]
}

ReturnDepositsWithdrawals

Visualizza lo storico depositi e prelievi. Le transazioni verranno visualizzate su più pagine a partire dalla più recente. Per consultare la pagina successiva completare il campo “Fromid” inserendo l’ID dell’ultima voce visualizzata.

Esempio:Visualizza le ultime 100 voci:

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

Corpo della richiesta:

{
  "Names": ["BTC", "LTC"],       # Elenco delle valute. Se assente ritirare per tutte le valute.
  "FromId": 0,                   # 0 o l’ID più basso visualizzato nella risposta precedente.
  "Take": 100                    # Numero di voci da visualizzare. Il numero massimo di voci è 1.000
}

Risposta:

{
  "CountRemain": 1000,                          # Numero di voci rimanenti Se zero sei sull’ultima pagina.
  "Changes": [
    {
      "Address": "17XjwyX78jusTPXHxxF14ST9fWrCUcLT6L",   # Indirizzo di fatturazione.
      "AgentName": null,                        # Nome del metodo di pagamento per valute legali.
      "CurrenceName": "BTC",
      "Id": 151,                                # ID della voce.
      "NeedConfirm": 15,
      "NumConfirm": 17,
      "Status": 3,                              # Stato del pagamento. Vedi sotto.
      "Sum": 0.20000000,
      "TimeTs": 1504100143,                     # Ora di creazione della voce (UTC).
      "TxId": "4f37855e4ecfc8f15b58f3397a6f339ca6f941d63d097c08004f7c9dfc4ec700",   # ID transazione
      "Type": 2                                 # Tipo di voce. Vedi sotto.
    },
    ...
  ],
}

Possibili valori per il campo “Stato”:
  1. - Confirmed by user
  2. - Transazione creata
  3. - Prima conferma
  4. - Elaborata con successo
  5. - Transazione rifiutata
  6. - In elaborazione
  7. - Canceled by user
  8. - Wait to send
Possibili valori per il campo “Tipo”:
  1. - Deposito criptovalute
  2. - Prelievo criptovalute
  3. - Deposito valute legali
  4. - Prelievo valute legali

Withdraw

Crea una richiesta di prelievo.

Esempio:

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

Corpo della richiesta:

{
  "Currency": "BTC",
  "Sum": 1.0,
  "Address": "17XjwyX78jusTPXHxxF14ST9fWrCUcLT6L",
  "Message": "any_message"         # Messaggio per la transazione (verrà inviato se supportato dalla valuta).
}

Risposta:

{
  "NewBalance": 9.00000000,                         # Nuovo saldo.
  "OutId": 613                                      # ID richiesta di prelievo. Se non è 0, la richiesta è stata creata con successo.
}

ReturnDepositAddress

Ottieni indirizzo per depositare una valuta. Se è necessario comunicare un messaggio per il deposito, questo sarà contenuto nella risposta.

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

Esempio 1.Ottieni indirizzo per depositare BTC:

Corpo della richiesta:

{
  "Currency": "BTC"
}

Risposta:

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

Esempio 2.Ottieni indirizzo per depositare XMR:

Corpo della richiesta:

{
  "Currency": "XMR"
}

Risposta:

{
  "Address": "NC6GOUR4ICVVPPK7N4UIYWDJM6LTUBJFR7OVXDS5",
  "Message": "950a239c0f98ca41"                             # Messaggio da visualizzare durante il deposito.
}