毎日暑い日が続いていますが、夏バテなどしてませんか?
そんな暑い夏こそぜひ取り入れていただきたいのが「猛暑テレワーク」。
「猛暑テレワーク」というのは、猛暑日(最高気温が35度以上)の 予想が出た日は、積極的にテレワークを推奨するというもので、これによって、猛暑の中多大なエネルギーを使って出勤することを避け、快適な環境で仕事をすることで、 アウトプットの最大化を図るというものなんです。
インフォテリアでは、今年もこの「猛暑テレワーク」を実施中!
この夏もしっかりお仕事もプライベートも充実して過ごせそうです。
ではこの猛暑予報をどのように毎日確認しているのかというと、
朝の時点でその日の予報が猛暑日(最高気温が35度以上)であるとき、メールで自動的に通知されるという「猛暑日予報メール通知システム」が2年前に構築されていて、社員はこのメールを受け取って、今日はテレワークにするかどうかを判断していました。
こちらの「つないでみたブログ」でもご紹介していましたね。
『気象庁とつないで猛暑対策!?』
気象庁のWebページを毎朝チェックして最高気温が35度以上だったらメールを送るという基本的な通知システムの仕組みは2年前のフローですでにできていたので(作り方は『気象庁とつないで猛暑対策!?』を確認してみてくださいね)、今回はそのフローに対してメールではなくLINE通知機能を追加すればいいだけでした。
さらにLINE通知では、地域ごとの毎朝その日の予想最高気温の数値をお知らせし、最高気温が35度以上の時は猛暑テレワークを推奨するメッセージも通知することにしました。
さっそく、LINEで用意されているAPI機能を調べてみると、Messaging APIで実現できそうだということがわかりました。こちら↓
LINEでメッセージを自動的に送信する大まかな流れは以下ようにしてみたいと思います。
1.API実行のためのLINEアカウント(公式アカウント)を取得
▼
2.このLINEアカウントを公開し、友だちとして追加してもらう
▼
3.このとき追加してもらったユーザの識別子(33桁の無意味な文字列)をDBに保存
▼
4.最後に保存しておいたユーザ識別子あてに毎朝メッセージを送信
Messaging APIの利用にはトライアルが用意されていたので、すぐに試すことができました。
トライアルを申し込んだ後の最初の設定が、「(旧LINE@ MANAGER)※」の「アカウント設定」内の「Bot設定」になります。
※現在は、LINE公式アカウント(LINE Official Account Manager)の管理画面に統合されています。
では「Bot設定」を見ていきましょう。
・REPLY_MESSAGE
このAPIで、ユーザアクションに応答してメッセージを返信できます。
ユーザアクションとは、「友だち追加」したとか、トークを入力した、などです。
・PUSH_MESSAGE
こちらがメッセージの一斉送信用のAPIです。
これで毎朝5:30に、気象庁のWebページからその日の最高気温予報の数値を取得し、LINEの友だちにメッセージを一斉送信するという設定をします。
・「Webhook送信」は「利用する」です。
このWebhookで、上記REPLY_MESSAGEのためのユーザアクションデータを受け取ります。
・「Botのグループトーク参加」も「利用する」に設定します。
次に、「Line Developer」を設定します。
ここでは「Webhook URL」を設定します。
ユーザアクションデータを受信することのできるURLですね。
ここはフローで受信しますので、フロー作成時の実行設定URLを、ここに設定します。ただし必ずhttpsのURLにします。
「Channel Access Token」は送信者認証用のアクセストークンです。
フローからメッセージを送信する際に、HTTPヘッダーに含める必要があります。
以上の設定ができればフローを作成できます。
まずはユーザアクション時の受信データを確認してみます。
ためしに「友だち追加」してみると、次のようなjsonメッセージを受信しました。
「type」の値「follow」は、「友だち追加」のアクションを示しています。
そして「userId」がユーザ識別子ですので、この値を取得してDBに格納しています。
またここで必要なら「replyToken」識別子を宛先として、メッセージの返信を行うこともできます。
実際にはこのタイミングで次のようなメッセージを返信しています。
そしてこのメッセージに対する選択結果も、ユーザアクションデータとしてWebhookで受信できますので、こちらの値もDBに格納しておきます。
実際のフローはこんな感じですね↓
Switchコンポーネントで、ユーザアクションに応じて処理を分岐させています。
毎朝のメッセージ送信フローでについては、基本的な仕組みは『気象庁とつないで猛暑対策!?』内で紹介していますので今回は省きますね。
そして今回追加するLINE通知用のAPIがこちら↓
devdocs.line.me/ja/#multicast
実際のLINE通知のためのサブフローがこちらです↓
RESTコンポーネントで①と②を設定し、送信メッセージとなるjsonを③のマッパーで作成しました。このときのjsonは下記の感じです。
このサブフローを含むLINE通知フローを毎朝実行させます。
もちろん毎朝の定期実行は、ASTERIA Warpのスケジュール実行設定で簡単に設定できちゃいますね。
以上、APIの設定を理解すれば、ASTERIA WarpのフローでAPI連携も簡単です!
さらにLINEのAPIドキュメントはサンプルも充実していて、とてもわかりやすいのでぜひ使ってみるといいと思います。
インフォテリアの猛暑テレワークでも使っている「予想最高気温のLINE通知」ですが、企業様や個人利用としても無償解放をしているので、「友だち追加」してぜひお試しくださいね!
※現在は「予想最高気温のLINE通知」を行っていません。
PM・SE・マーケティングなど多彩なバックグラウンドを持つ「データ連携」のプロフェッショナルが、専門領域を超えたチームワークで「データ活用」や「業務の自動化・効率化」をテーマにノウハウやWarp活用法などのお役立ち情報を発信していきます。
Related Posts
ASTERIA Warp製品の技術情報やTips、また情報交換の場として「ADNフォーラム」をご用意しています。
アステリア製品デベロッパー同士をつなげ、技術情報の共有やちょっとしたの疑問解決の場とすることを目的としたコミュニティです。