LoginSignup
12
4

More than 1 year has passed since last update.

Makeを使って、店舗名を入れるとその情報を教えてくれるLINEBotを作ってみました。

Last updated at Posted at 2022-05-29

我が社の社内でのとある会話です。
●●店って担当者誰?
▲▲店の店舗コードってなんだっけ?
私は小売業界で勤務しているのですが、私の部署ではこのような会話をよく耳にします。
PC使って保存しているエクセルシートを見ればわかる内容なのですが、
みんな調べるのがめんどうなので、周りの人に聞きます。(即答はしてもらえません)
最近会社がフリーデスク化され、紙で出力して貼っておくようなアナログ的なやり方も無理。
さらには出張で店舗~店舗を移動していることもしばしばあります。
そんな微妙な立ち位置の店舗情報をシュッと取り出せたらいいなと思い
Make(旧Integromat)を使ってノーコードでLINEBotを作ってみました。

最終的にできた動作とシナリオはこちら

動画
Record_2022-05-29-11-04-16_AdobeCreativeCloudExpress (1).gif
シナリオ
image.png

今回使用したもの

  • SSSAPI・・・GooglesheetをAPI化してくれるサイト
  • Make・・・異なるツール同士を連携できるノーコードツール
  • Googlesheet                 
  • LINEDeveloperアカウント

手順

STEP1 GooglesheetをSSSAPIを使ってAPIに変換する

Googlesheetには下記画像のようなデータを入力しておきます。
右側はAPPIに変換した後、プレビューで確認したものです。

image.png

完全一致しないと検索でヒットしないので、Googlesheetには検索されやすそうなワード(漢字、ひらがな、漢字+店舗)の3パターンを記入

SSSAPIを使ってAPIに変換する手順はこちら↓↓↓

STEP2 MakeでHTTPモジュールとLINEモジュールを繋げる

Makeを使ってHTTPモジュール(Make a request)とLINEモジュール(Send a Push Message)を
作成し繋げます。
image.png

最初、URL欄に取得したAPI+event+message.Textのまま実行したところ、●●店と検索してもエラーで返されました。

ひらがなや漢字はそのままだとエラーになるので、encodeurlを使って文字コードに変換させる必要があります。

STEP3 Routerモジュールの分岐設定

Routerモジュールを使って検索したデータがない時とデータがあるときに分岐させます。
ここでデータがない場合の条件をどうするか迷いました。
そこで一つ前JSONモジュールのStatus codeを確認すると、入力データがある場合(成功のとき)は200
入力データがなかった場合(失敗のとき)は404となっていました。
image.png

ということでRouterモジュールの分岐条件は下記のように設定します。

image.png

これで分岐部分もうまく動くようになりました。

image.png

終わりに

【感想】
Makeを使い初めてBotを作りましたが、時間がかかった分、うまくいったときの感動しました。
ただお試しで作ったBotなのでかなり雑な部分はあります。ほかにも使えそうな内容を勉強して実用的な物に作り変えていけたらいいなと思います。
一応、会社の人にも使ってもらったところゆるいけど、使えるねと言ってもらえました。

【反省】

  • 今回は想定されるワードをあらかじめ入力していますが、検索したワードが完全一致しないでも近いワードを推測して返すようなことができたらいいなと思っています。
  • SSSAPIは50行までしかAPIに変換できないため、データ量が多い場合は別の方法を検討する必要があります。
12
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
4