Phương pháp API công cộng

Có 6 phương pháp công cộng chấp nhận các yêu cầu HTTP GET và trả về phản hồi ở định dạng JSON:

ReturnTicker

Phương pháp này trả về các ticker cho các thị trường các loại/cụ thể; ví dụ về yêu cầu và phản hồi:

Ví dụ 1.Trả về các ticker.

Yêu cầu: https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnTicker

Phản hồi:

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

Ví dụ 2.Trả về các ticker BTC_LTC và BTC_DOGE.

Yêu cầu: https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnTicker?request=[NamePairs=BTC_LTC,BTC_DOGE]

Phản hồi:

{
  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

Phương pháp này trả về khối lượng giao dịch trong 24 giờ cho các thị trường các loại/cụ thể:

Ví dụ.Trả về khối lượng cho BTC_DOGE.

Yêu cầu:https://api.crex24.com/CryptoExchangeService/BotPublic/Return24Volume?request=[NamePairs=BTC_DOGE]

Phản hồi:

{
  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

Phương thức trả về ngăn xếp của đơn đặt hàng cho thị trường cụ thể

Ví dụ.Trả về ngăn xếp của đơn đặt hàng cho BTC_DOGE.

Yêu cầu:https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnOrderBook?request=[PairName=BTC_DOGE]

Phản hồi:

{
  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

Phương pháp này trả về 1.000 giao dịch cuối cùng (hoặc ít hơn nếu tham số Count được chỉ định) hoặc các giao dịch trong thời gian được xác định bởi các tham số StartTS và EndTS trong định dạng dấu thời gian UNIX.

Ví dụ.Trả về lịch sử giao dịch cho BTC_DOGE.

Yêu cầu:https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnTradeHistoryPub?request=[PairName=BTC_DOGE]

Phản hồi:

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


ReturnChartData

Phương pháp này trả về dữ liệu cây đèn nến cho một thị trường nhất định. Thời gian cây đèn nến trong vài phút có thể được thiết lập bởi tham số CandleTimeInMinutes, bắt đầu và kết thúc khoảng thời gian có thể được thiết lập bởi các tham số StartTS và EndTS trong định dạng dấu thời gian UNIX.

Ví dụ.Phương pháp này trả về cây đèn nến năm phút cho BTC_DOGE trước ngày 16 tháng 8 năm 2017.

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

Phản hồi:

{
  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

Phương thức này trả về thông tin về tất cả các loại tiền tệ các loại/cụ thể.

Ví dụ.Thông tin về tiền tệ DOGE

Yêu cầu:https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnCurrencies?request=[Names=DOGE]

Phản hồi:

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

Bạn cần tạo khóa API để sử dụng API giao dịch(https://crex24.com/settings/tokens).

Xin lưu ý rằng giới hạn mặc định là 6 yêu cầu mỗi giây. Nếu không đủ, hãy liên hệ với Nhóm Hỗ Trợ Khách Hàng để thảo luận về việc tăng giới hạn này.

Tất cả yêu cầu API giao dịch được gửi đến địa chỉ HTTP bằng phương thức POST và phải bao gồm các tiêu đề sau:
  • UserKey — API key.
  • Sign - Chữ ký của cơ quan yêu cầu POST được tạo ra qua khóa bí mật theo phương pháp HMACSHA512.

Tất cả các yêu cầu phải chứa tham số POST Nonce. Nonce là unsigned int64 phải luôn lớn hơn giá trị trước đó. Bạn có thể sử dụng tham số dấu thời gian cho các mục đích này.

Phản hồi được gửi trong JSON. Nếu xảy ra lỗi, phản hồi sẽ ở định dạng sau:

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

Nhận số dư sẵn có.

Ví dụ.

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

Request body:

{
    "Names" : ["BTC", "LTC"],    # Danh sách tiền tệ. Nếu không có, sau đó phục hồi lại tất cả các loại tiền tệ.
    "NeedNull" : "true"          # Bao gồm số dư bằng không vào danh sách.
}

Response:

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

ReturnOpenOrders

Nhận các đơn đặt hàng mở.

Ví dụ.

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

Request body:

{
  "Pairs": ["BTC_LTC", "BTC_ETH"]    # Danh sách các cặp giao dịch. Nếu không có sau đó phục hồi lại tất cả các cặp giao dịch.
}

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

Nhận lịch sử giao dịch.

Ví dụ.

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

Request body:

{
  "Pairs": ["BTC_LTC", "BTC_ETH"]   # Danh sách các cặp giao dịch. Nếu không có sau đó phục hồi lại tất cả các cặp giao dịch.
}

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

Nhận tất cả các giao dịch thương mại theo đơn hàng.

Ví dụ.

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

Đặt lệnh mua.

Ví dụ.Đặt lệnh mua 10 LTC cho BTC với giá là 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

Đặt lệnh bán.

Ví dụ.Đặt lệnh bán 10 LTC cho BTC với giá là 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

Hủy lệnh.

Ví dụ.

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

Request body:

{
  "OrderId": 51893294
}

Response:

{
  "Success": true
}

CancelOrderMulti

Hủy một số đơn đặt hàng theo danh sách của id hoặc theo các cặp giao dịch.

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

Ví dụ 1.Hủy các đơn đặt hàng theo danh sách của các ID:

Request body:

{
  "OrderIds": [51893293, 51893292]
}

Ví dụ 2.Hủy tất cả các đơn đặt hàng theo các cặp giao dịch:

Request body:

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

Response:

{
  "Success": true
}

ReturnOrderStatus

Nhận thông tin và tất cả hoạt động kinh doanh theo đơn hàng.

Ví dụ.

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

Request body:

{
  "OrderId": 51893312
}

Response:

{
  "CurrentOrder": {               # Trạng thái đơn đặt hàng hiện tại.
    "CoinCount": 9.00000000,
    "CoinPrice": 0.01194538,
    "Id": 51893314,
    "IsCloseRequired": false,
    "IsSell": false,
    "PairName": "BTC_LTC"
  },
  "SourceOrder": {                # Trạng thái đơn đặt hàng ban đầu.
    "CoinCount": 10.00000000,
    "CoinPrice": 0.01194538,
    "Id": 51893314,
    "IsCloseRequired": false,
    "IsSell": false,
    "PairName": "BTC_LTC"
  },
  "Trades": [                     # Danh sách các hoạt động giao dịch theo đơn đặt hàng.
    {
      "CoinCount": 1.00000000,
      "CoinPrice": 0.01194538,
      "Commission": 0.00000000,
      "DtCreateTS": 1507465556,
      "Id": 185250,
      "IsMaker": true,
      "IsSell": false,
      "PairName": "BTC_LTC"
    }
  ]
}

ReturnDepositsWithdrawals

Nhận lịch sử gửi tiền và rút tiền. Các giao dịch sẽ được hiển thị theo từng trang, bắt đầu từ trang gần đây nhất. Để xem trang tiếp theo hãy hoàn tất trường FromId với ID thấp nhất của hồ sơ từ phản hồi trước đó.

Ví dụ.Nhận 100 hồ sơ cuối cùng:

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

Request body:

{
  "Names": ["BTC", "LTC"],       # Danh sách tiền tệ. Nếu không có, sau đó phục hồi lại tất cả các loại tiền tệ.
  "FromId": 0,                   # 0 hoặc ID thấp nhất của hồ sơ từ phản hồi trước đó.
  "Take": 100                    # Số lượng hồ sơ để trả về. Số lượng hồ sơ tối đa là 1.000.
}

Response:

{
  "CountRemain": 1000,                          # Số lượng hồ sơ còn lại. Nếu 0 thì đó là trang cuối.
  "Changes": [
    {
      "Address": "17XjwyX78jusTPXHxxF14ST9fWrCUcLT6L",   # Địa chỉ thanh toán.
      "AgentName": null,                        # Tên hệ thống thanh toán đối với các tiền tệ cho phép.
      "CurrenceName": "BTC",
      "Id": 151,                                # ID Hồ sơ.
      "NeedConfirm": 15,
      "NumConfirm": 17,
      "Status": 3,                              # Tình trạng thanh toán. Xem bên dưới.
      "Sum": 0.20000000,
      "TimeTs": 1504100143,                     # Thời gian tạo hồ sơ theo định dạng UTC.
      "TxId": "4f37855e4ecfc8f15b58f3397a6f339ca6f941d63d097c08004f7c9dfc4ec700",   # ID Giao Dịch
      "Type": 2                                 # Loại hồ sơ. Xem bên dưới.
    },
    ...
  ],
}

Các giá trị có thể cho trường "Trạng thái":
  1. - Giao dịch đã được tạo
  2. - Xác nhận đầu tiên
  3. - Đã xử lý thành công
  4. - Giao dịch bị từ chối
  5. - Đang xử lý
Giá trị có thể cho trường "Loại":
  1. - Tiền gửi Cryptocurrency
  2. - Tiền rút Cryptocurrency
  3. - Tiền gửi tiền tệ cho phép
  4. - Tiền rút tiền tệ cho phép

Withdraw

Tạo một yêu cầu rút tiền.

Ví dụ.

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

Request body:

{
  "Currency": "BTC",
  "Sum": 1.0,
  "Address": "17XjwyX78jusTPXHxxF14ST9fWrCUcLT6L",
  "Message": "any_message"         # Tin nhắn cho các giao dịch (sẽ được gửi nếu tiền tệ này hỗ trợ).
}

Response:

{
  "NewBalance": 9.00000000,                         # Số dư mới.
  "OutId": 613                                      # Id của yêu cầu rút tiền. Nếu không phải là 0, thì yêu cầu đã được tạo thành công.
}

ReturnDepositAddress

Nhận địa chỉ để gửi tiền tệ. Nếu cần thông báo tin nhắn cho khoản tiền gửi, thì sẽ có phản hồi.

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

Ví dụ 1.Nhận địa chỉ gửi tiền BTC:

Request body:

{
  "Currency": "BTC"
}

Response:

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

Ví dụ 2.Nhận địa chỉ gửi tiền XMR:

Request body:

{
  "Currency": "XMR"
}

Response:

{
  "Address": "NC6GOUR4ICVVPPK7N4UIYWDJM6LTUBJFR7OVXDS5",
  "Message": "950a239c0f98ca41"                             # Một tin nhắn phải được ghi trong khi gửi.
}