#author("2018-01-14T13:56:20+09:00","","") #author("2018-01-30T22:36:38+09:00","","") #navi(../) * coincheckの板情報APIのサンプルコード(PHP) [#dce1d888] &color(red){当サイトに記載されている会社名、製品名などは一般に各社または団体の商標または登録商標です。&br;当サイトの資料により直接的および間接的障害が生じても一切責任を負いません。&br;あらかじめご了承ください。}; ---- PHPを使って&htmlinsert(coincheck.html);の[[板情報>https://coincheck.com/ja/documents/exchange/api#order-book]]APIの使用例を以下に記します。 #contents ---- 以下のバナーは&htmlinsert(coincheck.html);へのリンクです。~ #htmlinsert(coincheck_wide.html) #br #htmlinsert(cc-top.html) * 関連記事 [#sab66530] -[[API動作環境構築>API/環境構築]] -[[ティッカー(PHP)>API/coincheck/ティッカー(PHP)]] -[[全取引履歴(PHP)>API/coincheck/全取引履歴(PHP)]] -[[板情報(PHP)>API/coincheck/板情報(PHP)]] -[[レート取得(PHP)>API/coincheck/レート取得(PHP)]] -[[販売レート取得(PHP)>API/coincheck/販売レート取得(PHP)]] -[[CoincheckのAPIキー生成手順>API/coincheck/APIキー生成手順]] -[[アカウントの残高確認(PHP)>API/coincheck/残高確認(PHP)]] -[[新規注文・現物売買(PHP)>API/coincheck/新規注文・現物売買(PHP)]] -[[レバレッジアカウントの残高サンプル(PHP)>API/coincheck/レバレッジアカウントの残高取得]] -[[レバレッジ取引注文サンプルコード(PHP)>API/coincheck/レバレッジ取引注文(PHP)]] -[[レバレッジ取引のポジション一覧を取得する・positions(PHP)>API/coincheck/ポジション一覧(PHP)]] -[[最近の取引履歴を取得する(PHP)>API/coincheck/最近の取引履歴の取得(PHP)]] * ブラウザで板情報APIを呼び出してみる [#ab12b7f6] public APIなので&htmlinsert(coincheck.html);に取引口座を開設していなくても使用することができます。 板情報のAPI仕様(Coincheck APIページから抜粋) ~ https://coincheck.com/ja/documents/exchange/api#order-book 板情報 板情報を取得できます。 HTTP REQUEST GET /api/order_books RESPONSE ITEMS asks 売り注文の情報 bids 買い注文の情報 板情報APIを試してみた結果、asks, bids の情報が400件(asks200件、bids200件)返却されました。~ * ブラウザで板情報を取得する [#hf5c60f3] GETなのでブラウザで板情報を取得することができます。~ 以下のようなURLになります。~ https://coincheck.com/api/order_books * ブラウザで板情報APIにアクセスした結果 [#b033ca9d] 以下ブラウザから上記URLにアクセスしたときの出力です。 -Firefox ver56.0~ JSONが整形され表示されています。~ 見やすいですね。~ (生データをクリックすると上記同様にJSON形式の返却された文字列が表示されます。) #ref(01.png) ---- 以下のバナーは&htmlinsert(coincheck.html);へのリンクです。~ #htmlinsert(coincheck_wide.html) #br * PHPで板情報APIを呼び出してみる(サンプルソース) [#e83e8b92] PHPのサンプルソースは以下のようになります。 #ref(order_books.php.zip) <?php // API doc : https://coincheck.com/ja/documents/exchange/api#order-book // API url : https://coincheck.com/api/order_books // order book api url $coincheck_api_url = "https://coincheck.com/api/order_books"; // 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, $coincheck_api_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 order book 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); // output order_book print("-------- asks --------\n"); foreach ($json_decode['asks'] as $key => $value) { if ($key > 10) { break; } printf("%.1f : %.8f\n", $value[0], $value[1]); } print("-------- bids --------\n"); foreach ($json_decode['bids'] as $key => $value) { if ($key > 10) { break; } printf("%.1f : %.8f\n", $value[0], $value[1]); } exit(0); * 実行例 [#o4aba1fe] 上記のPHPサンプルソースを実行してみます。~ 返却されたjsonをjson_decode()で連想配列に格納しています。~ 上記でも記しましたが、asks200件、bids200件が返却されるので、foreachを使ってasks10件、bids10件を表示するようになっています。 $ php order_books.php -------- asks -------- 818998.0 : 0.19999976 818999.0 : 0.27154870 819000.0 : 2.15247047 819034.0 : 3.59900000 819112.0 : 0.51058654 819269.0 : 0.01000000 819540.0 : 0.30000000 819652.0 : 0.03910311 819790.0 : 0.28500000 820000.0 : 0.00510000 820011.0 : 0.00500000 -------- bids -------- 818822.0 : 0.01500000 818818.0 : 0.08369992 818813.0 : 0.00500000 818705.0 : 0.01500000 818655.0 : 0.05000000 818647.0 : 0.00800000 818642.0 : 0.02626427 818614.0 : 0.00500000 818600.0 : 0.10000000 818550.0 : 0.60000000 818455.0 : 0.30000000 BTCの板情報が返却されます。 以上、&htmlinsert(coincheck.html);のpublic APIである板情報APIのブラウザによるアクセスとPHPによる板情報呼び出しのサンプルコードの記事でした。 ---- 以下のバナーは&htmlinsert(coincheck.html);へのリンクです。~ #htmlinsert(coincheck_wide.html) #br #htmlinsert(cc-btm.html)