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


coincheckの販売レート取得APIのサンプルコード(PHP)

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


PHPを使って Coincheck の販売レート取得の使用例を以下に記します。
販売レートの取得なので、 Coincheck が取り扱っている通貨の販売レートが取得できます。


スポンサーリンク

関連記事

ブラウザで販売レート取得のAPIを呼び出してみる

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に記されている通貨ペアになります。

  • 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

今後取扱通貨が増えたらこの通貨ペアも増えるでしょうね。

ブラウザで販売レートを取得する

GETなのでブラウザ販売レート取得を取得することができます。
BTC/JPY,ETH/JPYの例を記します。
以下のようなURLになります。

ブラウザで販売レート取得APIにアクセスした結果

以下ブラウザから上記URLにアクセスしたときの出力です。

  • Firefox ver56.0
    JSONが整形され表示されています。
    見やすいですね。
    (生データをクリックすると上記同様にJSON形式の返却された文字列が表示されます。)
    BTC/JPY
    01.png
     
    ETH/JPY
    02.png

PHPで販売レート取得APIを呼び出してみる(サンプルソース)

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呼び出しのサンプルコードの記事でした。


スポンサーリンク

添付ファイル: file02.png 122件 [詳細] file01.png 162件 [詳細] filerate.php.zip 58件 [詳細]

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