- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2017-12-30T15:15:48+09:00","","")
#author("2018-01-30T22:37:31+09:00","","")
#navi(../)
* coincheckの残高API(balance)のサンプルコード(PHP) [#bbe095ed]
PHPを使って&htmlinsert(coincheck.html);の[[アカウントの残高確認API>https://coincheck.com/ja/documents/exchange/api#account-balance]]のサンプルコードを以下に記します。
----
&color(red){当サイトに記載されている会社名、製品名などは一般に各社または団体の商標または登録商標です。&br;当サイトの資料により直接的および間接的障害が生じても一切責任を負いません。&br;あらかじめご了承ください。};
----
#htmlinsert(coincheck_wide.html)
#contents
#htmlinsert(cc-top.html)
* 関連記事 [#nf5820b1]
-[[API動作環境構築>API/環境構築]]
-[[ティッカー(PHP)>API/coincheck/ティッカー(PHP)]]
-[[全取引履歴(PHP)>API/coincheck/全取引履歴(PHP)]]
-[[板情報(PHP)>API/coincheck/板情報(PHP)]]
-[[レート取得(PHP)>API/coincheck/レート取得(PHP)]]
-[[販売レート取得(PHP)>API/coincheck/販売レート取得(PHP)]]
-[[CoincheckのAPIキー生成手順>API/coincheck/APIキー生成手順]]
-[[アカウントの残高確認(PHP)>API/coincheck/残高確認(PHP)]]
-[[新規注文・現物売買(PHP)>API/coincheck/新規注文・現物売買(PHP)]]
-[[レバレッジアカウントの残高サンプル>API/coincheck/レバレッジアカウントの残高取得]]
-[[レバレッジアカウントの残高サンプル(PHP)>API/coincheck/レバレッジアカウントの残高取得]]
-[[レバレッジ取引注文サンプルコード(PHP)>API/coincheck/レバレッジ取引注文(PHP)]]
-[[レバレッジ取引のポジション一覧を取得する・positions>API/coincheck/ポジション一覧(PHP)]]
-[[レバレッジ取引のポジション一覧を取得する・positions(PHP)>API/coincheck/ポジション一覧(PHP)]]
-[[最近の取引履歴を取得する(PHP)>API/coincheck/最近の取引履歴の取得(PHP)]]
* 残高APIの仕様 [#xf270242]
残高APIはPrivate APIのため、&htmlinsert(coincheck.html);の口座開設が必要となります。
''残高APIの仕様''(Coincheck APIページから抜粋)~
残高
アカウントの残高を確認できます。
jpy, btc には未決済の注文に利用している jpy_reserved, btc_reserved は含まれていません。
HTTP REQUEST
GET /api/accounts/balance
RESPONSE ITEMS
jpy 日本円の残高
btc ビットコインの残高
jpy_reserved 未決済の買い注文に利用している日本円の合計
btc_reserved 未決済の売り注文に利用しているビットコインの合計
jpy_lend_in_use 貸出申請をしている日本円の合計(現在は日本円貸出の機能を提供していません)
btc_lend_in_use 貸出申請をしているビットコインの合計(現在はビットコイン貸出の機能を提供していません)
jpy_lent 貸出をしている日本円の合計(現在は日本円貸出の機能を提供していません)
btc_lent 貸出をしているビットコインの合計(現在はビットコイン貸出の機能を提供していません)
jpy_debt 借りている日本円の合計
btc_debt 借りているビットコインの合計
* 残高APIサンプルソースを使用する前の準備 [#j9f463ba]
本サンプルソースには、$ACCESS_KEY, $SECRET_ACCESS_KEY にAPIキーを設定していません。~
APIキーを準備してください。~
// Please set ACCESS_KEY and SECRET_ACCESS_KEY
$ACCESS_KEY = "";
$SECRET_ACCESS_KEY = "";
APIキーの作成に関しては以下の記事を参考にしてください。~
-[[CoincheckのAPIキー生成手順>API/coincheck/APIキー生成手順]]
本サンプルソースを実行するには、APIキーのパーミッションとして「残高」にチェックが必要です。~
#ref(01.png)
#br
APIキーを作成すると、以下のスクリーンショットのように「アクセスキー」「アクセスシークレットキー」が作成されるので、~
サンプルソースの $ACCESS_KEY, $SECRET_ACCESS_KEY に設定してください。
#ref(02.png)
#br
----
#htmlinsert(coincheck_wide.html)
* 残高API PHPサンプルソース [#gf219185]
以下に&htmlinsert(coincheck.html);の残高APIを呼び出すサンプルソースを記します~
上記に記述しましたが、「アクセスキー」「アクセスシークレットキー」を準備してください。
#ref(balance.php.zip)
<?php
// API doc : https://coincheck.com/ja/documents/exchange/api#account-balance
// API url : https://coincheck.com/api/accounts/balance
// Please set ACCESS_KEY and SECRET_ACCESS_KEY
$ACCESS_KEY = "アクセスキーを設定してください";
$SECRET_ACCESS_KEY = "シークレットアクセスキーを設定してください";
// proxy settings
$proxy = "";
$proxy_port = "";
// coincheck balance api url
$url = "https://coincheck.com/api/accounts/balance";
// create signature
$nonce = time();
$message = $nonce . $url;
$signature = hash_hmac("sha256", $message, $SECRET_ACCESS_KEY);
// header
$headers = array(
"ACCESS-KEY: {$ACCESS_KEY}",
"ACCESS-SIGNATURE: {$signature}",
"ACCESS-NONCE: {$nonce}",
);
$curl = curl_init();
if ($curl == FALSE) {
fputs(STDERR, "[ERR] curl_init(): " . curl_error($curl) . PHP_EOL);
die(1);
}
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
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);
}
$response = curl_exec($curl);
if ($response == FALSE) {
fputs(STDERR, "[ERR] curl_exec(): " . curl_error($curl) . PHP_EOL);
die(1);
}
curl_close($curl);
// 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);
}
// output json_decode
//print_r($json_decode);
if (!$json_decode["success"]) {
fputs(STDERR,"[ERROR] : " . $json_decode["error"] . PHP_EOL);
die(1);
}
printf("JPY: %f" . PHP_EOL, $json_decode["jpy"]);
printf("BTC: %f" . PHP_EOL, $json_decode["btc"]);
printf("BCH: %f" . PHP_EOL, $json_decode["bch"]);
printf("ETH: %f" . PHP_EOL, $json_decode["eth"]);
printf("ETC: %f" . PHP_EOL, $json_decode["etc"]);
printf("XRP: %f" . PHP_EOL, $json_decode["xrp"]);
printf("XEM: %f" . PHP_EOL, $json_decode["xem"]);
printf("LTC: %f" . PHP_EOL, $json_decode["ltc"]);
printf("LSK: %f" . PHP_EOL, $json_decode["lsk"]);
printf("FCT: %f" . PHP_EOL, $json_decode["fct"]);
printf("XMR: %f" . PHP_EOL, $json_decode["xmr"]);
printf("REP: %f" . PHP_EOL, $json_decode["rep"]);
printf("ZEC: %f" . PHP_EOL, $json_decode["zec"]);
printf("DASH:%f" . PHP_EOL, $json_decode["dash"]);
exit(0);
* 残高API PHPサンプルソース実行結果 [#f4b13479]
以下、上記のサンプルソースを実行したときの出力です。
$ php balance.php
JPY: 0.000000
BTC: 0.000000
BCH: 0.000000
ETH: 0.000000
ETC: 0.000000
XRP: 0.000000
XEM: 0.000000
LTC: 0.000000
LSK: 0.000000
FCT: 0.000000
XMR: 0.000000
REP: 0.000000
ZEC: 0.000000
DASH:0.000000
** invalid authentication エラーになった場合 [#kc9a61ee]
以下のようにERRORが出た場合は、APIキーの設定に誤りがないか確認してください。
$ php balance.php
[ERROR] : invalid authentication
** This api is not permitted... エラーになった場合 [#z1127d3c]
APIキーの設定を確認してください。~
残高にチェックが入っていないためパーミッションエラーとなっています。
$ php balance.php
[ERROR] : This api is not permitted, Please set permission. https://coincheck.com/api_settings
以上、&htmlinsert(coincheck.html);の残高API(balance)を呼び出すサンプルソースおよび実行結果でした。
----
#htmlinsert(coincheck_wide.html)
#htmlinsert(cc-btm.html)