PHPを使って Coincheck のアカウントの残高確認APIのサンプルコードを以下に記します。
当サイトに記載されている会社名、製品名などは一般に各社または団体の商標または登録商標です。
当サイトの資料により直接的および間接的障害が生じても一切責任を負いません。
あらかじめご了承ください。
残高APIはPrivate APIのため、 Coincheck の口座開設が必要となります。
残高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 借りているビットコインの合計
本サンプルソースには、$ACCESS_KEY, $SECRET_ACCESS_KEY にAPIキーを設定していません。
APIキーを準備してください。
// Please set ACCESS_KEY and SECRET_ACCESS_KEY $ACCESS_KEY = ""; $SECRET_ACCESS_KEY = "";
APIキーの作成に関しては以下の記事を参考にしてください。
本サンプルソースを実行するには、APIキーのパーミッションとして「残高」にチェックが必要です。
APIキーを作成すると、以下のスクリーンショットのように「アクセスキー」「アクセスシークレットキー」が作成されるので、
サンプルソースの $ACCESS_KEY, $SECRET_ACCESS_KEY に設定してください。
以下に
Coincheck
の残高APIを呼び出すサンプルソースを記します
上記に記述しましたが、「アクセスキー」「アクセスシークレットキー」を準備してください。
<?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);
以下、上記のサンプルソースを実行したときの出力です。
$ 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
以下のようにERRORが出た場合は、APIキーの設定に誤りがないか確認してください。
$ php balance.php [ERROR] : invalid authentication
APIキーの設定を確認してください。
残高にチェックが入っていないためパーミッションエラーとなっています。
$ php balance.php [ERROR] : This api is not permitted, Please set permission. https://coincheck.com/api_settings
以上、 Coincheck の残高API(balance)を呼び出すサンプルソースおよび実行結果でした。