AirFX API


共通情報

AirFX APIの共通情報です。


事前準備

  • AirFX 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 取引タイプ futures
group_id グループID 1

注釈

メソッド毎の固有のパラメータも全て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 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にはエラーメッセージが設定されます。


個別情報

AirFX APIの個別情報です。


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

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

パラメータ

パラメータ 必須 詳細 デフォルト
method Yes get_positions str  
group_id Yes グループ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
swap 受け取ったスワップの額 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”となります。

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

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

パラメータ

パラメータ 必須 詳細 デフォルト
method Yes create_position str  
group_id Yes グループ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 注文が見つかりません。

補足


未約定注文一覧の取得

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

パラメータ

パラメータ 必須 詳細 デフォルト
method Yes active_positions str  
group_id Yes グループ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
swap 受け取ったスワップの額 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回以下におさまるようにしてください。呼び出しが多すぎるとアクセス拒否されることがあります。

注文

AirFXの注文を行います。

パラメータ

パラメータ 必須 詳細 デフォルト
method Yes create_position str  
group_id Yes グループ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単位


注文の変更

AirFX注文の変更を行います。

パラメータ

パラメータ 必須 詳細 デフォルト
method Yes change_position str  
group_id Yes グループ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
swap 受け取ったスワップの額 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はユーザー自身の取引履歴または未約定注文一覧で取得できます。


注文の取消し

AirFX注文の取消しを行います。

パラメータ

パラメータ 必須 詳細 デフォルト
method Yes cancel_order str  
group_id Yes グループ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
swap 受け取ったスワップの額 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 注文から一定時間の経過が必要です。

補足