APIを使ってSmartHRとLINE WORKSを連携する ―第4回 通知用のBotを作成し、公開する
こんにちは。
テクバン株式会社でSmartHRという
クラウド製品の連携開発を行っている担当者です。
前回の記事『APIを使ってSmartHRとLINE WORKSを連携する ―第3回 Botサーバの用意』では、
LINE WORKSのBotを作成したり動かしたりするためのサーバー環境を作成しました。
第4回では、この作成した環境のもとでLINE WORKSに通知するBotを開発していきます。
※下イメージ図の赤枠部分を作成していきます。
はじめに
本日ご紹介する内容は、下の構築手順3つ目
『通知用のBotを作成し、公開する』にあたります。
● SmartHR → LINE WORKS 構築手順
・LINE WORKSの認証キー・Bot情報の発行, 登録
・Botサーバの用意(Node.js, Heroku, Gitのインストール)
・通知用のBotを作成し、公開する
・SmartHR Webhook URLを設定し、実際に動かしてみる
目次
『通知用のBotを作成し、公開する』
10.4. メッセージをユーザへ送信するためのトークンを取得する
10. Bot用プログラミング
第3回 8.5. で作成したindex.jsを
SmartHR上で従業員登録・更新・削除が行われた従業員情報をとってきて
LINE WORKSのBotで送信するテキストに埋め込み、通知として送信するプログラムに
書き換えていきます。
10.1. 追加モジュールのインストール
以下、モジュールをインストールする
body-parser
jsonwebtoken
https
request
querystring
index.jsにて、モジュールをインポートする
10.2. 環境変数設定
以下の5つの値をHerokuの環境変数として設定する
※ 第2回 6.3. で作成・メモしたIDやKEYを指定してください
環境変数名 | Developer Consoleの表示箇所 |
APIID | [AP]メニューのAPI IDに表示されている英数字 |
CONSUMERKEY | [API]メニューのServer API Consumer KeyのKey欄に表示されている英数字 |
SERVERID | [API]メニューのServer List(ID登録タイプ)のID欄に表示されている英数字 |
PRIVATEKEY | [API]メニューのServer List(ID登録タイプ)の[認証キー再発行]ボタンからダウンロードする ダウンロードしたファイル内に表示されている内容● |
BOTNO | [Bot]メニューに表示されているBotをクリックし、[Bot No.]に表示されている数字 |
※以下コマンドで環境変数が設定されているか確認できます
heroku config
●PRIVATEKEYの設定イメージ
※実際に発行されるkeyは十数行あるがサンプルのため数行としています
※最終行以外の末尾に「\n」を付与してから環境変数の設定値とする
イメージの1行目と5行目も含めてPRIVATEKEYとなるので、抜かさないように注意
※コマンドに入力する際は、<設定値>を必ず「""」で囲うこと(文字列として認識してもらうため)
環境変数を設定したら、プログラムから利用できるように変数として定義しておく
10.3. ユーザのメッセージを受け取る
メッセージはPOSTリクエストのbodyに含まれて通知される
以下、例(メッセージプロパティについて、詳細は こちら を参照
このオブジェクトから、メッセージを送信するときに利用する値を、変数として格納する
10.4. メッセージをユーザへ送信するためのトークンを取得する
10.5. メッセージを送信する
取得したServerTokenを使用して、ユーザーへメッセージを送信する
メッセージ送信APIの詳細な仕様は こちら を参照
すべて記載すると、↓のようになります。
11. Herokuへデプロイする
10.の手順をすべて終えたら、コマンドに以下を入力してデプロイしてください。
git add .
git commit -m "メッセージ"
git push heroku master
12. Bot利用設定
続いて、Admin Console(LINE WORKSの管理者画面)にて
Developer Consoleで登録したBotの利用設定を行います。
12.1. ホーム画面の[Bot]をクリックする
12.2. 画面右上の[Bot追加]ボタンをクリックする
12.3. 追加できるBotが表示されるので、選択して[追加]ボタンをクリックする
12.4. 追加されたBotを選択し、詳細ページにて[使用権限]と[公開設定]の設定をする
今回Botは誰でも利用できるように設定するので、[使用権限] は[すべて]に設定し、
[公開設定]をオンにしてください。
次回へ向けて
今回は、SmartHRで従業員情報の登録・更新などが行われた情報を
通知するためのBotを作成する方法についてご紹介しました。
次回はいよいよ、SmartHRにWebhook URLを設定して
実際に、この作成したBotへ通知を送信していきます。
>> APIを使ってSmartHRとLINE WORKSを連携する ―第5回 Webhookを設定し、動かしてみる
関連記事
>> APIを使ってSmartHRとLINE WORKSを連携する ―第1回 APIとは?
>> APIを使ってSmartHRとLINE WORKSを連携する ―第2回 認証キーの設定
>> APIを使ってSmartHRとLINE WORKSを連携する―第3回 Botサーバの用意
>> APIを使ってSmartHRとLINE WORKSを連携する ―第5回 Webhookを設定し、動かしてみる