#author("2019-07-09T22:45:49+09:00","","")
#navi(../)

* Bash(curl+jq)によるGMOコインのティッカーAPI呼び出し(Bash) [#r1c367d2]
&color(red){当サイトに記載されている会社名、製品名などは一般に各社または団体の商標または登録商標です。&br;当サイトの資料により直接的および間接的障害が生じても一切責任を負いません。&br;あらかじめご了承ください。};
----

シェルスクリプト(bash + curl + jq)を使ってGMOコインの[[最新レート>https://api.coin.z.com/docs/#ticker]]APIの使用例を以下に記します。

#htmlinsert(cc-top.html)
#contents

* 動作環境 [#iae8c881]
bashが動作し、curlとjqコマンドをインストールすれば動作します。~
Ubutnu系であれば、以下のコマンドでインストールすることができます。
 sudo apt install jq curl
CentOSであれば、以下のコマンドになります。
 sudo yum -y install epel-release
 sudo yum -y install jq

* 最新レートのAPI仕様(GMOコインAPIページから抜粋) [#q52acc26]
最新レートのAPI仕様~
https://api.coin.z.com/docs/#ticker

- ''最新レート''
指定した銘柄の最新レートを取得します。~
全銘柄分の最新レートを取得する場合はsymbolパラメータ指定無しでの実行をおすすめします。~

-''Request''
GET /public/v1/ticker

-''Parameters''~
Parameter type: query
|''Parameter''|''Type''|''Required''|''Available Values''|
|symbol|string|optional|指定しない場合は全銘柄分の最新レートを返す。&br;BTC ETH BCH LTC XRP BTC_JPY ETH_JPY BCH_JPY LTC_JPY XRP_JPY|

-''Response''
|''Property Name''|''Value''|''Description''|
|list.volume|string|24時間の取引量|

* BTCを最新レートを取得するシェルスクリプト [#vac62c6e]
以下のシェルスクリプトは、BTCの最新レートを取得するコードとなります。~
symbol='BTC'を他の仮想通貨に変えれば、BTC以外も取得することができます。
#ref(ticker.sh)
 #!/bin/bash
 # GMO COIN Tiker API Sample
 # https://api.coin.z.com/docs/#ticker
 
 endPoint='https://api.coin.z.com/public'
 path='/v1/ticker'
 symbol='BTC'
 
 #curl -Ss ${endPoint}${path} --get --data "symbol=${symbol}" | jq
 list=($(
 curl -Ss ${endPoint}${path} --get --data "symbol=${symbol}" \
 | jq '.data[]' \
 | jq -r '.symbol, .ask, .bid, .high, .last, .low, .volume, .timestamp'))
 
 echo ${list[0]}
 echo '  ask      bid     high     last     low      volume'
 echo -------- -------- -------- -------- -------- ----------
 printf '%8d %8d %8d %8d %8d %f\n' \
 ${list[1]} ${list[2]} ${list[3]} ${list[4]} ${list[5]} ${list[6]}
 #echo ${list[7]}

** 実際に操作させたときの出力 [#r097c2f9]
実際に動作させたときの出力です。
+本シェルスクリプトに実行属性を与えます。
 $ chmod +x ticker.sh 
+スクリプトを実行します。
 $ ./ticker.sh 
 BTC
   ask      bid     high     last     low      volume
 -------- -------- -------- -------- -------- ----------
  1349999  1349291  1394681  1349291  1317000 1120.053700

** Watchコマンドを使って定期的に価格を確認する [#v845e4c8]
watchコマンドを使うと定期的に上記のスクリプトを起動し画面に出力してくれます。~
本資料では、watchコマンドに2つのオプションを渡し動作させてみます。
|-d|前回と異なる部分が反転表示される|
|-n|指定した秒数ごとに実行する(インターバル)|
以下のように実行しました。~
尚、停止は Ctrl+C となります。
 watch -n 1 -d ./ticker.sh





#htmlinsert(cc-btm.html)



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