Public API 메소드

HTTP GET 요청을 수락하고 JSON 포맷에서 응답을 리턴시키는 6가지 메소드가 있습니다:

ReturnTicker

해당 메소드는 모든/특정 마켓의 ticker를 리턴시킵니다; 요청과 응답 예시:

예시 1.모든 ticker를 리턴시킵니다.

요청: 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 ticker를 리턴시킵니다.

요청: 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

해당 메소드는 UNIX 타임스탬프 포맷에서 StartTS와 EndTS parageter에 의해 지정된 시간의 거래 또는 최근 거래 1,000개(또는 Count parameter가 지정된 경우 그 미만)를 리턴시킵니다.

예시.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

해당 메소드는 특정한 마켓에서 캔들스틱 데이터를 리턴시킵니다. 분 단위의 캔들스틱 시간은 CandleTimeInMinutes paraeter에 의해 지정될 수 있으며, 시작 시간과 종료 시간 간격은 UNIX 타임스탬프 포맷의 StartTS and EndTS parameters에 의해 지정될 수 있습니다.

예시.해당 메소드는 2017년 8월 16일 전 BTC_DOGE에서 5분 캔들스틱을 리턴시킵니다.

요청: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 메소드

API 거래 Url: https://api.crex24.com/CryptoExchangeService/BotTrade/<MethodName>

거래 API를 사용하려면 API를 생성해야 합니다(https://crex24.com/settings/tokens).

디폴트 제한은 초당 6개의 요청임을 명심하여 주십시오. 만약 충분하지 않다면, 한도 상향을 위해 고객 센터에 문의해 주시기 바랍니다.

모든 거래 API 요청은 POST 메소드에 의해 HTTP 주소로 전송되고 다음의 제목(header)을 포함해야 합니다:
  • 이용자키 — API 키.
  • Sign — POST 바디의 시그니처는 HMACSHA512 메소드에 의해 비밀키를 통해 생성된 내용을 요청합니다.

모든 요청은 POST parameter Nonce를 포함해야 합니다. Nonce는 반드시 이전 값보다 커야 하며 서명되지 않은 int64입니다. 이 목표를 위해서 타임스탬프 parameter를 사용해야 합니다.

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

구매 주문.

예시.BTC 0.01194538 가격으로 10 LTC 구매 주문:

요청: https://api.crex24.com/CryptoExchangeService/BotTrade/Buy

요청 본문:

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

응답:

{
  "Id": 51893288
}

Sell

판매 주문.

예시.BTC 0.01194538 가격으로 10 LTC 판매 주문:

요청: 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

입출금 기록 가져오기. 이체는 오래된 것부터 최근순으로 페이지별로 나타납니다. 다음페이지를 보려면 이전 응답에서 가장 낮은 거래 ID를 FromId 칸에 입력하십시오.

예시.최근 100개 기록 가져오기:

요청: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnDepositsWithdrawals

요청 본문:

{
  "Names": ["BTC", "LTC"],       # 통화 목록. 만약 없다면, 모든 통화 검색하기.
  "FromId": 0,                   # 0 또는 최근 응답으로부터의 최저 ID 기록.
  "Take": 100                    # 리턴 기록 수. 최대 기록 수는 1,000.
}

응답:

{
  "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                                 # 기록 종류. 아래를 확인해 주십시오.
    },
    ...
  ],
}

"상태" 칸에서 가능한 값:
  1. - 이용자에 의해 승인되었습니다
  2. - 생성된 이체
  3. - 첫 확인
  4. - 성공적으로 처리되었습니다
  5. - 이체 거절
  6. - 처리 중
  7. - 이용자에 의해 취소되었습니다
  8. - 전송 대기중
"종류" 칸에서 가능한 값:
  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"                             # 메시지는 반드시 입금 중 명시되어야 합니다.
}