API/coincheck/レート取得(PHP)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#navi(../)
* coincheckのレート取得APIのサンプルコード(PHP) [#xc5960e3]
&color(red){当サイトに記載されている会社名、製品名などは...
----
PHPを使って&htmlinsert(coincheck.html);の[[レート取得>htt...
#contents
#htmlinsert(cc_ads_top.html)
* 関連記事 [#w481c3b0]
-[[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)>API/coincheck/...
-[[レバレッジ取引注文サンプルコード(PHP)>API/coincheck/レ...
-[[レバレッジ取引のポジション一覧を取得する・positions(PH...
-[[最近の取引履歴を取得する(PHP)>API/coincheck/最近の取引...
* ブラウザでレート取得のAPIを呼び出してみる [#ld4bc8db]
public APIなので&htmlinsert(coincheck.html);に取引口座を...
レート取得のAPI仕様(Coincheck APIページから抜粋)
- レート取得のAPI~
https://coincheck.com/ja/documents/exchange/api#order-rate
取引所の注文を元にレートを算出します。
GET /api/exchange/orders/rate
PARAMETERS
*order_type 注文のタイプ("sell" or "buy")
*pair 取引ペア。現在は "btc_jpy" のみです。
amount 注文での量。(例)0.1
price 注文での金額。(例)28000
** BTCの数量で取引レート(価格)を取得する [#fa89d839]
GETなのでブラウザでレートを取得することができます。~
以下のようなURLになります。
https://coincheck.com/api/exchange/orders/rate?order_typ...
-1BTCを売値レート、1BTCを買値レートを取得する場合は以下の...
--1BTC売値レート~
https://coincheck.com/api/exchange/orders/rate?order_type...
--1BTC買値レート~
https://coincheck.com/api/exchange/orders/rate?order_type...
#br
-0.5BTCを売値レート、0.5BTCを買値レートを取得する場合は以...
--0.5BTC売値レート~
https://coincheck.com/api/exchange/orders/rate?order_type...
--0.5BTC買値レート~
https://coincheck.com/api/exchange/orders/rate?order_type...
** 指定した金額で売買できるBTC量を取得する [#y5bbcf59]
以下のようなURLになります。
https://coincheck.com/api/exchange/orders/rate?order_typ...
-200000円に必要なBTC量、200000で買えるBTC量を取得する場合...
--200000円を得るために必要なBTC量~
https://coincheck.com/api/exchange/orders/rate?order_type...
--200000円で買えるBTC量~
https://coincheck.com/api/exchange/orders/rate?order_type...
** ブラウザでアクセスした結果 [#g98705bd]
以下ブラウザから上記URLにアクセスしたときの出力です。
-[[Vivaldi>https://vivaldi.com/?lang=ja_JP]]~
JSON形式で返却された文字列がそのまま表示されているのが確...
#ref(01.png)
#br
-Firefox ver56.0~
JSONが整形され表示されています。~
見やすいですね。
#ref(02.png)
#br
生データをクリックすると上記同様にJSON形式の返却された文...
#ref(03.png)
* PHPでレート取得APIを呼び出してみる(サンプルソース) [#wd...
PHPのサンプルソースは以下のようになります。
#ref(order-rate.php.zip)
<?php
// API doc : https://coincheck.com/ja/documents/exchange...
// API url : https://coincheck.com/api/exchange/orders/r...
$options = getopt("s::b::a:p:");
if (!check_arguments($options)) {
usage();
die(1);
}
// arguments -> http query
$http_query = array();
$http_query["pair"] = "btc_jpy";
foreach ($options as $key => $value) {
if ($key == "b") { $http_query["order_type"] = "...
elseif ($key == "s") { $http_query["order_type"] = "...
elseif ($key == "p") { $http_query["price"] = $valu...
elseif ($key == "a") { $http_query["amount"] = $valu...
}
$coincheck_url = "https://coincheck.com";
$order_rate_api = "/api/exchange/orders/rate";
$url = $coincheck_url . $order_rate_api . "?" . http_bui...
// proxy settings
$proxy = "";
$proxy_port = "";
$curl = curl_init();
if ($curl == FALSE) {
fputs(STDERR, "[ERR] curl_init(): " . curl_error($cu...
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 . ":" . $pr...
curl_setopt($curl, CURLOPT_PROXYPORT, $proxy_port);
}
// call order-rate api
$response = curl_exec($curl);
if ($response == FALSE) {
fputs(STDERR, "[ERR] curl_exec(): " . curl_error($cu...
die(1);
}
curl_close($curl);
// json decode
$json_decode = json_decode($response, true);
if ($json_decode == NULL) {
fputs(STDERR, "[ERR] json_decode(): " . json_last_er...
die(1);
}
// output json_decode
print_r($json_decode);
exit(0);
//------------------------------------------------------...
// functions
//------------------------------------------------------...
function check_arguments($options) {
if (!(array_key_exists('s' ,$options) xor array_key_...
return FALSE;
}
if (!(array_key_exists('a',$options) xor array_key_e...
return FALSE;
}
return TRUE;
}
function usage() {
$usage =
"Uasge: php order_rate.php OPTIONS" . PHP_EOL .
" php order-rate.php -s|-b -a AMOUNT" . PHP_EOL .
" or" . PHP_EOL .
" php order-rate.php -s|-b -p PRICE" . PHP_EOL . PH...
"Options:" . PHP_EOL .
" -s : sell" . PHP_EOL .
" -b : buy" . PHP_EOL .
" -a value : BTC amount" . PHP_EOL .
" -p price : trading JPY" . PHP_EOL . PHP_EOL .
"e.g." . PHP_EOL .
" - 0.5BTC sell rate". PHP_EOL .
" php order-rate.php -s -a 0.5" . PHP_EOL .
" - 100000JPY sell rate". PHP_EOL .
" php order-rate.php -s -p 100000" . PHP_EOL .
" - 0.5BTC buy rate". PHP_EOL .
" php order-rate.php -b -a 0.5" . PHP_EOL .
" - 100000JPY buy rate". PHP_EOL .
" php order-rate.php -b -p 100000" . PHP_EOL .
PHP_EOL;
fputs(STDERR, $usage);
}
* 実行例 [#gee95001]
上記のPHPサンプルソースを実行してみます。
** サンプルソースのオプション [#c388fd84]
サンプルソースを実行するには、以下のようのオプションが必...
- -s : sell
- -b : buy
上記のどちらかのオプションを必ず設定してください。
- -a : BTC数量
- -p : JPY
上記のどちらかのオプションを必ず設定してください。
** 実際に動かしてみた [#caff08db]
- sell 数量0.5BTCのレートを取得
$ php order-rate.php -s -a 0.5
Array
(
[success] => 1
[rate] => 814459.0
[amount] => 0.5
[price] => 407229.5
)
- buy 数量0.5BTCのレートを取得
$ php order-rate.php -b -a 0.5
Array
(
[success] => 1
[rate] => 814857.77312
[amount] => 0.5
[price] => 407428.8865622
)
- sell 10000円に必要なBTC数量
$ php order-rate.php -s -p 10000
Array
(
[success] => 1
[rate] => 814853.14309
[amount] => 0.01227215
[price] => 10000.0
)
- buy 10000円で買えるBTC数量
$ php order-rate.php -b -p 10000
Array
(
[success] => 1
[rate] => 814984.63346
[amount] => 0.01227017
[price] => 10000.0
)
以上、&htmlinsert(coincheck.html);のpublic APIであるレー...
#htmlinsert(cc_ads_btm.html)
終了行:
#navi(../)
* coincheckのレート取得APIのサンプルコード(PHP) [#xc5960e3]
&color(red){当サイトに記載されている会社名、製品名などは...
----
PHPを使って&htmlinsert(coincheck.html);の[[レート取得>htt...
#contents
#htmlinsert(cc_ads_top.html)
* 関連記事 [#w481c3b0]
-[[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)>API/coincheck/...
-[[レバレッジ取引注文サンプルコード(PHP)>API/coincheck/レ...
-[[レバレッジ取引のポジション一覧を取得する・positions(PH...
-[[最近の取引履歴を取得する(PHP)>API/coincheck/最近の取引...
* ブラウザでレート取得のAPIを呼び出してみる [#ld4bc8db]
public APIなので&htmlinsert(coincheck.html);に取引口座を...
レート取得のAPI仕様(Coincheck APIページから抜粋)
- レート取得のAPI~
https://coincheck.com/ja/documents/exchange/api#order-rate
取引所の注文を元にレートを算出します。
GET /api/exchange/orders/rate
PARAMETERS
*order_type 注文のタイプ("sell" or "buy")
*pair 取引ペア。現在は "btc_jpy" のみです。
amount 注文での量。(例)0.1
price 注文での金額。(例)28000
** BTCの数量で取引レート(価格)を取得する [#fa89d839]
GETなのでブラウザでレートを取得することができます。~
以下のようなURLになります。
https://coincheck.com/api/exchange/orders/rate?order_typ...
-1BTCを売値レート、1BTCを買値レートを取得する場合は以下の...
--1BTC売値レート~
https://coincheck.com/api/exchange/orders/rate?order_type...
--1BTC買値レート~
https://coincheck.com/api/exchange/orders/rate?order_type...
#br
-0.5BTCを売値レート、0.5BTCを買値レートを取得する場合は以...
--0.5BTC売値レート~
https://coincheck.com/api/exchange/orders/rate?order_type...
--0.5BTC買値レート~
https://coincheck.com/api/exchange/orders/rate?order_type...
** 指定した金額で売買できるBTC量を取得する [#y5bbcf59]
以下のようなURLになります。
https://coincheck.com/api/exchange/orders/rate?order_typ...
-200000円に必要なBTC量、200000で買えるBTC量を取得する場合...
--200000円を得るために必要なBTC量~
https://coincheck.com/api/exchange/orders/rate?order_type...
--200000円で買えるBTC量~
https://coincheck.com/api/exchange/orders/rate?order_type...
** ブラウザでアクセスした結果 [#g98705bd]
以下ブラウザから上記URLにアクセスしたときの出力です。
-[[Vivaldi>https://vivaldi.com/?lang=ja_JP]]~
JSON形式で返却された文字列がそのまま表示されているのが確...
#ref(01.png)
#br
-Firefox ver56.0~
JSONが整形され表示されています。~
見やすいですね。
#ref(02.png)
#br
生データをクリックすると上記同様にJSON形式の返却された文...
#ref(03.png)
* PHPでレート取得APIを呼び出してみる(サンプルソース) [#wd...
PHPのサンプルソースは以下のようになります。
#ref(order-rate.php.zip)
<?php
// API doc : https://coincheck.com/ja/documents/exchange...
// API url : https://coincheck.com/api/exchange/orders/r...
$options = getopt("s::b::a:p:");
if (!check_arguments($options)) {
usage();
die(1);
}
// arguments -> http query
$http_query = array();
$http_query["pair"] = "btc_jpy";
foreach ($options as $key => $value) {
if ($key == "b") { $http_query["order_type"] = "...
elseif ($key == "s") { $http_query["order_type"] = "...
elseif ($key == "p") { $http_query["price"] = $valu...
elseif ($key == "a") { $http_query["amount"] = $valu...
}
$coincheck_url = "https://coincheck.com";
$order_rate_api = "/api/exchange/orders/rate";
$url = $coincheck_url . $order_rate_api . "?" . http_bui...
// proxy settings
$proxy = "";
$proxy_port = "";
$curl = curl_init();
if ($curl == FALSE) {
fputs(STDERR, "[ERR] curl_init(): " . curl_error($cu...
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 . ":" . $pr...
curl_setopt($curl, CURLOPT_PROXYPORT, $proxy_port);
}
// call order-rate api
$response = curl_exec($curl);
if ($response == FALSE) {
fputs(STDERR, "[ERR] curl_exec(): " . curl_error($cu...
die(1);
}
curl_close($curl);
// json decode
$json_decode = json_decode($response, true);
if ($json_decode == NULL) {
fputs(STDERR, "[ERR] json_decode(): " . json_last_er...
die(1);
}
// output json_decode
print_r($json_decode);
exit(0);
//------------------------------------------------------...
// functions
//------------------------------------------------------...
function check_arguments($options) {
if (!(array_key_exists('s' ,$options) xor array_key_...
return FALSE;
}
if (!(array_key_exists('a',$options) xor array_key_e...
return FALSE;
}
return TRUE;
}
function usage() {
$usage =
"Uasge: php order_rate.php OPTIONS" . PHP_EOL .
" php order-rate.php -s|-b -a AMOUNT" . PHP_EOL .
" or" . PHP_EOL .
" php order-rate.php -s|-b -p PRICE" . PHP_EOL . PH...
"Options:" . PHP_EOL .
" -s : sell" . PHP_EOL .
" -b : buy" . PHP_EOL .
" -a value : BTC amount" . PHP_EOL .
" -p price : trading JPY" . PHP_EOL . PHP_EOL .
"e.g." . PHP_EOL .
" - 0.5BTC sell rate". PHP_EOL .
" php order-rate.php -s -a 0.5" . PHP_EOL .
" - 100000JPY sell rate". PHP_EOL .
" php order-rate.php -s -p 100000" . PHP_EOL .
" - 0.5BTC buy rate". PHP_EOL .
" php order-rate.php -b -a 0.5" . PHP_EOL .
" - 100000JPY buy rate". PHP_EOL .
" php order-rate.php -b -p 100000" . PHP_EOL .
PHP_EOL;
fputs(STDERR, $usage);
}
* 実行例 [#gee95001]
上記のPHPサンプルソースを実行してみます。
** サンプルソースのオプション [#c388fd84]
サンプルソースを実行するには、以下のようのオプションが必...
- -s : sell
- -b : buy
上記のどちらかのオプションを必ず設定してください。
- -a : BTC数量
- -p : JPY
上記のどちらかのオプションを必ず設定してください。
** 実際に動かしてみた [#caff08db]
- sell 数量0.5BTCのレートを取得
$ php order-rate.php -s -a 0.5
Array
(
[success] => 1
[rate] => 814459.0
[amount] => 0.5
[price] => 407229.5
)
- buy 数量0.5BTCのレートを取得
$ php order-rate.php -b -a 0.5
Array
(
[success] => 1
[rate] => 814857.77312
[amount] => 0.5
[price] => 407428.8865622
)
- sell 10000円に必要なBTC数量
$ php order-rate.php -s -p 10000
Array
(
[success] => 1
[rate] => 814853.14309
[amount] => 0.01227215
[price] => 10000.0
)
- buy 10000円で買えるBTC数量
$ php order-rate.php -b -p 10000
Array
(
[success] => 1
[rate] => 814984.63346
[amount] => 0.01227017
[price] => 10000.0
)
以上、&htmlinsert(coincheck.html);のpublic APIであるレー...
#htmlinsert(cc_ads_btm.html)
ページ名: