PHPを使って Coincheck 最近の取引履歴を取得するPHPサンプルコードおよび実行結果を以下に記します。
当サイトに記載されている会社名、製品名などは一般に各社または団体の商標または登録商標です。
当サイトの資料により直接的および間接的障害が生じても一切責任を負いません。
あらかじめご了承ください。
取引履歴APIはPrivate APIのため、
Coincheck
の口座開設が必要となります。
取引履歴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"
本サンプルソースには、$ACCESS_KEY, $SECRET_ACCESS_KEY にAPIキーを設定していません。
APIキーを準備してください。
// Please set ACCESS_KEY and SECRET_ACCESS_KEY $ACCESS_KEY = ""; $SECRET_ACCESS_KEY = "";
APIキーの作成に関しては以下の記事を参考にしてください。
本サンプルコードを実行するには、APIキーのパーミッションとして「取引履歴」にチェックが必要です。
APIキーを作成すると、以下のスクリーンショットのように「アクセスキー」「アクセスシークレットキー」が作成されるので、
サンプルソースの $ACCESS_KEY, $SECRET_ACCESS_KEY に設定してください。
以下に取引履歴を取得するPHPサンプルコードを記します。
<?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);
以下のように実行します。オプションはありません。
php transactions.php
直近の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を使って取引履歴を取得するサンプルコードの紹介でした。