信用取引 API


共通情報

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


事前準備

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

リクエスト方法

  • エンドポイント:https://api.zaif.jp/tlapi

  • メソッド:POST

認証

  • 取得した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にはエラーメッセージが設定されます。

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


個別情報

信用取引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

注文から一定時間の経過が必要です。

補足