このエントリーをはてなブックマークに追加


coincheckの残高API(balance)のサンプルコード(PHP)

PHPを使って Coincheck のアカウントの残高確認APIのサンプルコードを以下に記します。


当サイトに記載されている会社名、製品名などは一般に各社または団体の商標または登録商標です。
当サイトの資料により直接的および間接的障害が生じても一切責任を負いません。
あらかじめご了承ください。



スポンサーリンク

関連記事

残高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 借りているビットコインの合計

残高APIサンプルソースを使用する前の準備

本サンプルソースには、$ACCESS_KEY, $SECRET_ACCESS_KEY にAPIキーを設定していません。
APIキーを準備してください。

// Please set ACCESS_KEY and SECRET_ACCESS_KEY
$ACCESS_KEY = "";
$SECRET_ACCESS_KEY = "";

APIキーの作成に関しては以下の記事を参考にしてください。

本サンプルソースを実行するには、APIキーのパーミッションとして「残高」にチェックが必要です。

01.png
 

APIキーを作成すると、以下のスクリーンショットのように「アクセスキー」「アクセスシークレットキー」が作成されるので、
サンプルソースの $ACCESS_KEY, $SECRET_ACCESS_KEY に設定してください。

02.png
 

残高API PHPサンプルソース

以下に 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);

残高API PHPサンプルソース実行結果

以下、上記のサンプルソースを実行したときの出力です。

$ 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 エラーになった場合

以下のようにERRORが出た場合は、APIキーの設定に誤りがないか確認してください。

$ php balance.php
[ERROR] : invalid authentication

This api is not permitted... エラーになった場合

APIキーの設定を確認してください。
残高にチェックが入っていないためパーミッションエラーとなっています。

$ php balance.php
[ERROR] : This api is not permitted, Please set permission. https://coincheck.com/api_settings

以上、 Coincheck の残高API(balance)を呼び出すサンプルソースおよび実行結果でした。


スポンサーリンク

添付ファイル: filebalance.php.zip 286件 [詳細] file02.png 378件 [詳細] file01.png 380件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-11-14 (火) 22:23:59