#author("2018-01-14T13:54:58+09:00","","")
#navi(../)
* Coincheck最近の取引履歴を取得するサンプルコード(PHP) [#z912f705]
PHPを使って &htmlinsert(coincheck.html);最近の取引履歴を取得するPHPサンプルコードおよび実行結果を以下に記します。

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

* 関連記事 [#z6d79919]
-[[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の仕様 [#x6495a65]
取引履歴APIはPrivate APIのため、&htmlinsert(coincheck.html);の口座開設が必要となります。~

''取引履歴APIの仕様''(Coincheck APIページから抜粋)~
https://coincheck.com/ja/documents/exchange/api#order-transactions

 取引履歴
 自分の最近の取引履歴を参照できます。
 
 HTTP REQUEST
 GET /api/exchange/orders/transactions
 <省略>
 RESPONSE ITEMS
 id ID
 order_id 注文のID
 created_at 取引が行われた時間
 funds 各残高の増減分
 pair 取引ペア
 rate 約定価格
 fee_currency 手数料の通貨
 fee 発生した手数料
 liquidity "T" ( Taker ) or "M" ( Maker )
 side "sell" or "buy"

* 取引履歴APIサンプルソースを使用する前の準備 [#ie0baa46]
本サンプルソースには、$ACCESS_KEY, $SECRET_ACCESS_KEY にAPIキーを設定していません。~
APIキーを準備してください。~
 // Please set ACCESS_KEY and SECRET_ACCESS_KEY
 $ACCESS_KEY = "";
 $SECRET_ACCESS_KEY = "";
APIキーの作成に関しては以下の記事を参考にしてください。~
-[[CoincheckのAPIキー生成手順>API/coincheck/APIキー生成手順]]

本サンプルコードを実行するには、APIキーのパーミッションとして「取引履歴」にチェックが必要です。~
#ref(01.png)
#br
APIキーを作成すると、以下のスクリーンショットのように「アクセスキー」「アクセスシークレットキー」が作成されるので、~
サンプルソースの $ACCESS_KEY, $SECRET_ACCESS_KEY に設定してください。
#ref(02.png)
#br

* 取引履歴を取得するPHPサンプルコード [#of1ae9a6]
以下に取引履歴を取得するPHPサンプルコードを記します。
#ref(src.zip)
 <?php
 // API doc : https://coincheck.com/ja/documents/exchange/api#order-transactions
 // API url : https://coincheck.com/api/exchange/orders/transactions
 
 // Please set ACCESS_KEY and SECRET_ACCESS_KEY
 $ACCESS_KEY = "";
 $SECRET_ACCESS_KEY = "";
 
 // coincheck transactions api url
 $url =  "https://coincheck.com/api/exchange/orders/transactions";
 
 // proxy settings
 $proxy      = ""; 
 $proxy_port = ""; 
 
 // 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);
 }
 // 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);
 }
 curl_setopt($curl, CURLOPT_URL, $url);
 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
 curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
 
 $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);

----
#htmlinsert(coincheck_wide.html)

* サンプルコードの使い方 [#nabad131]
以下のように実行します。オプションはありません。
 php transactions.php

* サンプルコード実行例 [#e14b6033]
直近の50件の取引履歴が出力されるようです。
 $ php transactions.php
 Array
 (
    [success] => 1
    [transactions] => Array
        (
            [0] => Array
                (
                    [id] => 123456789
                    [order_id] => 123456789
                    [created_at] => 2018-01-12T01:11:22.000Z
                    [funds] => Array
                        (
                            [btc] => 0.006
                            [jpy] => -9750.0
                        )
 
                    [pair] => btc_jpy
                    [rate] => 1625000.0
                    [fee_currency] => 
                    [fee] => 0.0
                    [liquidity] => T
                    [side] => buy
                )
 
            [1] => Array
                (
                    [id] => 123456790
                    [order_id] => 123456790
                    [created_at] => 2018-01-12T01:11:04.000Z
                    [funds] => Array
                        (
                            [btc] => -0.006
                            [jpy] => 9727.824
                        )
 
                    [pair] => btc_jpy
                    [rate] => 1621304.0
                    [fee_currency] => 
                    [fee] => 0.0
                    [liquidity] => T
                    [side] => sell
                )
 <省略>

以上、Coincheckのtransactions APIを使って取引履歴を取得するサンプルコードの紹介でした。

----
#htmlinsert(coincheck_wide.html)


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS