信用取引 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¶m2=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 |
注文が見つかりません。 |
補足
呼び出しは60秒間に10回以下におさまるようにしてください。呼び出しが多すぎるとアクセス拒否されることがあります。(※)
leverage_idはユーザー自身の取引履歴または未約定注文一覧で取得できます。
未約定注文一覧の取得
信用取引の現在有効な注文一覧を取得します(未約定注文一覧)。
パラメータ
パラメータ |
必須 |
詳細 |
型 |
デフォルト |
---|---|---|---|---|
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 |
注文から一定時間の経過が必要です。 |
補足
呼び出しは10秒間に3回以下におさまるようにしてください。呼び出しが多すぎるとアクセス拒否されることがあります。(※)
leverage_idはユーザー自身の取引履歴または未約定注文一覧で取得できます。