Skip to content

Latest commit

 

History

History
executable file
·
605 lines (513 loc) · 27.7 KB

MarginTradingAPI.md

File metadata and controls

executable file
·
605 lines (513 loc) · 27.7 KB

信用取引 API


共通情報

信用取引APIの共通情報です。


事前準備

  • 信用取引APIを利用するには、アカウント情報 のページからAPI Keyの発行をおこなってください。

リクエスト方法

認証

  • 取得したAPI Keysを利用して、下記のようにHTTPヘッダを設定し、認証情報を送信します。
==== ======= ====================================
キー 詳細    例
==== ======= ====================================
key  APIキー 490f983a-5fab-49b2-b789-9d1f130874d3
sign 署名    詳細は下記
==== ======= ====================================
 signはPOSTする全てのパラメータ(nonceとmethodおよびメソッド毎のパラメータ)を URLエンコードしたクエリ形式(param1=val1&param2=val2)のメッセージとして、Secret Keyを用いてHMAC-SHA512で署名します。

パラメータ

======== =============== =========
キー     詳細            例
======== =============== =========
nonce    1以上の数       23123
method   APIメソッド名   get_info
type     取引タイプ      margin
======== =============== =========
 メソッド毎の固有のパラメータも全てPOSTパラメータにて送信してください。 nonceパラメータの値は実効毎に増分されていないとエラーが発生します。また、増分量は少数点以下の値にも対応しております。

戻り値

======== =========== ================
キー     詳細        型
======== =========== ================
success  成功フラグ  int
return   実行結果    dict or string
======== =========== ================
{
    "success": 1,
    "return": {
        ...
    }
}

エラーメッセージ

=============================================== ===================================================================
メッセージ                                      詳細
=============================================== ===================================================================
method not found                                指定されたメソッドが存在しません。
no data found for the key                       APIキーが無効です。
time wait restriction\, please try later.       同じメソッドが短時間に多く呼び出しされたときに発生します。しばらく待ってから、再度お試しください。
signature mismatch                              署名が不適切です。
invalid access token                            無効なトークンが指定されています。
expired access token                            トークンの有効期限が切れています。トークン再発行APIを参考にし、トークンの再発行をしてください。
nonce not incremented                           前回API実行時よりnonce値が加算されていません。
nonce out of range                              値が最大値を超えています。新しいAPIキーを発行してください。
api key don\’t have \{\} permission               API Keyに権限がありません。
invalid \{\} parameter                            指定されているパラメータが無効です。
invalid type                                    取引タイプが不正です。
=============================================== ===================================================================

補足

  • 戻り値

    処理に成功した場合、successには1が、returnには実行結果が設定されます。

    処理に失敗した場合、successには0が、returnにはエラーメッセージが設定されます。

.. _margin_notice_1:
  • ※ 呼び出しの回数制限を解除するためには、当社の定めた条件(一定基準以上の取引高など)に基づく審査が必要になります。

個別情報

信用取引APIの個別情報です。


ユーザー自身の取引履歴を取得

信用取引のユーザー自身の取引履歴を取得します。

パラメータ

================ ======= =========================================== ================= =========
パラメータ       必須     詳細                                       型                デフォルト
================ ======= =========================================== ================= =========
method           Yes     get_positions                               str              
group_id         No      グループID                                  int
from             No      この順番のレコードから取得                  int               0
count            No      取得するレコード数                          int               1000
from_id          No      このトランザクションIDのレコードから取得    int               0
end_id           No      このトランザクションIDのレコードまで取得    int               infinity
order            No      ソート順                                    str (ASC or DESC) DESC
since            No      開始タイムスタンプ                          UNIX_TIMESTAMP    0
end              No      終了タイムスタンプ                          UNIX_TIMESTAMP    infinity
currency_pair    No      通貨ペア。指定なしで全通貨ペア              str (例) btc_jpy  全通貨ペア
================ ======= =========================================== ================= =========

戻り値

==================== =========================================== ===============
キー                 詳細                                        型
==================== =========================================== ===============
例)182              注文ID                                      int
group_id             グループID                                  int
currency_pair        通貨ペア                                    str
action               bid(買い) or ask(売り)                      str
amount               数量                                        float
price                価格                                        float
limit                リミット注文価格                            float
stop                 ストップ注文価格                            float
timestamp            発注日時                                    UNIX_TIMESTAMP
term_end             注文の有効期限                              UNIX_TIMESTAMP
leverage             レバレッジ                                  float
fee_spent            支払い手数料                                float
timestamp_closed     クローズ日時                                UNIX_TIMESTAMP
price_avg            建玉平均価格                                float
amount_done          建玉数                                      float
close_avg            決済平均価格                                float
close_done           決済数                                      float
deposit_xxx          実際にデポジットした額(xxxは通貨コード)    float
deposit_price_xxx    デポジット時計算レート(xxxは通貨コード)    float
refunded_xxx         実際に返却した額(xxxは通貨コード)          float
refunded_price_xxx   実際に返却した額(xxxは通貨コード)          float
guard_fee            追証ガード手数料                            float
==================== =========================================== ===============
{
    "success": 1,
    "return": {
        "182": {
            "group_id": 1,
            "currency_pair": "btc_jpy",
            "action": "bid",
            "leverage": 2.5,
            "price": 110005,
            "limit": 130000,
            "stop": 90000,
            "amount": 0.03,
            "fee_spent": 0,
            "timestamp": 1402018713,
            "term_end": 1404610713,
            "timestamp_closed": 1402019000,
            "deposit": 35.76 ,
            "deposit_jpy": 35.76,
            "refunded": 35.76 ,
            "refunded_jpy": 35.76,
            "swap": 0,
        }
    }
}

補足

  • 呼び出しは60秒間に10回以下におさまるようにしてください。呼び出しが多すぎるとアクセス拒否されることがあります。(※)
  • “since”もしくは”end”をセットした場合、”order”は強制的に”ASC”となります。
  • “from_id”もしくは”end_id”をセットした場合、”order”は強制的に”ASC”となります。

ユーザー自身の取引履歴明細を取得

信用取引のユーザー自身の取引履歴の明細を取得します。

パラメータ

============ ======= =================== === =========
パラメータ   必須    詳細                型  デフォルト
============ ======= =================== === =========
method       Yes     position_history    str
group_id     No      グループID          int
leverage_id  Yes     注文ID              int
============ ======= =================== === =========

戻り値

================ =============================================== ===
キー             詳細                                            型
================ =============================================== ===
例)182          注文ID                                          int
group_id         グループID                                      int
currency_pair    通貨ペア                                        str
action           bid(買い) or ask(売り)                          str
amount           数量                                            float
price            価格                                            float
timestamp        発注日時                                        UNIX_TIMESTAMP
your_action      bid(買い) or ask(売り)、自己取引の場合はboth    str
bid_leverage_id  買い注文ID(自分の注文の場合のみ)                int
ask_leverage_id  売り注文ID(自分の注文の場合のみ)                int
================ =============================================== ===
{
    "success": 1,
    "return": {
        "182": {
            "group_id": 1,
            "currency_pair": "btc_jpy",
            "action": "bid",
            "amount": 0.0001,
            "price": 499000
            "timestamp": 1504251232
            "your_action": "bid",
            "bid_leverage_id": 182,
        },
        "183": {
            "group_id": 1,
            "currency_pair": "btc_jpy",
            "action": "ask",
            "amount": 0.0001,
            "price": 450000
            "timestamp": 1504251267
            "your_action": "ask",
            "ask_leverage_id": 182,
        },

    }
}

エラーメッセージ

=============================================== ===================================================================
メッセージ                                      詳細
=============================================== ===================================================================
order not found                                 注文が見つかりません。
=============================================== ===================================================================

補足


未約定注文一覧の取得

信用取引の現在有効な注文一覧を取得します(未約定注文一覧)。

パラメータ

================ ======= =================================== =============== =========
パラメータ        必須     詳細                              型              デフォルト
================ ======= =================================== =============== =========
method            Yes     active_positions                   str
group_id          No      グループID                         int
currency_pair     No      通貨ペア。指定なしで全通貨ペア     str(例) btc_jpy 全通貨ペア
================ ======= =================================== =============== =========

戻り値

==================== =========================================== ==============
キー                 詳細                                        型
==================== =========================================== ==============
例)182              注文ID                                      int
group_id             グループID                                  int
currency_pair        通貨ペア                                    str
action               bid(買い) or ask(売り)                      str
amount               数量                                        float
price                価格                                        float
limit                リミット注文価格                            float
stop                 ストップ注文価格                            float
timestamp            発注日時                                    UNIX_TIMESTAMP
term_end             注文の有効期限                              UNIX_TIMESTAMP
leverage             レバレッジ                                  float
fee_spent            支払い手数料                                float
price_avg            建玉平均価格                                float
amount_done          建玉数                                      float
close_avg            決済平均価格                                float
close_done           決済数                                      float
deposit_xxx          実際にデポジットした額(xxxは通貨コード)    float
deposit_price_xxx    デポジット時計算レート(xxxは通貨コード)    float
==================== =========================================== ==============
{
    "success": 1,
    "return": {
        "184": {
            "group_id": "1",
            "currency_pair": "btc_jpy",
            "action": "ask",
            "amount": 0.0001,
            "price": 450000,
            "timestamp": 1402021125,
            "term_end": 1404613125,
            "leverage": 1,
            "fee_spent": 0.0015,
            "price_avg": 450000,
            "amount_done": 0.0001,
            "deposit_jpy": 48.72
        }
    }
}

補足

  • 呼び出しは10秒間に20回以下におさまるようにしてください。呼び出しが多すぎるとアクセス拒否されることがあります。(※)

注文

信用取引の注文を行います。

パラメータ

================ ======= =================================== ======================= ===========
パラメータ       必須     詳細                               型                      デフォルト
================ ======= =================================== ======================= ===========
method            Yes     create_position                     str
group_id          No      グループID                          int 
currency_pair     Yes     通貨ペア                            str(例) btc_jpy        
action            Yes     bid(買い) or ask(売り)              str
amount            Yes     数量                                numerical 
price             Yes     価格                                numerical 
leverage          Yes     レバレッジ                          numerical 
limit             No      リミット注文価格                    numerical 
stop              No      ストップ注文価格                    numerical 
================ ======= =================================== ======================= ===========

戻り値

==================== =========================================== ===============
キー                 詳細                                          型
==================== =========================================== ===============
leverage_id          注文ID                                      int
timestamp            注文日時                                    UNIX_TIMESTAMP
term_end             注文の有効期限                              UNIX_TIMESTAMP
price_avg            建玉平均価格                                float
amount_done          建玉数                                      float
deposit_xxx          実際にデポジットした額(xxxは通貨コード)    float
deposit_price_xxx    デポジット時計算レート(xxxは通貨コード)    float
funds                残高                                        dict
==================== =========================================== ===============
{
    "success": 1,
    "return": {
        "leverage_id": 22258,
        "timestamp": 1504253833,
        "term_end": 1506845833,
        "price_avg": 118000,
        "amount_done": 0.0001,
        "deposit_jpy": 11.92,
        "funds": {
            "jpy": 325,
            "btc": 1.392,
            "mona": 2600
        }
    }
}

エラーメッセージ

=============================================== ===================================================================
メッセージ                                      詳細
=============================================== ===================================================================
trade temporarily unavailable                   取引が一時的に停止されています。
your account is restricted now, KYC required.   本人確認が完了していないため、取引ができません。本人確認を完了させて下さい。
insufficient funds                              取引に必要な残高が存在しません。
=============================================== ===================================================================

補足

  • 呼び出しは10秒間に3回以下におさまるようにしてください。呼び出しが多すぎるとアクセス拒否されることがあります。(※)

  • パラメータ limitについて

    リミット値(利確のための反対売買の指値)を指定することができます。 リミット値を指定した場合、注文が成立した分だけの数量について、自動的にリミット注文が発行されます。

  • パラメータ stopについて

    ストップ値を指定した場合、設定価格まで下落(あるいは上昇)した場合に成行にて決済を試みます。 成行注文のため必ずしも設定価格で決済されることを保証する物ではございません。

  • 価格および数量の数値について

    下記の単位以外で注文しようとした場合、invalid price parameterまたはinvalid amount parameterというエラーが返されます。

    • 価格(priceおよびlimit)

      btc_jpy : 5円単位

    • 数量(amount)

      btc_jpy : 0.0001BTC単位


注文の変更

信用取引の注文の変更を行います。

パラメータ

============ ======= ================ =========== =========
パラメータ    必須    詳細             型         デフォルト
============ ======= ================ =========== =========
method        Yes    change_position  str  
group_id      No     グループID       int 
leverage_id   Yes    注文ID           int 
price         Yes    価格             numerical
limit         No     リミット注文価格 numerical 
stop          No     ストップ注文価格 numerical 
============ ======= ================ =========== =========

戻り値

==================== =================================== ==============
キー                 詳細                                型
==================== =================================== ==============
leverage_id          注文ID                              int
timestamp_closed     クローズ日時                        UNIX_TIMESTAMP
price_avg            建玉平均価格                        float
amount_done          建玉数                              float
close_avg            決済平均価格                        float
close_done           決済数                              float
refunded_xxx         実際に返却した額(xxxは通貨コード)  float
refunded_price_xxx   実際に返却した額(xxxは通貨コード)  float
guard_fee            追証ガード手数料                    float
==================== =================================== ==============
{
    "success": 1,
    "return": {
        "leverage_id": 22258,
        "price_avg": 118000,
        "amount_done": 0.0001,
    }
}

エラーメッセージ

=============================================== ===================================================================
メッセージ                                      詳細
=============================================== ===================================================================
order not found                                 注文が見つかりません。
order already closed                            注文が既にクローズしています。
trade temporarily unavailable                   取引が一時的に停止されています。
=============================================== ===================================================================

補足

  • 呼び出しは10秒間に3回以下におさまるようにしてください。呼び出しが多すぎるとアクセス拒否されることがあります。(※)

  • パラメータ limitについて

    limitを指定しなかった場合、設定済みのリミット注文は取り消されます。 継続してリミット注文を出し続けたい場合は毎回セットしてください。 リミット値を指定した場合、注文が成立した分だけの数量について、自動的にリミット注文が発行されます。

  • パラメータ stopについて

    stopを指定しなかった場合、設定済みのストップ注文は取り消されます。 継続してストップ注文を出し続けたい場合は毎回必ずセットしてください。 ストップ値を指定した場合、設定価格まで下落(あるいは上昇)した場合に成行にて決済を試みます。 成行注文のため必ずしも設定価格で決済されることを保証する物ではございません。

  • 価格および数量の数値について

    下記の単位以外で注文しようとした場合、invalid price parameterまたはinvalid amount parameterというエラーが返されます。

    • 価格(priceおよびlimit)

      btc_jpy : 5円単位

    • 数量(amount)

      btc_jpy : 0.0001BTC単位

  • leverage_idはユーザー自身の取引履歴または未約定注文一覧で取得できます。


注文の取消し

信用取引の注文の取消しを行います。

パラメータ

============ ======= =================== ======= ===========
パラメータ   必須    詳細                型      デフォルト
============ ======= =================== ======= ===========
method       Yes     cancel_position     str
group_id     No      グループID          int
leverage_id  Yes     注文ID              int
============ ======= =================== ======= ===========

戻り値

==================== =================================== ===============
キー                 詳細                                型
==================== =================================== ===============
leverage_id          注文ID                              int
fee_spent            支払い手数料                        float
timestamp_closed     クローズ日時                        UNIX_TIMESTAMP
price_avg            建玉平均価格                        float
amount_done          建玉数                              float
close_avg            決済平均価格                        float
close_done           決済数                              float
refunded_xxx         実際に返却した額(xxxは通貨コード)  float
refunded_price_xxx   実際に返却した額(xxxは通貨コード)  float
guard_fee            追証ガード手数料                    float
funds                残高                                dict
==================== =================================== ===============
{
    'success': 1,
    'return': {
        'leverage_id': 2072,
        'refunded_jpy': 645.96,
        'funds': {
            'btc': 0.496,
            'jpy': 1564.96,
            'xem': 0.0,
            'mona': 10.0
        },
        'fee_spent': 0.0,
        'timestamp_closed': '1508384951',
        'swap': 0.0
    }
}

エラーメッセージ

=============================================== ===================================================================
メッセージ                                      詳細
=============================================== ===================================================================
order not found                                 注文が見つかりません。
order already closed                            注文が既にクローズしています。
order is too new                                注文から一定時間の経過が必要です。
=============================================== ===================================================================

補足