NAV Navbar
shell

APIの紹介

前書き

Huobi APIへようこそ。当社のAPIを使用して、すべてのマーケットデータ、取引、およびアカウント管理のエンドポイントにアクセスできます。

下記の2種類のAPIを用意いたします。

右側のコード領域にはサンプルコードが表示されます。

Rest API共通情報

本APIを使って、取引プログラムの実装ができます。

APIを使えば以下の機能が使用できます。

セキュリティ認証

1. API KEYの申請

keyの種類 説明
AccessKey アクセスキー
SecretKey 署名時に必要な秘密鍵

2. リクエストの共通仕様

セキュリティ上の理由で、マーケットAPI以外のAPIリクエストには全て署名が必要となります。これから共通の仕様を説明します。

リクエストの例

curl -X GET \  
      https://api-cloud.huobi.co.jp/v1/order/orders? \ 
      AccessKeyId=e2xxxxxx-99xxxxxx-84xxxxxx-7xxxx \ 
      &SignatureMethod=HmacSHA256 \ 
      &SignatureVersion=2 \ 
      &Timestamp=2017-05-11T15%3A19%3A30 \ 
      &order-id=1234567890 \ 
      &Signature=$(some calculated value)

HOST

https://api-cloud.huobi.co.jp

共通仕様

Header 説明
User Agent 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36'
POST Request Content-Type: application/json
GET Request Content-Type: application/x-www-form-urlencoded
Response Format json

認証用共通パラメータ

パラメータ 詳細説明
AccessKeyId アクセスキー
SignatureMethod 署名の演算時に用いるハッシュベースプロトコル、ここではHmacSHA256を指定します
SignatureVersion 署名プロトコルのバージョン、ここでは2を指定します
Timestamp リクエスト時のタイムスタンプ(UTC 時間) 。
タイムスタンプをクエリに含めることで、第三者がリクエストを傍受するのを防ぐことができます。例:2017-05-11T16:22:06。タイムスタンプはUTC 時間であることに注意してください。
Signature 署名に基づいて計算された値。署名が有効で改ざんされていないことを保証するために使用されます。
必須、オプションのパラメーター各メソッドには、API呼び出しを定義するための一連の必須、オプションのパラメーターがあります。これらのパラメータとその意味は、各メソッドの説明で確認できます。

署名処理

署名処理手順

# 元のリクエスト
https://api-cloud.huobi.co.jp/v1/order/orders?
AccessKeyId=e2xxxxxx-99xxxxxx-84xxxxxx-7xxxx
&order-id=1234567890
&SignatureMethod=HmacSHA256
&SignatureVersion=2
&Timestamp=2017-05-11T15:19:30

# 1. 改行入れる
GET\n

# 2. 改行入れる
api-cloud.huobi.co.jp\n

# 3. 改行入れる
/v1/order/orders\n

# 4. パラメータソートする
AccessKeyId=e2xxxxxx-99xxxxxx-84xxxxxx-7xxxx
SignatureMethod=HmacSHA256
SignatureVersion=2
Timestamp=2017-05-11T15%3A19%3A30
order-id=1234567890

# 5. '&'で連結
AccessKeyId=e2xxxxxx-99xxxxxx-84xxxxxx-7xxxx&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2017-05-11T15%3A19%3A30&order-id=1234567890

# 6. 署名用文字列
GET\n
api-cloud.huobi.co.jp\n
/v1/order/orders\n
AccessKeyId=e2xxxxxx-99xxxxxx-84xxxxxx-7xxxx&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2017-05-11T15%3A19%3A30&order-id=1234567890

# 7. 署名処理 - サンプルコードに参照
SecretKey: b0xxxxxx-c6xxxxxx-94xxxxxx-dxxxx
Signature: 4F65x5A2bLyMWVQj3Aqp+B4w+ivaA7n5Oi2SuYtCJ9o=

# 8. 署名後の文字列をURLに付加する
https://api-cloud.huobi.co.jp/v1/order/orders?AccessKeyId=e2xxxxxx-99xxxxxx-84xxxxxx-7xxxx&order-id=1234567890&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2017-05-11T15%3A19%3A30&Signature=4F65x5A2bLyMWVQj3Aqp%2BB4w%2BivaA7n5Oi2SuYtCJ9o%3D
  1. リクエスト方法(GET 或いは POST),続けて改行を追加する

  2. 小文字のアクセスアドレスに続けて改行を追加する

  3. アクセスメソッドへのパス、続けて改行を追加する

  4. パラメータ名は、ASCIIコードの順にソートされます(UTF-8エンコーディングとURIエンコーディングを使用すると、16進文字は大文字にする必要があり、 ':'は '%3A'、スペースは'%20'といった具合にエンコードされます) 例えば、エンコード後の要求パラメータの元の順序は次のとおりです

  5. 上記の順序で、各パラメーターは文字 '&'を使用して接続されます

  6. 計算のために署名される最後の文字列は次のとおりです

  7. 秘密キー(SecretKey)と変換後のリクエスト文字列を使って、署名処理を行い、その結果はBase64エンコードします。
    上記の値をパラメータSignatureの値としてAPIリクエストに追加します。 このパラメータをリクエストに追加する場合、その値はURIエンコードされている必要があります

  8. 最終的に、サーバーに送信するAPIリクエストは次のようになります

マスター情報関連

取引ペア精度

curl -X GET \
      "https://api-cloud.huobi.co.jp/v1/common/symbols"

上記のコマンドは、次のような構造のJSONを返します。

{
  "status": "ok",
  "data": [
    {
      "base-currency": "ltc",
      "quote-currency": "jpy",
      "price-precision": 4,
      "amount-precision": 4,
      "symbol-partition": "default",
      "symbol": "ltcjpy"
    },
    {
      "base-currency": "xrp",
      "quote-currency": "jpy",
      "price-precision": 4,
      "amount-precision": 2,
      "symbol-partition": "default",
      "symbol": "xrpjpy"
    }
  ]
}

このエンドポイントは各取引ペアの精度を返します。

HTTP Request

GET /v1/common/symbols

Query Parameters

Parameter Required Description

Response Data

Parameter Required Type Description
status true string リクエスト处理结果, 例えば: "ok","error"
data true list 精度データ

対応取引通貨ペア

curl -X GET \
     "https://api-cloud.huobi.co.jp/v1/common/currencys"

上記のコマンドは、次のような構造のJSONを返します。

{
  "status": "ok",
  "data": [
    "jpy",
    "btc",
    "xrp",
    "eth",
    "ltc",
    "bch",
    "mona"
  ]
}

このエンドポイントは各取引通貨ペアを返します。

HTTP Request

GET /v1/common/currencys

Query Parameters

Parameter Required Description

Response Data

Parameter Required Type Description
status true string リクエスト处理结果, 例えば: "ok","error"
data true list 精度データ

システム時間を調べる

curl -X GET \
      "https://api-cloud.huobi.co.jp/v1/common/timestamp"

上記のコマンドは、次のような構造のJSONを返します。

{
  "status": "ok",
  "data": 1555667124908
}

このエンドポイントはシステムのタイムスタンプ(ミリ秒)を返します。

HTTP Request

GET /v1/common/timestamp

Query Parameters

Parameter Required Description

Response Data

Parameter Required Type Description
status true string リクエスト处理结果, 例えば: "ok","error"
data true int システムのUNIX Timestamp (ミリ秒)

マーケット関連

KLineデータの取得

curl -X GET \
      "https://api-cloud.huobi.co.jp/market/history/kline?period=1day&size=200&symbol=btcjpy"

上記のコマンドは、次のような構造のJSONを返します。

{
  "status": "ok",
  "ch": "market.btcjpy.kline.1day",
  "ts": 1499223904680,
  "data": [
    {
      "id": 1499184000,
      "amount": 37593.0266,
      "count": 0,
      "open": 1935.2000,
      "close": 1879.0000,
      "low": 1856.0000,
      "high": 1940.0000,
      "vol": 71031537.97866500
    }
  ]
}
curl -X GET \
      https://api-cloud.huobi.co.jp/market/history/kline?period=not-exist&size=200&symbol=ethjpy

期間エラーのとき、下記のようなレスポンスを返します。

{
  "ts": 1490758171271,
  "status": "error",
  "err-code": "invalid-parameter",
  "err-msg": "invalid period"
}
GET /market/history/kline?period=1day&size=not-exist&symbol=ethjpy

サイズエラーのとき、下記のようなレスポンスを返します。

{
  "ts": 1490758221221,
  "status": "error",
  "err-code": "bad-request",
  "err-msg": "invalid size, valid range: [1,2000]"
}
GET /market/history/kline?period=1day&size=200&symbol=not-exist

取引通貨ペアが存在しない場合は、下記のようなレスポンスを返します。

{
  "ts": 1490758171271,
  "status": "error",
  "err-code": "invalid-parameter",
  "err-msg": "invalid symbol"
}

URI

GET /market/history/kline

Request Params

Params Required Type Description
symbol true string 取引ペア - btceth
period true string チャートタイプ
size false int サイズ - default=150 max=2000

Response Data

Field Type Description
status string リクエスト処理結果 ["ok" , "error"]
ts number 生成応答時間点,单位:ミリ秒
tick object KLine データ
ch string チャンネル
Example: market.$symbol.kline.$period

板データの取得 (Ticker)

curl -X GET "https://api-cloud.huobi.co.jp/market/detail/merged?symbol=ethjpy"

上記のコマンドは、次のような構造のJSONを返します。

{
  "status": "ok",
  "ch": "market.ethjpy.detail.merged",
  "ts": 1499225276950,
  "tick": {
    "id": 1499225271,
    "ts": 1499225271000,
    "close": 1885.0000,
    "open": 1960.0000,
    "high": 1985.0000,
    "low": 1856.0000,
    "amount": 81486.2926,
    "count": 42122,
    "vol": 157052744.85708200, 
    "ask": [ 
      1885.0000, 
      21.8804 
    ],
    "bid": [ 
      1884.0000,
      1.6702 
    ]
  }
}

取引ペアがないとき、下記のレスポンスになります


{
  "ts": 1490758171271,
  "status": "error",
  "err-code": "invalid-parameter",
  "err-msg": "invalid symbol"
}

このエンドポイントは集約されたチャート情報を返します。

HTTP Request

GET /market/detail/merged

Query Parameters

Parameter Required Description
symbol true トレードペア, 例えば btcjpy

Response Data

Parameter Required Type Description
status true string リクエスト处理结果, 例えば: "ok","error"
ts true number 生成応答時間点,单位:ミリ秒
tick true object チャートデータ
ch true string データの所属 channel,例えば: market.btcjpy.detail.merged

すべての取引ペアの取引相場

curl -X GET "https://api-cloud.huobi.co.jp/market/tickers"

上記のコマンドは、次のような構造のJSONを返します。

{  
    "status":"ok",
    "ts":1510885463001,
    "data":[  
        {  
            "open":0.044297,      // チャート(日) 始値
            "close":0.042178,     // チャート(日) 終値
            "low":0.040110,       // チャート(日) 最安値
            "high":0.045255,      // チャート(日) 最高値
            "amount":12880.8510,  // 24時間の約定量
            "count":12838,        // 24時間の約定数数
            "vol":563.0388715740, // 24時間の取引高
            "symbol":"ethbtc"     // 通貨ペア
        },
        {  
            "open":0.008545,
            "close":0.008656,
            "low":0.008088,
            "high":0.009388,
            "amount":88056.1860,
            "count":16077,
            "vol":771.7975953754,
            "symbol":"ltcbtc"
        }
    ]
}

このエンドポイントはすべての取引ペアの取引相場を取得できます。

HTTP Request

GET /market/tickers

Query Parameters

Parameter Required Description

Response Data

Parameter Required Type Description
status true string リクエスト处理结果, 例えば: "ok","error"
ts true number 生成応答時間点,单位:ミリ秒
data true object 取引相場のリスト

マーケットデプス (Depth)

curl -X GET "https://api-cloud.huobi.co.jp/market/depth?symbol=btcjpy&type=step1"

上記のコマンドは、次のような構造のJSONを返します。

{
  "status": "ok",
  "ch": "market.btcjpy.depth.step1",
  "ts": 1489472598812,
  "tick": {
    "id": 1489464585407,
    "ts": 1489464585407,
    "bids": [
      [7964, 0.0678], // [価格, 注文数量]
      [7963, 0.9162],
      [7961, 0.1],
      [7960, 12.8898],
      [7958, 1.2],
      [7955, 2.1009],
      [7954, 0.4708],
      [7953, 0.0564],
      [7951, 2.8031],
      [7950, 13.7785],
      [7949, 0.125],
      [7948, 4],
      [7942, 0.4337],
      [7940, 6.1612],
      [7936, 0.02],
      [7935, 1.3575],
      [7933, 2.002],
      [7932, 1.3449],
      [7930, 10.2974],
      [7929, 3.2226]
    ],
    "asks": [
      [7979, 0.0736],
      [7980, 1.0292],
      [7981, 5.5652],
      [7986, 0.2416],
      [7990, 1.9970],
      [7995, 0.88],
      [7996, 0.0212],
      [8000, 9.2609],
      [8002, 0.02],
      [8008, 1],
      [8010, 0.8735],
      [8011, 2.36],
      [8012, 0.02],
      [8014, 0.1067],
      [8015, 12.9118],
      [8016, 2.5206],
      [8017, 0.0166],
      [8018, 1.3218],
      [8019, 0.01],
      [8020, 13.6584]
    ]
  }
}
GET /market/depth?symbol=btcjpy&type=not-exist

集約レベルがないとき、下記のレスポンスになります

{
  "ts": 1490759358099,
  "status": "error",
  "err-code": "invalid-parameter",
  "err-msg": "invalid type"
}

このエンドポイントは集約されたチャート情報を返します。

HTTP Request

GET /market/depth

Query Parameters

Parameter Required Description
symbol true 取引ペア, 例えば btcjpy
type true 集約レベル, [step0, step1, step2, step3, step4, step5]

Response Data

Parameter Required Type Description
status true string リクエスト处理结果, ["ok","error"]
ts true number 生成応答時間点,单位:ミリ秒
tick true object チャートデータ
ch true string データの所属 channel,例えば: market.btcjpy.detail.merged

取引詳細データの取得

curl -X GET "https://api-cloud.huobi.co.jp/market/trade?symbol=ethjpy"

上記のコマンドは、次のような構造のJSONを返します。

{
  "status": "ok",
  "ch": "market.btcjpy.trade.detail",
  "ts": 1489473346905,
  "tick": {
    "id": 600848670,
    "ts": 1489464451000,
    "data": [
      {
        "id": 600848670,
        "price": 7962.62,
        "amount": 0.0122,
        "direction": "buy",
        "ts": 1489464451000
      }
    ]
  }
}

取引ペアがないとき、下記のレスポンスになります

{
  "ts": 1490759506429,
  "status": "error",
  "err-code": "invalid-parameter",
  "err-msg": "invalid symbol"
}

このエンドポイントは集約されたチャート情報を返します。

HTTP Request

GET /market/trade

Query Parameters

Parameter Required Description
symbol true トレードペア, 例えば btcjpy

Response Data

Parameter Required Type Description
status true string リクエスト处理结果, 例えば: "ok","error"
ts true number 生成応答時間点,单位:ミリ秒
tick true object 取引データ
ch true string データの所属 channel,例えば: market.btcjpy.detail.merged

取引履歴の取得

curl -X GET \
      "https://api-cloud.huobi.co.jp/market/history/trade?symbol=ethjpy"

上記のコマンドは、次のような構造のJSONを返します。

{
    "status": "ok",
    "ch": "market.ethjpy.trade.detail",
    "ts": 1502448925216,
    "data": [
        {
            "id": 31459998,
            "ts": 1502448920106,
            "data": [
                {
                    "id": 17592256642623,
                    "amount": 0.04,
                    "price": 1997,
                    "direction": "buy",
                    "ts": 1502448920106
                }
            ]
        }
    ]
}

取引ペアがないとき、下記のレスポンスになります


{
  "ts": 1490758171271,
  "status": "error",
  "err-code": "invalid-parameter",
  "err-msg": "invalid symbol"
}

このエンドポイントは集約されたチャート情報を返します。

HTTP Request

GET /market/history/trade

Query Parameters

Parameter Required Description
symbol true トレードペア, 例えば btcjpy
size false データサイズ, Range: {1, 2000}

Response Data

Parameter Required Type Description
status true string リクエスト处理结果, 例えば: "ok","error"
ts true number 生成応答時間点,单位:ミリ秒
data true object 約定記録のリスト
ch true string データの所属 channel,例えば: market.$symbol.trade.detail

アカウント関連

ユーザアカウント

curl -X GET "https://api-cloud.huobi.co.jp/v1/account/accounts"

上記のコマンドは、次のような構造のJSONを返します。

{
  "status": "ok",
  "data": [
    {
      "id": 100009,
      "type": "spot",
      "state": "working",
      "user-id": 1000
    }
  ]
}

このエンドポイントはユーザのアカウント情報を返します。

HTTP Request

GET /v1/account/accounts

Query Parameters

Parameter Required Description

Response Data

Parameter Required Type Description
id true long アカウントID
type true string アカウントタイプ, spot - スポットアカウント
state true string アカウントステータス, Range: {"work","lock"}
user-id true int ユーザID

残高照合

curl -X GET "https://api-cloud.huobi.co.jp/v1/account/accounts/{account-id}/balance"

上記のコマンドは、次のような構造のJSONを返します。

{
  "status": "ok",
  "data": {
    "id": 100009,
    "type": "spot",
    "state": "working",
    "list": [
      {
        "currency": "jpy",
        "type": "trade",
        "balance": "500009195917.4362872650"
      },
      {
        "currency": "jpy",
        "type": "frozen",
        "balance": "328048.1199920000"
      },
      {
        "currency": "etc",
        "type": "trade",
        "balance": "499999894616.1302471000"
      },
      {
        "currency": "etc",
        "type": "frozen",
        "balance": "9786.6783000000"
      },
      {
        "currency": "eth",
        "type": "trade",
        "balance": "499999894616.1302471000"
      },
      {
        "currency": "eth",
        "type": "frozen",
        "balance": "9786.6783000000"
      }
    ],
    "user-id": 1000
  }
}

このエンドポイントはユーザの残高情報を返します。

HTTP Request

GET /v1/account/accounts/{account-id}/balance

Query Parameters

Parameter Required Description
 account-id true アカウントID

Response Data

Parameter Required Type Description
id true long アカウントID
state true string アカウントステータス, Range: {"work","lock"}
type true string アカウントタイプ, spot - スポットアカウント
list true list 残高情報

Listのデータ構造

Parameter Required Type Description
balance true long 残高
currency true string 仮想通貨
type true string タイプ, trade: トレード残高,frozen: 凍結残高

取引関連

注文実行

curl -X POST \
     -H "Content-Type: application/json" \
     "https://api-cloud.huobi.co.jp/v1/order/orders/place" \
     -d \
{
   "account-id": "100009",
   "amount": "10.1",
   "price": "100.1",
   "source": "api",
   "symbol": "ethjpy",
   "type": "buy-limit"
}

上記のコマンドは、次のような構造のJSONを返します。

{
  "status": "ok",
  "data": "59378"
}

このエンドポイントは注文を出すAPIです。

HTTP Request

GET /v1/order/orders/place

Query Parameters

Parameter Required Description
account-id true アカウント ID,accountsを使用して獲得する方法。仮想通貨ペアのトレードを使用‘spot’アカウントのaccountid
amount true 取引数量
price false 指値の注文価格
source false 注文のソース, default: api
symbol true 取引通貨ペア
type true 注文タイプ
buy-market:成行買い
sell-market:成行売り
buy-limit:指値買い
sell-limit:指値売り
buy-ioc:IOC買い注文
sell-ioc:IOC売り注文
buy-limit-maker
sell-limit-maker

Response Data

Parameter Required Type Description
data false string 订单ID

未約定注文一覧

curl -X GET \
    "https://api-cloud.huobi.co.jp/v1/order/openOrders" 

上記のコマンドは、次のような構造のJSONを返します。

{
  "status": "ok",
  "data": [
    {
      "id": 5454937,
      "symbol": "ethjpy",
      "account-id": 30925,
      "amount": "1.000000000000000000",
      "price": "0.453000000000000000",
      "created-at": 1530604762277,
      "type": "sell-limit",
      "filled-amount": "0.0",
      "filled-cash-amount": "0.0",
      "filled-fees": "0.0",
      "source": "web",
      "state": "submitted"
    }
  ]
}

このエンドポイントは未約定注文一覧を返します。

HTTP Request

GET /v1/order/openOrders

Query Parameters

Parameter Required Description
account-id true アカウントID
symbol true 取引通貨ペア
side false 取引方向, Range: {'buy', 'sell'}
size false 必要な記録数

Response Data

Parameter Required Type Description
id true long 注文番号
symbol true string 取引通貨ペア
price true string 注文価格
created-at true int 注文時間(ミリ秒
type true string 注文タイプ, Range: {buy-market, sell-market, buy-limit, sell-limit, buy-ioc, sell-ioc}
filled-amount true string 注文時間(ミリ秒)
部分取引注文でない場合、このフィールドは0 になります
filled-cash-amount true string 約定された部品の注文価格(=約定された注文の数量x注文の価格)
部分取引注文でない場合、このフィールドは0になります
filled-fees true string 取引の一部における手数料
部分取引注文でない場合、このフィールドは0 になります
source true string 注文ソース, Range: {sys, web, api, app}
state true string この注文ステータス, Range: {submitted(約定済), partial-filled(部分約定), cancelling(キャンセル)}

注文キャンセル

curl -X POST \
     -H "Content-Type: application/json" \
     "https://api-cloud.huobi.co.jp/v1/order/orders/{order-id}/submitcancel"

上記のコマンドは、次のような構造のJSONを返します。

{
  "status": "ok",
  "data": 59378
}

本APIはキャンセルリクエストを送信します。実際のキャンセル結果は注文詳細APIにてご確認してください。

HTTP Request

GET /v1/order/orders/{order-id}/submitcancel

Query Parameters

Parameter Required Description
order-id true 注文ID

Response Data

Parameter Required Type Description
status true string リクエストの状態
data false string 注文ID

注文の一括キャンセル

curl -X POST \
    -H "Content-Type: application/json" \
    "https://api-cloud.huobi.co.jp/v1/order/orders/batchcancel"
{
  "order-ids": [
    "1",
    "2",
    "3"
  ]
}

上記のコマンドは、次のような構造のJSONを返します。

{
  "status": "ok",
  "data": {
    "success": [
      "1",
      "2",
      "3"
    ]
  }
}

一部失敗する場合、下記のようなレスポンスが返します。

{
  "status": "ok",
  "data": {
    "success": [
      "1",
      "3"
    ],
    "failed": [
      {
        "err-msg": " Invalid record",
        "order-id": "2",
        "err-code": "base-record-invalid"
      }
    ]
  }
}

本APIは注文の一括キャンセルを実行します。

HTTP Request

POST /v1/order/orders/batchcancel

Query Parameters

Parameter Required Description

Response Data

Parameter Required Type Description
status true string リクエストの状態
data true string キャンセルの結果

条件付き注文の一括キャンセル

curl -X POST \
     -H "Content-Type: application/json" \
     "https://api-cloud.huobi.co.jp/v1/order/orders/batchCancelOpenOrders"

上記のコマンドは、次のような構造のJSONを返します。

{
  "status": "ok",
  "data": {
    "success-count": 2,
    "failed-count": 0,
    "next-id": 5454600
  }
}

本APIは条件付き注文を一括でキャンセルする。

HTTP Request

POST /v1/order/orders/batchCancelOpenOrders

Query Parameters

Parameter Required Description
account-id true アカウントID
symbol false 取引通貨ペア, 単一トレードペアの文字列は、デフォルトでは条件が満たされていない全ての注文を返します
side false 取引方向 , Range: {“buy”,“sell”}, デフォルトでは、条件が満たされていない全ての注文が返されます。
size false 必要な記録数, default: 100, Range: {0,100}

Response Data

Parameter Required Type Description
success-count true int キャンセル注文成功数
failed-count true int キャンセル注文失敗数
next-id true long キャンセル基準を満たす次の注文番号

注文の詳細の照会

curl -X GET \
    "https://api-cloud.huobi.co.jp/v1/order/orders/{order-id}" 

上記のコマンドは、次のような構造のJSONを返します。

{
  "status": "ok",
  "data": {
    "id": 59378,
    "symbol": "ethjpy",
    "account-id": 100009,
    "amount": "10.1000000000",
    "price": "100.1000000000",
    "created-at": 1494901162595,
    "type": "buy-limit",
    "field-amount": "10.1000000000",
    "field-cash-amount": "1011.0100000000",
    "field-fees": "0.0202000000",
    "finished-at": 1494901400468,
    "user-id": 1000,
    "source": "api",
    "state": "filled",
    "canceled-at": 0,
    "exchange": "xxx",
    "batch": ""
  }
}

このエンドポイントは注文の詳細情報を返します。

HTTP Request

GET /v1/order/orders/{order-id}

Query Parameters

Parameter Required Description
order-id true 注文ID

Response Data

Parameter Required Type Description
account-id true long アカウント ID
amount true string 注文数量
canceled-at false long 注文キャンセル時間
created-at true long 注文作成時間
field-amount true string 約定数量
field-cash-amount true string 約定総額
field-fees true string 約定手数料(買い入れは仮想通貨のために,売り出しは法定通貨のために)
finished-at false long 注文の終了時間は約定した時間ではなく、キャンセル済の時も含みます
id true long 注文ID
price true string 注文価格
source true string 注文ソース, default: api
state true string 注文ステータス, Range: {"submitting" // 送信中, "submitted" // 送信済, "partial-filled" // 部分約定, "partial-canceled" //部分約定キャンセル, "filled" //完全約定, canceled キャンセル済み
symbol true string 取引通貨ペア
type true string 注文種類, Range: {"buy-market" // 成り行き買い, "sell-market" //成り行き売り, "buy-limit" //指値買い, "sell-limit" //指値売り, "buy-ioc" //IOC買い注文, "sell-ioc" //IOC売り注文

注文の約定詳細の照会

curl -X GET \
  "https://api-cloud.huobi.co.jp/v1/order/orders/{order-id}/matchresults" 

上記のコマンドは、次のような構造のJSONを返します。

{
  "status": "ok",
  "data": [
    {
      "id": 59378,
      "symbol": "ethjpy",
      "account-id": 100009,
      "amount": "10.1000000000",
      "price": "100.1000000000",
      "created-at": 1494901162595,
      "type": "buy-limit",
      "field-amount": "10.1000000000",
      "field-cash-amount": "1011.0100000000",
      "field-fees": "0.0202000000",
      "finished-at": 1494901400468,
      "user-id": 1000,
      "source": "api",
      "state": "filled",
      "canceled-at": 0,
      "exchange": "xxx",
      "batch": ""
    }
  ]
}

このエンドポイントは注文の約定詳細情報を返します。

HTTP Request

GET /v1/order/orders/{order-id}/matchresults

Query Parameters

Parameter Required Description
order-id true パスに記載された注文ID

Response Data

Parameter Required Type Description
account-id true long アカウント ID
amount true string 注文数量
canceled-at false long キャンセル申請を受ける時間
created-at true long 注文作成時間
field-amount true string 約定数量
field-cash-amount true string 約定総金額
field-fees true string 約定済み手数料(買いは仮想通貨の為に,売りはお金のために)
finished-at false long 最終的な約定時間
id true long 注文ID
price true string 注文価格
source true string 注文ソース, default: api
state true string 注文ステータス
symbol true string 取引通貨ペア
type true string 注文タイプ

約定履歴の照会

curl -X GET \
  "https://api-cloud.huobi.co.jp/v1/order/orders" 

上記のコマンドは、次のような構造のJSONを返します。

{
  "status": "ok",
  "data": [
    {
      "id": 59378,
      "symbol": "ethusdt",
      "account-id": 100009,
      "amount": "10.1000000000",
      "price": "100.1000000000",
      "created-at": 1494901162595,
      "type": "buy-limit",
      "field-amount": "10.1000000000",
      "field-cash-amount": "1011.0100000000",
      "field-fees": "0.0202000000",
      "finished-at": 1494901400468,
      "user-id": 1000,
      "source": "api",
      "state": "filled",
      "canceled-at": 0,
      "exchange": "xxx",
      "batch": ""
    }
  ]
}

このエンドポイントは約定履歴を返します。

HTTP Request

GET /v1/order/orders

Query Parameters

Parameter Required Description
symbol true 取引ペア, [btcjpy, bchbtc,...]
types false オーダータイプの組み合わせ照会,使用','分割, [buy-market:成り行き買い, sell-market:成り行き売り, buy-limit:指値買い, sell-limit:指値売り, buy-ioc:IOC買い注文, sell-ioc:IOC売り注文]
start-date false 開始日の照会, 日時フォマットyyyy-mm-dd, default:-61 days, range:[-61day, now]
end-date false 終了日の照会, 日時フォマットyyyy-mm-dd, default:Now, range:[start-date, now]
from false 開始照会ID, 注文約定記録ID(最大值)
direct false 照会方向, default:next,約定記録ID大から小へ並ぶ, prev:前に,next:後ろに
size false 大小記録の照会, default:100, max: 100

Response Data

Parameter Required Type Description
created-at true long 約定時間
filled-amount true string 約定数量
filled-fees true string 約定手数料
id true long 約定注文記録ID
match-id true long マッチングID
order-id true long 注文 ID
price true string 約定価格
source true string 注文ソース, default: api
symbol true string 取引通貨ペア
type true string 注文タイプ

現在の約定、約定履歴の照会

curl -X GET \
  "https://api-cloud.huobi.co.jp/v1/order/matchresults" 

上記のコマンドは、次のような構造のJSONを返します。

{
  "status": "ok",
  "data": [
    {
      "id": 29555,
      "order-id": 59378,
      "match-id": 59335,
      "symbol": "ethjpy",
      "type": "buy-limit",
      "source": "api",
      "price": "100.1000000000",
      "filled-amount": "0.9845000000",
      "filled-fees": "0.0019690000",
      "created-at": 1494901400487
    }
  ]
}

このエンドポイントは約定履歴を返します。

HTTP Request

GET /v1/order/matchresults

Query Parameters

Parameter Required Description
symbol true 取引通貨ペア
types false オーダータイプの組み合わせ照会,複数可, カンマ区切り
start-date false 開始日の照会, 日時フォマットyyyy-mm-dd, Range: [-61日, Now]
end-date false 終了日の照会, 日時フォマットyyyy-mm-dd
states true オーダーのタイプの組み合わせ照会,使用','分割。[submitted 提出済み, partial-filled 部分約定, partial-canceled 部分約定キャンセル, filled 完全約定, canceled キャンセル済み]
from false 開始ID
direct false 照会方向 default: next, Range: {"prev", "next"}
size false 大小記録の照会, Range: [0, 100]

Response Data

Parameter Required Type Description
account-id true long アカウント ID
amount true string 注文数量
canceled-at false long キャンセル申請を受ける時間
created-at true long 注文作成時間
field-amount true string 約定数量
field-cash-amount true string 約定総金額
field-fees true string 約定済み手数料(買いは仮想通貨の為に,売りはお金のために)
finished-at false long 最終的な約定時間
id true long 注文ID
price true string 注文価格
source true string 注文ソース, api
state true string 注文ステータス, [submitting , submitted 提出済, partial-filled 部分約定, partial-canceled 部分約定キャンセル, filled 完全約定, canceled キャンセル済]
symbol true string 取引ペア, [btcjpy, bchbtc,...]
type true string 注文タイプ, [submit-cancel:キャンセル申請済 ,buy-market:成り行き買い, sell-market:成り行き売り, buy-limit:指値買い, sell-limit:指値売り, buy-ioc:IOC買い注文, sell-ioc:IOC売り注文]

ウォレット関連

ステータス一覧

仮想通貨出金ステータスの定義:

ステータス 説明
submitted 提出済
reexamine 審査中
canceled キャンセル済
pass 承認
reject 拒否
pre-transfer 处理中
wallet-transfer 送金済
wallet-reject ウオレットの拒否
confirmed ブロックチェーン上で承認済
confirm-error ブロックチェーン上で承認エラー
repealed キャンセル済

仮想通貨入金ステータスの定義:

ステータス 説明
unknown 不明
confirming 確認中
confirmed 確認済み
safe 完了
orphan 独立

仮想通貨の出金申請

curl -X POST \
     -H "Content-Type: application/json" \
     "https://api-cloud.huobi.co.jp/v1/dw/withdraw/api/create" \
     -d \
{
  "address": "0xde709f2102306220921060314715629080e2fb77",
  "amount": "0.05",
  "currency": "eth",
  "fee": "0.01"
}

上記のコマンドは、次のような構造のJSONを返します。

{
  "status": "ok",
  "data": 700
}

本APIは仮想通貨の出金申請を送信する。

HTTP Request

GET /v1/dw/withdraw/api/create

Query Parameters

Parameter Required Description
address true string
amount true string
currency true string
fee false string
addr-tag false string

Response Data

Parameter Required Type Description
data false long 出金レコードID

仮想通貨の出金のキャンセル

curl -X POST \
     -H "Content-Type: application/json" \
     "https://api-cloud.huobi.co.jp/v1/dw/withdraw-virtual/{withdraw-id}/cancel"

上記のコマンドは、次のような構造のJSONを返します。

{
  "status": "ok",
  "data": 700
}

本APIは仮想通貨出金のキャンセルリクエストを送信する。

HTTP Request

GET /v1/dw/withdraw-virtual/{withdraw-id}/cancel

Query Parameters

Parameter Required Description
withdraw-id true 出金ID,pathの中に記入

Response Data

Parameter Required Type Description
data false string 出金レコードID

入出金記録

curl -X GET \
     "https://api-cloud.huobi.co.jp/v1/query/deposit-withdraw" 

上記のコマンドは、次のような構造のJSONを返します。

{
  "data":
    [
      {
        "id": 1171,
        "type": "deposit",
        "currency": "xrp",
        "tx-hash": "ed03094b84eafbe4bc16e7ef766ee959885ee5bcb265872baaa9c64e1cf86c2b",
        "amount": 7.457467,
        "address": "rae93V8d2mdoUQHwBDBdM4NHCMehRJAsbm",
        "address-tag": "100040",
        "fee": 0,
        "state": "safe",
        "created-at": 1510912472199,
        "updated-at": 1511145876575
      }
    ]
}

このエンドポイントは入出金記録を返します。

HTTP Request

GET /v1/query/deposit-withdraw?currency=xrp&type=deposit&from=5&size=12

Query Parameters

Parameter Required Description
currency true 銘柄
type true 'deposit' or 'withdraw'
from false 照会開始 ID
size false 大小記録の照会

Response Data

Parameter Required Type Description
id true long
type true long タイプ 'deposit' 'withdraw'
currency true string 銘柄
tx-hash true string トレードハッシュ
amount true long 個数
address true string アドレス
address-tag true string アドレスラベル
fee true long 手数料
state true string ステータス, ステータスは下の表を参考に
created-at true long 開始時間
updated-at true long 最後に更新した時間

エラーコード

マーケット関連API

エラーコード 説明
bad-request リクエストエラー
invalid-parameter パラメーターエラー
invalid-command 命令エラー

取引関連API

エラーコード 説明
base-symbol-error トレードペアが存在していない
base-currency-error 銘柄が存在していない
base-date-error 日時フォマットのエラー
account-transfer-balance-insufficient-error 残高不足により凍結できません
bad-argument パラメーターの期限切れ
api-signature-not-valid API署名エラー
gateway-internal-error システムビジー,少し時間をあけて再度お試しください
security-require-assets-password 資金パスワードの入力が必要
audit-failed 注文失敗
ad-ethereum-address 有効なETHのアドレスを入力してください
order-accountbalance-error アカウント残高不足
order-limitorder-price-error 指値の注文価格が制限を超えている
order-limitorder-amount-error 指値の注文量が制限を超えている
order-orderprice-precision-error 注文価格が制限精度を超えている
order-orderamount-precision-error 注文量が制限精度を超えている
order-marketorder-amount-error 注文量が制限を超えている
order-queryorder-invalid この注文を見つけることができない
order-orderstate-error 注文ステータスエラー
order-datelimit-error 照会時間制限を超えた
order-update-error 注文の更新失敗

Websocket共通

概要

WebSocket規格とはTCPに基づいた新しいコンピューターネットワーク用の通信規格である。1つのtcpコネクションでのクライアントとサーバ間の双方向通信を実装しています。サーバ側からクライアントにデータをプッシュ配信できるため、頻繁な認証等のオーバーヘッドを削減できる。主なメリットが2つ挙げられます。

以上のことからWebSocketプロトコルは、仮想通貨相場やその取引のようなリアルタイム性が求められる通信の要件を満たすには最適なインターフェースです。

リクエストとサブスクリプションについて

1. アドレス

2. データ圧縮

3. WebSocketライブラリ

4. ハートビート

WebSocket Server がpingを送信する

{
    "ping": 18212558000
}

WebSocket Client がpongを返信する

{
    "pong": 18212558000
}

注:"pong"の応答値は"ping" の受信時の値と同一の値となります。

WebSocket Client がpingを送信する

{"ping": 18212553000}

注:必ずLong型の"ping"を送信しなければなりません。そうしなければ、誤ったデータが返信されます

{
  "ts": 1492420473027,
  "status": "error",
  "err-code": "bad-request",
  "err-msg": "invalid ping"
}

WebSocket Server がpongを返信する

{"pong": 18212553000}

注:返信される"pong" の応答値は受信した"ping"` の値と同一の値となります。

エラー時の返信フォーマット

{
  "id": "id generate by client",
  "status": "error",
  "err-code": "err-code",
  "err-msg": "err-message",
  "ts": 1487152091345
}

注:tsは誤ったデータより生成されたタイムスタンプになります。単位:ミリ秒

WebSocket Client と WebSocket Server との間でコネクション確立後、WebSocket Server は 5s(変更の可能性がある)ごとに WebSocket Client にpingを送信し、WebSocket Client より2回連続Pingへの応答がなければ、WebSocket Server はコネクションを切断します。WebSocket Clientが直近2回のPingのうちの1つのpingに応答すれば、WebSocket Serverはコネクションを維持します。

注:WebSocket Clientが直近2回のmessageのうちの1つのpingを送信すれば、WebSocket Serverはコネクションを維持します。

注:2回連続WebSocket Client からの応答がなければ、WebSocket Server はコネクションを切断します。

5. Topicのフォーマット

topic タイプ topic 文法 sub/req 説明
KLine market.$symbol.kline.$period sub/req チャート データ 单位時間内の始値、終値、最高値、最安値、取引量、取引高、約定回数等のデータを含む $period 選択可能な値:{ 1min, 5min, 15min, 30min, 60min, 4hour,1day, 1mon, 1week, 1year }
Market Depth market.$symbol.depth.$type sub/req 板の精度、異なる stepで買いⅠ、買いⅡ、買いⅢ等及び売りⅠ、売りⅡ、売りⅢ等の価格を纏める$type 選択できるstep:{ step0, step1, step2, step3, step4, step5, percent10 } (精度0-5);step0の場合,異なる価格の注文を纏めない
Trade Detail market.$symbol.trade.detail sub/req 取引履歴、約定価格、取引量、買/売等の情報を含む
Market Detail market.$symbol.detail sub/req 直近24時間の取引量、取引高、始値、終値、最高値、最安値、約定回数等
Market Tickers market.tickers sub 公開したすべての通貨ペアの1日のチャート、直近24時間の取引量等の情報

6. データリクエスト(req)

データリクエストのフォーマット

{
  "req": "topic to req",
  "id": "id generate by client"
}

データリクエストの正しい例

{
  "req": "market.ethbtc.kline.1min",
  "id": "id10"
}

返信データ例

{
  "status": "ok",
  "rep": "market.btcusdt.kline.1min",
  "tick": [
    {
      "amount": 1.6206,
      "count":  3,
      "id":     1494465840,
      "open":   9887.00,
      "close":  9885.00,
      "low":    9885.00,
      "high":   9887.00,
      "vol":    16021.632026
    },
    {
      "amount": 2.2124,
      "count":  6,
      "id":     1494465900,
      "open":   9885.00,
      "close":  9880.00,
      "low":    9880.00,
      "high":   9885.00,
      "vol":    21859.023500
    }
  ]
}

データリクエストのエラー例

{
  "req": "market.invalidsymbo.kline.1min",
  "id": "id10"
}

エラーメッセージ応答例

{
  "status": "error",
  "id": "id10",
  "err-code": "bad-request",
  "err-msg": "invalid topic market.invalidsymbol.trade.detail",
  "ts": 1494483996521
}

7.データのサブスクリプション(sub)

  • データのサブスクリプションのフォーマット

WebSocket API とのコネクションを行った後、 Serverに以下のフォーマットのデータを送信することにより、データを購読する

{
  "id": "id generate by client",
  "sub": "topic to sub",
  "freq-ms": 1000
}

注:idのパラメータは選択可能です 注:freq-msのパラメータは選択可能であり、選択値は{ 1000, 2000, 3000, 4000, 5000 }になります。freq-ms をアップロードしない限り、デフォルト値を0はとなり、データが更新された際、直ちにClientにプッシュ配信されることになります。 Server のプッシュ配信の頻度はfreq-msにて調整できます。

サブスクリプションの正しい例

{
  "sub": "market.btcusdt.kline.1min",
  "id": "id1"
}

"sub"の値はtopicであり、「5. Topicのフォーマット」のtopic のフォーマット参照

  • サブスクリプション完了後、データを返信された例
{
  "id": "id1",
  "status": "ok",
  "subbed": "market.btcusdt.kline.1min",
  "ts": 1489474081631
}

その後、 KLineが更新されるごとに、clientはデータを受信する

{
  "ch": "market.btcusdt.kline.1min",
  "ts": 1489474082831,
  "tick": {
    "id": 1489464480,
    "amount": 0.0,
    "count": 0,
    "open": 7962.62,
    "close": 7962.62,
    "low": 7962.62,
    "high": 7962.62,
    "vol": 0.0
  }
}

注: topic のサブスクリプション完了後、 topicのデータが更新された際、 Server は一定の頻度でtopicの更新データを Clientにプッシュ配信する

  • tick の説明

{
  "tick": {
    "id": "チャートid",
    "amount": "取引量",
    "count": "約定回数",
    "open": "始値",
    "close": "終値 最後の一本のKラインは最新の約定価格である",
    "low": "最安値",
    "high": "最高値",
    "vol": "取引高, 取引価格*約定の量=取引量合計"
  }
}
  • 誤ったサブスクリプション(誤った symbol)
{
  "sub": "market.invalidsymbol.kline.1min",
  "id": "id2"
}

サブスクリプションが失敗した場合、データが返送された例:

{
  "id": "id2",
  "status": "error",
  "err-code": "bad-request",
  "err-msg": "invalid topic market.invalidsymbol.kline.1min",
  "ts": 1494301904959
}
  • 誤ったサブスクリプション(間違った topic):
{
  "sub": "market.btcusdt.kline.3min",
  "id": "id3"
}

サブスクリプションが失敗した場合、データが返信された例:

{
  "id": "id3",
  "status": "error",
  "err-code": "bad-request",
  "err-msg": "invalid topic market.btcusdt.kline.3min",
  "ts": 1494310283622
}

8.サブスクライブの停止(unsub)

  • サブスクライブの停止フォーマット

サブスクライブ停止のフォーマットについては以下のとおりとなります。

{
  "unsub": "topic to unsub",
  "id": "id generate by client"
}

サブスクライブ停止の正しい例。

{
  "unsub": "market.btcusdt.trade.detail",
  "id": "id4"
}

サブスクライブ停止完了後、データが返信された例。

{
  "id": "id4",
  "status": "ok",
  "unsubbed": "market.btcusdt.trade.detail",
  "ts": 1494326028889
}

サブスクライブ停止の誤った例(未購読のtopicを中止する)

{
  "unsub": "market.btcusdt.trade.detail",
  "id": "id5"
}

誤ったデータが返信された例

{
  "id": "id5",
  "status": "error",
  "err-code": "bad-request",
  "err-msg": "unsub with not subbed topic market.btcusdt.trade.detail",
  "ts": 1494326217428
}
  • サブスクライブ停止の誤った例(存在しないtopicを中止する)
{
  "unsub": "not-exists-topic",
  "id": "id5"
}

誤ったデータが返信された例

{
  "id": "id5",
  "status": "error",
  "err-code": "bad-request",
  "err-msg": "unsub with not subbed topic not-exists-topic",
  "ts": 1494326318809
}

WebSocket Client はデータのサブスクライブ後、そのデータのサブスクライブの停止が可能です。停止後は、WebSocket Serverは 当該topicのデータをプッシュしなくなります。

チャンネルからのデータ受信を停止するには、「unsub」メッセージを送信する必要があります。

Websocketリファレンス

ローソク足 データ

コマンド送信

{
  "sub": "market.symbol.kline.period",
  "id": "id generate by client"
}
{
  "sub": "market.ethbtc.kline.1min",
  "id": "id1"
}

購読結果レスポンス

{
  "id": "id1",
  "status": "ok",
  "subbed": "market.ethbtc.kline.1min",
  "ts": 1489474081631
}

データ受信

{
  "ch": "market.ethbtc.kline.1min",
  "ts": 1489474082831,
  "tick": {
    "id": 1489464480,
    "amount": 0.0,
    "count": 0,
    "open": 7962.62,
    "close": 7962.62,
    "low": 7962.62,
    "high": 7962.62,
    "vol": 0.0
  }
}

market.$symbol$.kline.$period$

key necessary type description value
symbol true string Pairs ethbtc, ltcbtc...
period true string KLine period 1min, 5min, 15min, 30min, 60min, 1day, 1mon, 1week, 1year

KLine Chatデータ

コマンド送信

{
  "req": "market.ethbtc.kline.1min",
  "id": "id10"
}

データ受信

{
  "rep": "market.ethbtc.kline.1min",
  "status": "ok",
  "id": "id10",
  "tick": [
    {
      "amount": 17.4805,
      "count":  27,
      "id":     1494478080,
      "open":   10050.00,
      "close":  10058.00,
      "low":    10050.00,
      "high":   10058.00,
      "vol":    175798.757708
    },
    {
      "amount": 15.7389,
      "count":  28,
      "id":     1494478140,
      "open":   10058.00,
      "close":  10060.00,
      "low":    10056.00,
      "high":   10065.00,
      "vol":    158331.348600
    },
    // more KLine data here
  ]
}

market.$symbol$.kline.$period$

usage

key description
req market.$symbol.kline.$period
id クライアントによって生成されたID
from 任意, 範囲: [t1..t5]
to 任意, 範囲: [t2..t5]

マーケットデプスを購読する

コマンド送信

{
  "sub": "market.ethbtc.depth.step0",
  "id": "id1"
}

購読結果レスポンス

{
  "id": "id1",
  "status": "ok",
  "subbed": "market.ethbtc.depth.step0",
  "ts": 1489474081631
}

データ受信

{
  "ch": "market.ethbtc.depth.step0",
  "ts": 1489474082831,
  "data": {
    "bids": [
      [9999.3900,0.0098], // [price, amount]
      [9992.5947,0.0560],
    ],
    "asks": [
      [10010.9800,0.0099],
      [10011.3900,2.0000]
      //more data here
    ]
  }
}

market.$symbol$.depth.$type$

usage

key description
req market.$symbol.depth.$period
id クライアントによって生成されたID

変数の説明

key necessary type description value
symbol true string Pairs ethbtc, ltcbtc, etcbtc, bccbtc...
type true string Market depth step0, step1, step2, step3, step4, step5

マーケットデプスのリクエスト

コマンド送信

{
  "req": "market.ethbtc.depth.step0",
  "id": "id10"
}

データ受信

{
  "rep": "market.ethbtc.depth.step0",
  "status": "ok",
  "id": "id10",
  "data": {
    "bids": [
    [9999.3900,0.0098], // [price, amount]
    [9992.5947,0.0560],
    ],
    "asks": [
    [10010.9800,0.0099],
    [10011.3900,2.0000]
    ]
  }
}

market.$symbol$.depth.$type$

key description
req market.$symbol.depth.$type"
id クライアントによって生成されたID

取引の詳細

コマンド送信

{
  "sub": "market.ethbtc.trade.detail",
  "id": "id1"
}

購読結果レスポンス

{
  "id": "id1",
  "status": "ok",
  "subbed": "market.ethbtc.trade.detail",
  "ts": 1489474081631
}

デーた受信

{
  "ch": "market.ethbtc.trade.detail",
  "ts": 1489474082831,
  "data": [
            {
                "amount": 0.0099,
                "ts": 1533265950234,
                "id": 146507451359183894799,
                "price": 401.74,
                "direction": "buy"
            },
            // more Trade Detail data here
        ]
}

market.$symbol$.trade.detail

key description
req market.$symbol.trade.detail"
id クライアントによって生成されたID

取引詳細のリクエスト

リクエスト送信

{
  "req": "market.ethbtc.trade.detail",
  "id": "id11"
}

データ受信

{
  "rep": "market.ethbtc.trade.detail",
  "status": "ok",
  "id": "id11",
  "data": [
    {
      "id":        601595424,
      "price":     10195.64,
      "time":      1494495766,
      "amount":    0.2943,
      "direction": "buy",
      "tradeId":   601595424,
      "ts":        1494495766000
    },
    {
      "id":        601595423,
      "price":     10195.64,
      "time":      1494495711,
      "amount":    0.2430,
      "direction": "buy",
      "tradeId":   601595423,
      "ts":        1494495711000
    },
    // more Trade Detail data here
  ]
}

market.$symbol$.trade.detail

key description
req market.$symbol.trade.detail"
id クライアントによって生成されたID

マーケット詳細のリクエスト

リクエスト送信

{
  "req": "market.ethbtc.detail",
  "id": "id12"
}

データ受信

{
  "rep": "market.ethbtc.detail",
  "status": "ok",
  "id": "id12",
  "tick": {
    "amount": 12224.2922,
    "open":   9790.52,
    "close":  10195.00,
    "high":   10300.00,
    "ts":     1494496390000,
    "id":     1494496390,
    "count":  15195,
    "low":    9657.00,
    "vol":    121906001.754751
  }
}

market.$symbol$.detail

key description
req market.$symbol.detail"
id クライアントによって生成されたID