現物取引API


共通情報

現物取引APIの共通情報です。


事前準備

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

リクエスト方法

  • エンドポイント:https://api.zaif.jp/tapi
  • メソッド: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

注釈

メソッド毎の固有のパラメータも全て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 APIKeyに権限がありません。
invalid {} parameter 指定されているパラメータが無効です。

補足

  • 戻り値

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

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


個別情報

現物取引APIの個別情報です。


残高情報の取得

現在の残高(余力および残高・トークン)、APIキーの権限、過去のトレード数、アクティブな注文数、サーバーのタイムスタンプを取得します。

パラメータ

パラメータ 必須 詳細 デフォルト
method Yes get_info str  

戻り値

キー 詳細
funds 残高 dict
deposit 残高に注文情報を加味した情報 dict
rights キーが保持している権限 dict
trade_count 実行したトレード数 int
open_orders アクティブな注文数 int
server_time UNIX時間で換算された日本時間 int
{
    "success":1,
    "return":{
        "funds":{
            "jpy":15320,
            "btc":1.389,
            "xem":100.2,
            "mona":2600,
            "pepecash":0.1
        },
        "deposit":{
            "jpy":20440,
            "btc":1.479,
            "xem":100.2,
            "mona":3200,
            "pepecash":0.1
        },
        "rights":{
            "info":1,
            "trade":1,
            "withdraw":0,
            "personal_info":0,
            "id_info":0,
        },
        "trade_count":18,
        "open_orders":3,
        "server_time":1401950833
    }
}

補足

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

  • deposit算出方法

    depositは現在の資産の残高に注文情報を加味したものになります。

    買い注文が存在する場合、その注文の値段と量をかけ合わせたもので、売り注文が存在する場合は、その注文の量のみが加味されます。

  • 取得できる情報は、APIを実行した時点のものになります。


残高情報(軽量)の取得

get_infoの軽量版で、過去のトレード数を除く項目を返します。

パラメータ

パラメータ 必須 詳細
method Yes get_info2 str

戻り値

キー 詳細
funds 残高 dict
deposit 残高に注文情報を加味した情報 dict
rights キーが保持している権限 dict
open_orders アクティブな注文数 int
server_time UNIX時間で換算された日本時間 int
{
    "success": 1,
    "return": {
        "funds": {
            "jpy": 15320,
            "btc": 1.389,
            "xem": 100.2,
            "mona": 2600,
            "pepecash": 0.1
        },
        "deposit": {
            "jpy": 20440,
            "btc": 1.479,
            "xem": 100.2,
            "mona": 3200,
            "pepecash": 0.1
        },
        "rights": {
            "info": 1,
            "trade": 1,
            "withdraw": 0,
            "personal_info": 0
        },
        "open_orders": 3,
        "server_time": 1401950833
    }
}

補足

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

  • deposit算出方法

    depositは現在の資産の残高に注文情報を加味したものになります。

    買い注文が存在する場合、その注文の値段と量をかけ合わせたもので、売り注文が存在する場合は、その注文の量のみが加味されます。

  • 取得できる情報は、APIを実行した時点のものになります。


チャット情報の取得

チャットに使用されるニックネームと画像のパスを返します。

パラメータ

パラメータ 必須 詳細
method Yes get_personal_info str

戻り値

キー 詳細
ranking_nickname ニックネーム str
icon_path 画像のパス str
{
    "success": 1,
    "return": {
        "ranking_nickname": "ニックネーム",
        "icon_path": "https://abs.twimg.com/sticky/default_profile_images/default_profile_0_normal.png"
    }
}

個人情報の取得

ユーザーIDやメールアドレスといった個人情報を取得します。

パラメータ

パラメータ 必須 詳細
method Yes get_id_info str

戻り値

キー 詳細
id ユーザーID str
email メールアドレス str
name ユーザ名 int
kana ユーザ名カナ str
certified 認証済みかどうか bool
{
    "success": 1,
    "return": {
    }
}

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

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

パラメータ

パラメータ 必須 詳細 デフォルト
method Yes trade_history str  
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 指定なし
is_token No カウンターパーティトークンかどうか bool false

戻り値

キー 詳細
例)182 注文ID int
currency_pair 通貨ペア str
action bid(買い) or ask(売り) str
amount 数量 float
price 価格 float
fee 手数料 int
your_action bid(買い) or ask(売り)、 自己取引の場合はboth str
bonus マイナス手数料分 float
timestamp 取引日時 UNIX_TIMESTAMP
comment 注文のコメント str
{
    "success": 1,
    "return": {
        "182": {
            "currency_pair": "btc_jpy",
            "action": "bid",
            "amount": 0.03,
            "price": 56000,
            "fee": 0,
            "your_action": "ask",
            "bonus": 1.6,
            "timestamp": 1402018713,
            "comment" : "demo"
        }
    }
}

補足

  • 呼び出しは60秒間に12回以下におさまるようにしてください。呼び出しが多すぎるとアクセス拒否されることがあります。
  • “since”もしくは”end”をセットした場合、”order”は強制的に”ASC”となります。
  • “from_id”もしくは”end_id”をセットした場合、”order”は強制的に”ASC”となります。
  • “currency_pair”と”is_token”の両方を指定した場合は”currency_pair”が優先されます。両方指定しない場合はカウンターパーティトークン以外の情報を取得します。

未約定注文一覧の取得

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

パラメータ

パラメータ 必須 詳細 デフォルト
method Yes active_orders str  
currency_pair No 通貨ペア。指定なしで全通貨ペア str 全通貨ペア
is_token No カウンターパーティトークンかどうか bool false
is_token_both No true:全てのアクティブなオーダー情報を取得 bool false
false:currency_pairやis_tokenに従ったオーダー情報を取得

戻り値

キー 詳細
例)184 注文ID int
currency_pair 通貨ペア str
action bid(買い) or ask(売り) str
amount 数量 int
price 価格 int
timestamp 取引日時 UNIX_TIMESTAMP
comment 注文のコメント str
{
    "success": 1,
    "return": {
        "184": {
            "currency_pair": "btc_jpy",
            "action": "ask",
            "amount": 0.03,
            "price": 56000,
            "timestamp": 1402021125,
            "comment" : "demo"
        }
    }
}

is_token_bothがtrueの時は下記

{
   "success": 1,
   "return": {
       "active_orders": {
           "184": {
               "currency_pair": "btc_jpy",
               "action": "ask",
               "amount": 0.03,
               "price": 56000,
               "timestamp": 1402021125,
               "comment" : "demo"
           },
           "token_active_orders": {
               "235": {
                   "currency_pair": "kaori_jpy",
                   "action": "ask",
                   "amount": 0.3,
                   "price": 10,
                   "timestamp": 1402064525,
                   "comment" : "demo"
               }
           }
       }
   }
}

補足

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

注文

取引注文を行います。

パラメータ

パラメータ 必須 詳細 デフォルト
method Yes trade str  
currency_pair Yes 通貨ペア str(例)btc_jpy  
action Yes bid(買い) or ask(売り) str  
price Yes 指値注文価格 numerical  
amount Yes 数量 numerical  
limit No リミット注文価格 numerical  
comment No コメントの追加 str  

戻り値

キー 詳細
received 今回の注文で約定した取引量 float
remains 今回の注文で約定せず、板に残った取引量 float
order_id 今回の注文がすべて成立した場合は0、 int
一部、もしくはすべて約定しなかった場合は板に残った注文のID
funds 残高 dict
{
    "success": 1,
    "return": {
        "received": 0.1,
        "remains": 0,
        "order_id": 0,
        "funds": {
            "jpy": 325,
            "btc": 1.392,
            "mona": 2600
        }
    }
}

エラーメッセージ

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

補足

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

  • パラメータ limitについて

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

  • パラメータ commentについて

    コメントは255字以内で半角英数字記号のみに対応しています。 また、スラッシュは使えませんのでご注意ください。 コメントをつけた取引注文が約定した場合、該当する取引履歴にそのコメントが付与されます。 取引注文の管理にご利用ください。

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

    適切な価格(priceおよびlimit)、もしくは数量(amount)の単位以外で注文しようとした場合、invalid price parameterまたはinvalid amount parameterというエラーが返されます。 適切な価格や数量は現物公開APIの通貨ペア情報で取得できます。 通貨ペアごとに適切な価格や数量の最低量や単位は変わりますので、ご注意ください


注文の取消し

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

パラメータ

パラメータ 必須 詳細 デフォルト
method Yes cancel_order str  
order_id Yes 注文ID( 注文 または 未約定注文一覧 で取得できます) int  
currency_pair No 通貨ペア str(例)btc_jpy  
is_token No true:カウンターパーティトークンのオーダーを取り消したい時 bool false
false:カウンターパーティトークン以外のオーダーを取り消したい時

注釈

“currency_pair”と”is_token”の両方を指定した場合は”currency_pair”が優先されます。両方指定しない場合はカウンターパーティトークン以外の情報を操作します。

戻り値

キー 詳細
order_id 注文ID int
funds 残高 dict
{
    "success": 1,
    "return": {
        "order_id": 184,
        "funds": {
            "jpy": 15320,
            "btc": 1.392,
            "mona": 2600,
            "kaori": 0.1
        }
    }
}

エラーメッセージ

メッセージ 詳細
order not found 注文が見つかりません。
order is too new 注文から一定時間の経過が必要です。

出金

資金の引き出しリクエストを送信します。 2015年12月15日より、Zaif内の振替を除くリクエストには一旦トランザクションIDは空で返されるようになりました。 通常1~2分でトランザクションが発生しますので、後ほどwithdraw_historyメソッドを利用して確認してください xemの出金時には、手数料は自動計算され、opt_feeに値をセットして送信しますとエラーが返されますのでご注意ください。 不正送金の対策として、アカウントに対する最初の日本円入金から7日間は、APIによる仮想通貨の出金を制限しております。
ZaifからのXEMの出金はmultisigトランザクションになります。
multisigトランザクションに対応していない他の取引所やサービスへ送金されましても、Zaifでは対応致し兼ねますのでご注意ください。

パラメータ

パラメータ 必須 詳細 デフォルト
method Yes withdraw str  
currency Yes 引き出す通貨。現物公開APIのcurrenciesで取得できるものが指定できます。ただしjpyは指定できません。 str(例)btc等  
address Yes 送信先のアドレス str  
message No 送信メッセージ(XEMのみ) ASCII str  
amount Yes 出金額 numerical  
opt_fee No 採掘者への手数料。ただしcurrencyがbtc、mona以外の時に指定するとエラーとなります。 numerical  

戻り値

キー 詳細
id 出金ID int
txid 振替ID str
fee 今回の引き出しにかかった手数料 float
funds 残高 dict
{
  "success": 1,
  "return": {
      "id": 23634,
      "fee": 0.001,
      "txid":,
      "funds": {
          "jpy": 15320,
          "btc": 1.392,
          "xem": 100.2,
          "mona": 2600
      }
}

エラーメッセージ

メッセージ 詳細
kyc is not finished 郵送による本人確認が完了していません。
insufficient funds 取引に必要な残高が存在しません。

入金履歴の取得

入金履歴を取得します。

パラメータ

パラメータ 必須 詳細 デフォルト
method Yes deposit_history str  
currency Yes 通貨 str(例)jpy 等 指定なし
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

戻り値

キー 詳細
timestamp 出金日時 UNIX_TIMESTAMP
address 出金先アドレス str
amount 取引量 float
txid トランザクションID str
{
    "success":1,
    "return":{
        "3816":{
          "timestamp":1435745065,
          "address":"12qwQ3sPJJAosodSUhSpMds4WfUPBeFEM2",
          "amount":0.001,
          "txid":"64dcf59523379ba282ae8cd61d2e9382c7849afe3a3802c0abb08a60067a159f",
        },
        "3814":{
          "timestamp":1435548083,
          "address":"12qwQ3sPJJAosodSUhSpMds4WfUPBeFEM2",
          "amount":0.001,
          "txid":"7d012cfff6e67a8938f93215367eef4177604459631ea62c85550980dca71819"
        },
    }
}

補足

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

出金履歴の取得

出金履歴を取得します。

パラメータ

パラメータ 必須 詳細 デフォルト
method Yes withdraw_history str  
currency Yes 通貨 str(例)jpy 等 指定なし
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

戻り値

キー 詳細
timestamp 出金日時 UNIX_TIMESTAMP
address 出金先アドレス str
amount 取引量 float
txid トランザクションID str
{
    "success":1,
    "return":{
        "3816":{
          "timestamp":1435745065,
          "address":"12qwQ3sPJJAosodSUhSpMds4WfUPBeFEM2",
          "amount":0.001,
          "txid":"64dcf59523379ba282ae8cd61d2e9382c7849afe3a3802c0abb08a60067a159f",
        },
        "3814":{
          "timestamp":1435548083,
          "address":"12qwQ3sPJJAosodSUhSpMds4WfUPBeFEM2",
          "amount":0.001,
          "txid":"7d012cfff6e67a8938f93215367eef4177604459631ea62c85550980dca71819"
        },
    }
}

補足

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