Méthodes API publiques

Il existe 6 méthodes publiques qui acceptent les demandes HTTP GET et retournent le résultat au format JSON :

ReturnTicker

La méthode retourne les tickers pour tous les marchés/les marchés spécifiés ; exemples de demande et de réponse :

Exemple 1.Retour de tous les tickers.

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

Réponse :

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

Exemple 2.Retour des tickers BTC_LTC et BTC_DOGE.

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

Réponse :

{
  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

La méthode retourne le volume d'échange pour 24 heures pour tous les marchés/les marchés spécifiés :

Exemple.Retour de volume pour BTC_DOGE.

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

Réponse :

{
  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

La méthode retourne la pile d'ordres pour le marché spécifié

Exemple.Retour de la pile d'ordres pour BTC_DOGE.

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

Réponse :

{
  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

La méthode retourne les dernières 1 000 transactions (ou moins si le paramètre Count est spécifié) ou les transactions pour la période spécifiée par les paramètres StartTS et EndTS au format timestamp UNIX.

Exemple.Retour de l'historique des transactions pour BTC_DOGE.

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

Réponse :

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


ReturnChartData

La méthode retourne les données de chandeliers pour un marché spécifié. Le temps chandelier en minutes peut être réglé par le paramètre CandleTimeInMinutes, le début et la fin de l'intervalle peuvent être réglés par les paramètres StartTS et EndTS au format timestamp UNIX.

Exemple.La méthode retourne les données de chandeliers cinq minutes pour BTC_DOGE avant le 16 août 2017.

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

Réponse :

{
  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

La méthode retourne des informations sur toutes les devises/les devises spécifiées.

Exemple.Informations sur la devise DOGE

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

Réponse :

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

Il est nécessaire de créer une clé API pour utiliser le trading API(https://crex24.com/settings/tokens).

Veuillez noter que la limite par défaut est de 6 demandes par seconde. Si ce n'est pas assez, veuillez contacter le Service Client pour évoquer une augmentation de la limite.

Toutes les demandes de trading API sont envoyées à l'adresse HTTP par la méthode POST et doivent contenir les en-têtes suivants :
  • UserKey — API key.
  • Inscrivez-vous — Signature de la demande corps POST créée en utilisant la clé secrète par la méthode HMACSHA512.

Toutes les demandes doivent contenir un POST paramètre Nonce. Nonce est un int64 non signé qui doit toujours être plus grand que la valeur précédente. Vous pouvez utiliser le paramètre d'horodatage à ces fins.

Une réponse est envoyée au format JSON. Si une erreur survient, la réponse sera au format suivant :

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

Obtenir les soldes disponibles.

Exemple.

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

Request body:

{
    "Names" : ["BTC", "LTC"],    # Liste des devises. Si absente, alors obtenir pour toutes les devises.
    "NeedNull" : "true"          # Inclure les soldes zéro à la liste.
}

Response:

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

ReturnOpenOrders

Obtenir les ordres ouverts.

Exemple.

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

Request body:

{
  "Pairs": ["BTC_LTC", "BTC_ETH"]    # Liste des paires de transactions. Si absente, alors obtenir pour toutes les paires de transactions.
}

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

Obtenir l'historique des transactions.

Exemple.

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

Request body:

{
  "Pairs": ["BTC_LTC", "BTC_ETH"]   # Liste des paires de transactions. Si absente, alors obtenir pour toutes les paires de transactions.
}

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

Obtenir toutes les transactions commerciales par ordre.

Exemple.

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

Placer un ordre d'achat.

Exemple.Placer un ordre d'achat de 10 LTC pour BTC à un prix de 0.01194538 :

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

Request body:

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

Response:

{
  "Id": 51893288
}

Sell

Placer un ordre de vente.

Exemple.Placer un ordre de vente de 10 LTC pour BTC à un prix de 0.01194538 :

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

Request body:

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

Response:

{
  "Id": 51893294
}

CancelOrder

Annuler l'ordre.

Exemple.

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

Request body:

{
  "OrderId": 51893294
}

Response:

{
  "Success": true
}

CancelOrderMulti

Annuler plusieurs ordres par liste d'identifiants ou par paires de transactions.

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

Exemple 1.Annuler les ordres par liste d'identifiants :

Request body:

{
  "OrderIds": [51893293, 51893292]
}

Exemple 2.Annuler tous les ordres par paires de transactions :

Request body:

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

Response:

{
  "Success": true
}

ReturnOrderStatus

Obtenir des informations et toutes les transactions commerciales par ordre.

Exemple.

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

Request body:

{
  "OrderId": 51893312
}

Response:

{
  "CurrentOrder": {               # Statut actuel de l'ordre.
    "CoinCount": 9.00000000,
    "CoinPrice": 0.01194538,
    "Id": 51893314,
    "IsCloseRequired": false,
    "IsSell": false,
    "PairName": "BTC_LTC"
  },
  "SourceOrder": {                # Statut initial de l'ordre.
    "CoinCount": 10.00000000,
    "CoinPrice": 0.01194538,
    "Id": 51893314,
    "IsCloseRequired": false,
    "IsSell": false,
    "PairName": "BTC_LTC"
  },
  "Trades": [                     # Liste des transactions commerciales par ordre.
    {
      "CoinCount": 1.00000000,
      "CoinPrice": 0.01194538,
      "Commission": 0.00000000,
      "DtCreateTS": 1507465556,
      "Id": 185250,
      "IsMaker": true,
      "IsSell": false,
      "PairName": "BTC_LTC"
    }
  ]
}

ReturnDepositsWithdrawals

Obtenir l'historique des dépôts et des retraits. Les transactions seront affichées page par page, en commençant par la plus récente. Afin de voir la page suivante, vous devez remplir le champ FromId avec l'ID d'enregistrement le plus petit de la réponse précédente.

Exemple.Obtenir les 100 derniers enregistrements :

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

Request body:

{
  "Names": ["BTC", "LTC"],       # Liste des devises. Si absente, alors obtenir pour toutes les devises.
  "FromId": 0,                   # 0 ou l'identifiant d'enregistrement le plus petit de la réponse précédente.
  "Take": 100                    # Nombre d'enregistrements à retourner. Le nombre maximum d'enregistrements est de 1 000.
}

Response:

{
  "CountRemain": 1000,                          # Nombre d'enregistrements restants. Si 0 - la dernière page.
  "Changes": [
    {
      "Address": "17XjwyX78jusTPXHxxF14ST9fWrCUcLT6L",   # Adresse de paiement.
      "AgentName": null,                        # Nom du système de paiement pour les monnaies fiduciaires.
      "CurrenceName": "BTC",
      "Id": 151,                                # ID d'enregistrement.
      "NeedConfirm": 15,
      "NumConfirm": 17,
      "Status": 3,                              # Statut de paiement. Voir ci-dessous.
      "Sum": 0.20000000,
      "TimeTs": 1504100143,                     # Heure de création de l'enregistrement au format UTC.
      "TxId": "4f37855e4ecfc8f15b58f3397a6f339ca6f941d63d097c08004f7c9dfc4ec700",   # ID de transaction
      "Type": 2                                 # Type d'enregistrement. Voir ci-dessous.
    },
    ...
  ],
}

Valeurs possibles pour le champ "Statut" :
  1. - Transaction créée
  2. - Première confirmation
  3. - Traité avec succès
  4. - Transaction rejetée
  5. - Traitement en cours
Valeurs possibles pour le champ "Type" :
  1. - Dépôt de crypto-monnaie
  2. - Retrait de crypto-monnaie
  3. - Dépôt de monnaie fiduciaire
  4. - Retrait de monnaie fiduciaire

Withdraw

Créer une demande de retrait

Exemple.

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

Request body:

{
  "Currency": "BTC",
  "Sum": 1.0,
  "Address": "17XjwyX78jusTPXHxxF14ST9fWrCUcLT6L",
  "Message": "any_message"         # Message pour transactions (sera envoyé si supporté par la devise).
}

Response:

{
  "NewBalance": 9.00000000,                         # Nouveau solde.
  "OutId": 613                                      # ID de la demande de retrait. Si ce n'est pas 0 - demande créée avec succès.
}

ReturnDepositAddress

Obtenir l'adresse pour déposer la monnaie. S'il est nécessaire de spécifier un message pour le dépôt, il sera présent dans la réponse.

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

Exemple 1.Obtenir l'adresse pour déposer BTC :

Request body:

{
  "Currency": "BTC"
}

Response:

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

Exemple 2.Obtenir l'adresse pour déposer XMR :

Request body:

{
  "Currency": "XMR"
}

Response:

{
  "Address": "NC6GOUR4ICVVPPK7N4UIYWDJM6LTUBJFR7OVXDS5",
  "Message": "950a239c0f98ca41"                             # Un message qui doit être spécifié lors du dépôt.
}