当サイトに記載されている会社名、製品名などは一般に各社または団体の商標または登録商標です。
当サイトの資料により直接的および間接的障害が生じても一切責任を負いません。
あらかじめご了承ください。
PHPを使って
Coincheck
の販売レート取得の使用例を以下に記します。
販売レートの取得なので、
Coincheck
が取り扱っている通貨の販売レートが取得できます。
public APIなので Coincheck に取引口座を開設していなくても使用することができます。
販売レート取得のAPI仕様(Coincheck APIページから抜粋)
https://coincheck.com/ja/documents/exchange/api#buy-rate
販売所のレートを取得します。 HTTP REQUEST GET /api/rate/[pair] PARAMETERS *pair 通貨ペア ( "btc_jpy" "eth_jpy" "etc_jpy" "dao_jpy" "lsk_jpy" "fct_jpy" "xmr_jpy" "rep_jpy" "xrp_jpy" "zec_jpy" "xem_jpy" "ltc_jpy" "dash_jpy" "bch_jpy" "eth_btc" "etc_btc" "lsk_btc" "fct_btc" "xmr_btc" "rep_btc" "xrp_btc" "zec_btc" "xem_btc" "ltc_btc" "dash_btc" "bch_btc" ) RESPONSE ITEMS rate レート
上記のpairに渡す値はPARAMETERSに記されている通貨ペアになります。
今後取扱通貨が増えたらこの通貨ペアも増えるでしょうね。
GETなのでブラウザ販売レート取得を取得することができます。
BTC/JPY,ETH/JPYの例を記します。
以下のようなURLになります。
以下ブラウザから上記URLにアクセスしたときの出力です。
PHPのサンプルソースは以下のようになります。
<?php
// API doc : https://coincheck.com/ja/documents/exchange/api#buy-rate
// API url : https://coincheck.com/api/rate/[pair]
// rate api url
$coincheck_api_url = "https://coincheck.com/api/rate";
$cryptocurrencies = array(
"btc_jpy", "eth_jpy", "etc_jpy", "dao_jpy", "lsk_jpy",
"fct_jpy", "xmr_jpy", "rep_jpy", "xrp_jpy", "zec_jpy",
"xem_jpy", "ltc_jpy", "dash_jpy","bch_jpy", "eth_btc",
"etc_btc", "lsk_btc", "fct_btc", "xmr_btc", "rep_btc",
"xrp_btc", "zec_btc", "xem_btc", "ltc_btc", "dash_btc",
"bch_btc"
);
$options = getopt("p:");
if (!check_arguments($options, $cryptocurrencies)) {
usage($cryptocurrencies);
die(1);
}
// proxy settings
$proxy = "";
$proxy_port = "";
$curl = curl_init();
if ($curl == FALSE) {
fputs(STDERR, "[ERR] curl_init(): " . curl_error($curl) . PHP_EOL);
die(1);
}
if (empty($options)) {
$target_pair = $cryptocurrencies;
} else {
$target_pair = array($options["p"]);
}
$pair_rate = array();
foreach ($target_pair as $pair) {
// curl set options
curl_setopt($curl, CURLOPT_URL, $coincheck_api_url . "/" . $pair);
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);
}
// call order book api
$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);
}
$pair_rate[$pair] = $json_decode["rate"];
}
curl_close($curl);
// show rate
print_r($pair_rate);
exit(0);
//----------------------------------------------------------
// functions
//----------------------------------------------------------
function check_arguments($options, $cryptocurrencies) {
if (array_key_exists('p' ,$options)) {
if (!(in_array($options["p"] ,$cryptocurrencies))) {
return FALSE;
}
}
return TRUE;
}
function usage($cryptocurrencies) {
$usage =
"Uasge: php rate.php [-p pair]" . PHP_EOL .
"Options:" . PHP_EOL .
" -p pair" . PHP_EOL .
"e.g." . PHP_EOL .
" php rate.php : show all pair rate.". PHP_EOL .
" php rate.php -p btc_jpy : show BTC/JPY rate.". PHP_EOL .
"pair list" . PHP_EOL;
$i = 0;
foreach($cryptocurrencies as $p) {
$i++;
if ($i == 1) { $usage = $usage . " " . $p; }
elseif ($i < 5) { $usage = $usage . ", " . $p; }
else { $usage = $usage . ", " . $p . PHP_EOL; $i = 0;}
}
fputs(STDERR, $usage . PHP_EOL);
}
上記のPHPサンプルソースを実行してみます。
オプション-pにより通貨ペアを指定することができます。
オプションを指定しない場合は、全ての通貨の販売レートを表示します。
$ php rate.php -p btc_jpy
Array
(
[btc_jpy] => 837690.5
)
$ php rate.php -p eth_btc
Array
(
[eth_btc] => 0.04137503
)
$ php rate.php Array ( [btc_jpy] => 837348.0 [eth_jpy] => 34487.02310148 [etc_jpy] => 1383.03931812 [dao_jpy] => 344.87014728 [lsk_jpy] => 535.03187808 [fct_jpy] => 1656.01476612 [xmr_jpy] => 10003.796556 [rep_jpy] => 2009.73568176 [xrp_jpy] => 23.41225008 [zec_jpy] => 26855.58415212 [xem_jpy] => 20.28894204 [ltc_jpy] => 6418.27242 [dash_jpy] => 32221.83390129 [bch_jpy] => 71104.31436423 [eth_btc] => 0.04118601 [etc_btc] => 0.00165169 [lsk_btc] => 0.00063896 [fct_btc] => 0.00197769 [xmr_btc] => 0.011947 [rep_btc] => 0.00240012 [xrp_btc] => 0.00002796 [zec_btc] => 0.03207219 [xem_btc] => 0.00002423 [ltc_btc] => 0.007665 [dash_btc] => 0.03848031 [bch_btc] => 0.08491497 )
Coincheck が取扱っている通貨の販売レート取得が返却されます。
以上、 Coincheck のpublic APIである販売レート取得APIのブラウザによるアクセスとPHPによる販売レート取得API呼び出しのサンプルコードの記事でした。