現物取引API¶
共通情報¶
現物取引APIの共通情報です。
リクエスト方法¶
- エンドポイント:https://api.zaif.jp/tapi
- メソッド: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 |
注釈
メソッド毎の固有のパラメータも全てPOSTパラメータにて送信してください。 nonceパラメータの値は実効毎に増分されていないとエラーが発生します。また、増分量は少数点以下の値にも対応しております。
エラーメッセージ¶
メッセージ | 詳細 |
---|---|
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 | 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
}
}
残高情報(軽量)の取得¶
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
}
}
チャット情報の取得¶
チャットに使用されるニックネームと画像のパスを返します。
パラメータ¶
パラメータ | 必須 | 詳細 | 型 |
---|---|---|---|
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 |
メールアドレス | 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 | 手数料 | float |
fee_amount | 手数料 | float |
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"
}
}
}
未約定注文一覧の取得¶
現在有効な注文一覧を取得します(未約定注文一覧)。
パラメータ¶
パラメータ | 必須 | 詳細 | 型 | デフォルト |
---|---|---|---|---|
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"
}
}
}
}
}
注文¶
取引注文を行います。
パラメータ¶
パラメータ | 必須 | 詳細 | 型 | デフォルト |
---|---|---|---|---|
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 | 注文から一定時間の経過が必要です。 |
出金¶
資金の引き出しリクエストを送信します。
2022年4月1日より、トラベルルール対応として出金時に受取人の情報が必要となりました。Zaifサイトから出金先のアドレスを登録し受取人情報を事前に登録すれば、APIからは今までどおりの出金を行うことができます。出金先アドレスに受取人情報が登録されていない場合、APIからの出金時に追加の情報(kind/beneficiary_name/vasp_master_id/vasp_name)を指定して出金することができます。
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 | |
kind | No | (self:本人宛、other:それ以外) 左記文字列のみ使用可能 | str | |
beneficiary_name | No | max:100文字まで 全角カナと全角スペースのみ使用可能 | str | |
vasp_master_id | No | 現物公開API vasp_info で取得したvasp_master_id を指定する。左記以外は不可 | str | |
vasp_name | No | vasp_master_id が 1(その他)の場合のみ指定必須。max:100文字まで | str |
戻り値¶
キー | 詳細 | 型 |
---|---|---|
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 | 取引に必要な残高が存在しません。 |
please specify kind | 宛先を設定してください |
invalid kind | 宛先の形式が正しくありません |
please specify beneficiary_name | 送金先氏名を設定してください |
invalid beneficiary_name length | 送金先氏名の長さが正しくありません |
invalid beneficiary_name format | 送金先氏名の形式が正しくありません |
please specify vasp_master_id | VASP情報IDを設定してください |
invalid vasp_master_id | VASP情報IDが正しくありません |
please specify vasp_name | 送金先を設定してください |
invalid vasp_name length | 送金先の長さが正しくありません |
invalid vasp_name format | 送金先の形式が正しくありません |
補足¶
- パラメータ“kind“、“beneficiary_name“、“vasp_master_id“、“vasp_name“は、 addressに指定したアドレスが出金先アドレス管理にて設定済みで、かつ上記の4項目が設定されている場合、それらの値が適用されます。 (この場合、当該リクエストで上記4項目が設定されても無視されます) もしくは“address“に指定したアドレスが出金先アドレス管理にて設定済みで、かつ上記の4項目が設定されていない場合は 当該リクエストで上記4項目を必ず設定する必要があります。
- パラメータ“kind“、“beneficiary_name“、“vasp_name“、“vasp_timestamp“及びそれらに関連するエラーメッセージは 2022年4月1日より適用となります。
入金履歴の取得¶
入金履歴を取得します。
パラメータ¶
パラメータ | 必須 | 詳細 | 型 | デフォルト |
---|---|---|---|---|
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"
},
}
}
出金履歴の取得¶
出金履歴を取得します。
パラメータ¶
パラメータ | 必須 | 詳細 | 型 | デフォルト |
---|---|---|---|---|
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 |
kind | 宛先 | str |
beneficiary_name | 送金先氏名 | str |
vasp_master_id | VASP情報ID | str |
vasp_name | 送金先 | str |
vasp_timestamp | VASP情報登録日時 | UNIX_TIMESTAMP |
{
"success":1,
"return":{
"3816":{
"timestamp":1435745065,
"address":"12qwQ3sPJJAosodSUhSpMds4WfUPBeFEM2",
"amount":0.001,
"txid":"64dcf59523379ba282ae8cd61d2e9382c7849afe3a3802c0abb08a60067a159f",
"kind": "本人宛",
"beneficiary_name": "ザイフタロウ",
"vasp_name": "タロウ証券",
"vasp_timestamp": "1435745065"
},
"3814":{
"timestamp":1435548083,
"address":"12qwQ3sPJJAosodSUhSpMds4WfUPBeFEM2",
"amount":0.001,
"txid":"7d012cfff6e67a8938f93215367eef4177604459631ea62c85550980dca71819",
"kind": "本人宛",
"beneficiary_name": "ザイフハナコ",
"vasp_name": "Coinhanako",
"vasp_timestamp": "1435548083"
},
}
}