当サイトに記載されている会社名、製品名などは一般に各社または団体の商標または登録商標です。
当サイトの資料により直接的および間接的障害が生じても一切責任を負いません。
あらかじめご了承ください。
PHPを使って Coincheck の全取引履歴の使用例を以下に記します。
以下のバナーは
Coincheck
へのリンクです。
public APIなので Coincheck に取引口座を開設していなくても使用することができます。
全取引履歴のAPI仕様(Coincheck APIページから抜粋)
https://coincheck.com/ja/documents/exchange/api#public-trades
全取引履歴 最新の取引履歴を取得できます。 HTTP REQUEST GET /api/trades PARAMETERS offset 指定された数だけスキップ
全取引履歴APIをいろいろ試してみた結果、100件の情報をもっているようです。
パラメータのoffsetのスキップ数ですが、0〜99まで指定できました。
99を指定すると、1件のみ取得。offsetを指定しない、または0を指定すると最新から50件取得できました。
したがって、offsetを指定すると最新から指定した数値分、取引をスキップし残りの取引を表示しているようです。
ただし、残りの取引情報が50件以上の場合は50件まで取得できました。
GETなのでブラウザで全取引履歴を取得することができます。
以下のようなURLになります。
https://coincheck.com/api/trades
以下ブラウザから上記URLにアクセスしたときの出力です。
以下のバナーは
Coincheck
へのリンクです。
PHPのサンプルソースは以下のようになります。
<?php // API doc : https://coincheck.com/ja/documents/exchange/api#public-trades // API url : https://coincheck.com/api/trades $coincheck_url = "https://coincheck.com"; $trades_api = "/api/trades"; $url = $coincheck_url . $trades_api; // arguments -> http query $options = getopt("o:"); if (!check_arguments($options)) { usage(); die(1); } $http_query = array(); foreach ($options as $key => $value) { if ($key == "o") { $http_query["offset"] = $value; } } if (count($http_query) > 0) { $url = $url . "?" . http_build_query($http_query); } // proxy settings $proxy = ""; $proxy_port = ""; $curl = curl_init(); if ($curl == FALSE) { fputs(STDERR, "[ERR] curl_init(): " . curl_error($curl) . PHP_EOL); die(1); } // curl set options curl_setopt($curl, CURLOPT_URL, $url); 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 trades api $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); exit(0); //---------------------------------------------------------- // functions //---------------------------------------------------------- function check_arguments($options) { if (array_key_exists("o", $options)) { if ($options["o"] < 0 or $options["o"] > 99) { return FALSE; } } return TRUE; } function usage() { $usage = "Uasge: php trades.php [-o offset]" . PHP_EOL . "Options:" . PHP_EOL . " -o : offset (range from 1 to 99)" . PHP_EOL . PHP_EOL; fputs(STDERR, $usage); }
上記のPHPサンプルソースを実行してみます。
オプション-oにより指定された数分スキップします。
スキップ数の範囲は0〜99になります。
$ php trades.php Array ( [0] => Array ( [id] => 34919836 [amount] => 0.07593101 [rate] => 833360 [order_type] => sell [created_at] => 2017-11-03T17:06:49.000Z ) [1] => Array ( [id] => 34919835 [amount] => 0.0999 [rate] => 833360 [order_type] => sell [created_at] => 2017-11-03T17:06:49.000Z ) <省略> [50] => Array ( [id] => 34919786 [amount] => 0.07 [rate] => 833215 [order_type] => sell [created_at] => 2017-11-03T17:06:47.000Z ) )
$ php trades.php -o 99 Array ( [0] => Array ( [id] => 34920162 [amount] => 0.3 [rate] => 832886 [order_type] => sell [created_at] => 2017-11-03T17:07:47.000Z ) )
BTCの取引履歴が返却されます。
以上、 Coincheck のpublic APIである全取引履歴APIのブラウザによるアクセスとPHPによる全取引履歴呼び出しのサンプルコードの記事でした。
以下のバナーは
Coincheck
へのリンクです。