Zaifのアカウント残高をAPIで取得する・get_info, get_info2 †get_info, get_info2 APIを使用することにより、Zaif
にある残高(資産)を確認することができます。 当サイトに記載されている会社名、製品名などは一般に各社または団体の商標または登録商標です。 関連記事 †
get_info, get_info2 API使用 †本APIを使用するには、Zaif の口座開設が必要となります。
get_info, get_info2 APIの違い †上記API仕様の抜粋に記されている通り、過去のトレード数の有無が違いのようです。 [trade_count] 残高出力のサンプルコード †get_info, get_info2で取得したfundsとdeposit一覧を表示するサンプルコードを以下に記します。 $ diff get_info.php get_info2.php 2c2 < // API doc : http://techbureau-api-document.readthedocs.io/ja/latest/trade/2_individual/1_get_info.html --- > // API doc : http://techbureau-api-document.readthedocs.io/ja/latest/trade/2_individual/2_get_info2.html 7c7 < $method = "get_info"; --- > $method = "get_info2"; メソッド名が異なるだけなので、get_info APIを使用したget_info.phpソースを以下に記します。 get_info.php.zip get_info2.php.zip <?php // API doc : http://techbureau-api-document.readthedocs.io/ja/latest/trade/2_individual/1_get_info.html // zaif trade api url $zaif_api_url = "https://api.zaif.jp/tapi"; // api method name $method = "get_info"; // Please set API_KEY and API_SECRET_KEY $API_KEY = "APIキーを設定してください"; $API_SECRET_KEY = "APIシークレットキーを設定してください。"; // proxy settings $proxy = ""; $proxy_port = ""; $nonce = time(); $body = http_build_query( array( "nonce"=>$nonce, "method"=>$method ) ); $signature = hash_hmac("sha512", $body, $API_SECRET_KEY); $headers = array( "Sign: {$signature}", "Key: {$API_KEY}" ); $curl = curl_init(); if ($curl == FALSE) { fputs(STDERR, "[ERR] curl_init(): " . curl_error($curl) . PHP_EOL); die(1); } // curl set options curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); // set proxy server settings if (!empty($proxy) && !empty($proxy_port)) { curl_setopt($curl, CURLOPT_HTTPPROXYTUNNEL, 1); curl_setopt($curl, CURLOPT_PROXY, $proxy . ":" . $proxy_port); curl_setopt($curl, CURLOPT_PROXYPORT, $proxy_port); } curl_setopt($curl, CURLOPT_URL, $zaif_api_url); curl_setopt($curl, CURLOPT_POST, TRUE); curl_setopt($curl, CURLOPT_POSTFIELDS, $body); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); $response = curl_exec($curl); if ($response == FALSE) { fputs(STDERR, "[ERR] curl_exec(): " . curl_error($curl) . PHP_EOL); die(1); } // json decode $json_decode = json_decode($response, true); if ($json_decode == NULL) { fputs(STDERR, "[ERR] json_decode(): " . json_last_error_msg() . PHP_EOL); die(1); } curl_close($curl); //print_r($json_decode); if (!$json_decode["success"]) { fputs(STDERR, "[ERR] " . $json_decode["error"] . PHP_EOL); die(1); } // funds key sort array $funds = $json_decode["return"]["funds"]; ksort($funds); // deposit key sort array $deposit = $json_decode["return"]["deposit"]; ksort($deposit); print("-------- Funds --------" . PHP_EOL); foreach ($funds as $key => $val) { printf("%10s\t%f" . PHP_EOL, $key, $val); } print("-------- Deposit --------" . PHP_EOL); foreach ($deposit as $key => $val) { printf("%10s\t%f" . PHP_EOL, $key, $val); } exit(0); APIキー, APIシークレットキー †上記サンプルコード内にある、以下の部分ですが、APIキーの設定が必要となります。 $API_KEY = "APIキーを設定してください"; $API_SECRET_KEY = "APIシークレットキーを設定してください。"; 以下の記事を参考にAPIキーを取得してください。
実行例 †上記のサンプルコードを実行した結果です。 $ php get_info.php -------- Funds -------- BCH 0.000001 ETH 0.000001 PEPECASH 1.009010 ZAIF 1.000000 btc 0.010000 jpy 1.000000 mona 1.000000 xem 1.000000 -------- Deposit -------- BCH 0.000001 ETH 0.000001 PEPECASH 1.009010 ZAIF 1.000000 btc 0.010000 jpy 1.000000 mona 1.000000 xem 1.000000 以上、get_info, get_info2 APIを使用し残高を確認するサンプルコードおよび実行例でした。 |