TL;DR
定期的(毎日10:00JST)に為替レートを取得して、slackに通知する方法を示す
各社で為替レート通知サービスはあるが・・
メインの取引サイトではサービスされてなかったり、別会社がやってても口座契約必須だったり、iOSアプリでも個別に通知してくれるものもあるけど、通知のだけのためにアプリ入れるのも心がザワザワする。ウェブで為替レート取得APIはあっても自前herokuしたりする規模でもないしな、という事でざっくりとzapierにまかせてみたら出来た。
意外とJavaScript(Pythonも実行できるらしい)を実行出来て、JSONで返ってくるなら勝手にパースもしてくれて、次のタスクに変数として引き継いでくれて・・結構使い勝手はいいかもねzapier、と思った。
図示して説明しようかと思ったけど、説明過剰になるので省くことにした。それにzapierの紹介ページでもないので、zapier本体のことについては、これも省略する。また、YQLについてももっとよく知ればたくさんできるようになるかもしれないけど、本記事とは関係ないので深追いしないことにした。
01. zapierのタスク構成
- Schedule by Zapier
- Code by Zapier
- Slack
01-01. Schedule by Zapier 設定
- Every Day , 10am などに設定する。
-
[Profile]のTimeZoneを
(GMT +9:00) Tokyo
にしておく。
01-02. Code by Zapier 設定
Run JavaScriptで下記を記述
fetch('https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20("USDJPY")&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys')
.then(function(res) {
return res.json();
})
.then(function(json) {
callback(null, json);
})
.catch(callback);
YQLの中身は下記(今回は、USDJPYだけ抽出する)
https://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.xchange where pair in ("USDJPY")&format=json&env=store://datatables.org/alltableswithkeys
01-03. Slack 設定
チャンネルを指定して下記を指定
{{query__results__rate__Name}} = {{query__results__rate__Rate}}
結果は下記のようにメッセージが得られる
USD/JPY = 114.8200