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. Bot用プログラミング

  10.1. 追加モジュールのインストール

  10.2. 環境変数設定

  10.3. ユーザのメッセージを受け取る

  10.4. メッセージをユーザへ送信するためのトークンを取得する

  10.5. メッセージを送信する

 11. Herokuへデプロイする

 12. Bot利用設定

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を設定し、動かしてみる