Обществени методи API

Има 6 обществени метода, които приемат HTTP GET заявки и връщат резултата в JSON формат:

ReturnTicker

Методът връща тикери за всички/определени пазари; пример на заявка и резултат:

Пример 1. Връщане на всички тикери.

Заявка: https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnTicker

Резултат:

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

Пример 2. Връщане на тикери BTC_LTC и BTC_DOGE.

Заявка: https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnTicker?request=[NamePairs=BTC_LTC,BTC_DOGE]

Резултат:

{
  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

Методът връща обема на сделките за 24 часа за всички/определени пазари:

Пример. Връщане на обем за BTC_DOGE.

Заявка:https://api.crex24.com/CryptoExchangeService/BotPublic/Return24Volume?request=[NamePairs=BTC_DOGE]

Резултат:

{
  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

Методът връща натрупаните ордери за определения пазар

Пример. Връщане на натрупаните ордери за BTC_DOGE.

Заявка:https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnOrderBook?request=[PairName=BTC_DOGE]

Резултат:

{
  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

Методът връща последните 1000 (или по-малко, ако е зададен параметърa Count) транзакции или транзакции, които са зададени чрез параметрите StartTS и ЕndTS във формата UNIX timestamp.

Пример. Връщане на история на транзакциите за BTC_DOGE.

Заявка:https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnTradeHistoryPub?request=[PairName=BTC_DOGE]

Резултат:

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


ReturnChartData

Методът връща данни във формата на кендълстик графика (candlestick) за зададения пазар. Времето на кендълстика може да бъде настроено в минути от параметъра CandleTimeInMinutes, началото и края на интервала могат да бъдат настроени с параметрите StartTS и ЕndТS във формата UNIX timestamp.

Пример. Методът връща петминутния кендълстик за BTC_DOGE преди 16 август, 2017 г.

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

Резултат:

{
  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

Методът връща информация за всички/определени валути.

Пример. Информация за валута DOGE

Заявка:https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnCurrencies?request=[Names=DOGE]

Резултат:

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

Методи за търговия API

Url адрес за API търговия: https://api.crex24.com/CryptoExchangeService/BotTrade/<MethodName>

За да използвате API за търговия, трябва да създадете API ключ(https://crex24.com/settings/tokens).

Моля, имайте предвид, че лимитът по подразбиране е 6 заявки в секунда. Ако това не е достатъчно, моля, свържете се с Отдела за Поддръжка на Клиенти, за да обсъдите увеличаването на лимита.

Всички заявки за API търговия се изпращат на HTTP адреса чрез метода POST и трябва да съдържат следните заглавия:
  • UserKey — API key.
  • Sign - Подпис на POST заявката, създаден с помощта на секретен ключ чрез метода HMACSHA512.

Всички заявки трябва да съдържат POST параметъра Nonce. Nonce е неподписан int64, който винаги трябва да е по-голям от предишнатa стойност. За тази цел можете да използвате текущия timestamp.

Отговорът се изпраща в JSON формат. Ако възникне грешка, отговорът ще бъде в този формат:

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

Примери на заявки, изпратени до API за търговия на различни езици за програмиране:

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

Получи наличните салда.

Пример.

Заявка: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnBalances

Текст на заявката:

{
    "Names" : ["BTC", "LTC"],    # Списък с валутите. Ако не е достъпен, получи всички валути.
    "NeedNull" : "true"          # Включи нулеви салда в списъка.
}

Отговор:

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

ReturnOpenOrders

Получи отворени ордери.

Пример.

Заявка: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnOpenOrders

Текст на заявката:

{
  "Pairs": ["BTC_LTC", "BTC_ETH"]    # Списък с търговските двойки. Ако липсва, получи всички търговски двойки.
}

Отговор:

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

Получи история на търгуване.

Пример.

Заявка: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnTradeHistory

Текст на заявката:

{
  "Pairs": ["BTC_LTC", "BTC_ETH"]   # Списък с търговските двойки. Ако липсва, получи всички търговски двойки.
}

Отговор:

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

Получи всички търговски транзакции по ордер.

Пример.

Заявка: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnOrderTrades

Текст на заявката:

{
  "OrderId": 51893150
}

Отговор:

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

Buy

Направи ордер за покупка.

Пример. Направи ордер за покупка на 10 LTC за BTC на цена от 0.01194538:

Заявка: https://api.crex24.com/CryptoExchangeService/BotTrade/Buy

Текст на заявката:

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

Отговор:

{
  "Id": 51893288
}

Sell

Направи ордер за продажба.

Пример. Направи ордер за продажба на 10 LTC за BTC на цена от 0.01194538:

Заявка: https://api.crex24.com/CryptoExchangeService/BotTrade/Sell

Текст на заявката:

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

Отговор:

{
  "Id": 51893294
}

CancelOrder

Отмени ордер.

Пример.

Заявка: https://api.crex24.com/CryptoExchangeService/BotTrade/CancelOrder

Текст на заявката:

{
  "OrderId": 51893294
}

Отговор:

{
  "Success": true
}

CancelOrderMulti

Отмени няколко ордера по списъка с ID-та или по търговски двойки.

Заявка: https://api.crex24.com/CryptoExchangeService/BotTrade/CancelOrderMulti

Пример 1. Отмени ордери по списък с ID-та:

Текст на заявката:

{
  "OrderIds": [51893293, 51893292]
}

Пример 2. Отмени всички ордери по търговски двойки:

Текст на заявката:

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

Отговор:

{
  "Success": true
}

ReturnOrderStatus

Получи информация и всички търговски транзакции по ордер.

Пример.

Заявка: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnOrderStatus

Текст на заявката:

{
  "OrderId": 51893312
}

Отговор:

{
  "CurrentOrder": {               # Състояние на текущия ордер.
    "CoinCount": 9.00000000,
    "CoinPrice": 0.01194538,
    "Id": 51893314,
    "IsCloseRequired": false,
    "IsSell": false,
    "PairName": "BTC_LTC"
  },
  "SourceOrder": {                # Първоначално състояние на ордера.
    "CoinCount": 10.00000000,
    "CoinPrice": 0.01194538,
    "Id": 51893314,
    "IsCloseRequired": false,
    "IsSell": false,
    "PairName": "BTC_LTC"
  },
  "Trades": [                     # Списък с търговски транзакции по ордер.
    {
      "CoinCount": 1.00000000,
      "CoinPrice": 0.01194538,
      "Commission": 0.00000000,
      "DtCreateTS": 1507465556,
      "Id": 185250,
      "IsMaker": true,
      "IsSell": false,
      "PairName": "BTC_LTC"
    }
  ]
}

ReturnDepositsWithdrawals

Получи история на депозитите и тегленията. Транзакциите ще бъдат показани страница по страница, започвайки с най-последната. За да видите следващата страница, попълнете полето FromId с най-малкото ID на записа от предишния отговор.

Пример. Получи последните 100 записа:

Заявка: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnDepositsWithdrawals

Текст на заявката:

{
  "Names": ["BTC", "LTC"],       # Списък с валутите. Ако не е достъпен, получи всички валути.
  "FromId": 0,                   # 0 или най-ниското ID на записа от предишния отговор.
  "Take": 100                    # Брой записи за връщане. Максималният брой записи е 1000.
}

Отговор:

{
  "CountRemain": 1000,                          # Брой оставащи записи. Ако е 0, това е последната страница.
  "Changes": [
    {
      "Address": "17XjwyX78jusTPXHxxF14ST9fWrCUcLT6L",   # Адрес за плащане.
      "AgentName": null,                        # Име на платежната система за фиатни валути.
      "CurrenceName": "BTC",
      "Id": 151,                                # ID на запис.
      "NeedConfirm": 15,
      "NumConfirm": 17,
      "Status": 3,                              # Статус на плащане. Вижте по-долу.
      "Sum": 0.20000000,
      "TimeTs": 1504100143,                     # Време за създаване на запис в UTC формат.
      "TxId": "4f37855e4ecfc8f15b58f3397a6f339ca6f941d63d097c08004f7c9dfc4ec700",   # ID на транзакция
      "Type": 2                                 # Вид запис. Вижте по-долу.
    },
    ...
  ],
}

Възможни стойности на полето ''Status'':
  1. - Потвърдена от потребителя
  2. - Транзакцията е създадена
  3. - Първо потвърждение
  4. - Успешна обработка
  5. - Транзакцията е отхвърлена
  6. - В процес на обработка
  7. - Анулирана от потребителя
  8. - Изчакване за изпращане
Възможни стойности на полето ''Type'':
  1. - Депозит на криптовалута
  2. - Теглене на криптовалута
  3. - Депозит на фиатна валута
  4. - Теглене на фиатна валута

Withdraw

Създай заявка за теглене.

Пример.

Заявка: https://api.crex24.com/CryptoExchangeService/BotTrade/Withdraw

Текст на заявката:

{
  "Currency": "BTC",
  "Sum": 1.0,
  "Address": "17XjwyX78jusTPXHxxF14ST9fWrCUcLT6L",
  "Message": "any_message"         # Съобщение за транзакции (ще бъде изпратено, ако валутата го поддържа).
}

Отговор:

{
  "NewBalance": 9.00000000,                         # Нов баланс.
  "OutId": 613                                      # Id на заявка за теглене. Ако не е 0, заявката е създадена успешно.
}

ReturnDepositAddress

Получи адрес за депозит на валута. Ако трябва да се посочи съобщение за депозита, то ще бъде в отговора.

Заявка: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnDepositAddress

Пример 1. Получи адрес за депозиране на BTC:

Текст на заявката:

{
  "Currency": "BTC"
}

Отговор:

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

Пример 2. Получи адрес за депозиране на XMR:

Текст на заявката:

{
  "Currency": "XMR"
}

Отговор:

{
  "Address": "NC6GOUR4ICVVPPK7N4UIYWDJM6LTUBJFR7OVXDS5",
  "Message": "950a239c0f98ca41"                             # Съобщение, което трябва да бъде посочено при депозиране.
}