LoginSignup
7
4

EC最安値を教えてくれるLINE Botを作ってみた

Last updated at Posted at 2023-08-12

店舗巡回の際、その場でECの最安値はわからずあきらめてた

こんにちはtnsatoです。
今回LINEBotに触れる機会があり、活用することで日々の仕事や生活で今までより良くできることはないかと考え、以下のように挑戦してみました。
image.png
私は小売業の会社に勤務しており、市場価格の変動が激しくそのチェックに手間がかかります。特に需要が高まり続ける競合の一つであるECは、参入プレーヤーも多いことから価格変動スピードが店頭よりも速く追うのが大変です。

自社店舗や競合店の巡回時に店頭価格を見た際、現場では携帯しか使用できないため「ECと比較してどうなのか」を確認するのは大変効率が悪いために、あきらめていました。
そこで、LINE Botを活用すれば解決方法があるのではないかと考え着手しました。

目次

いざ着手
Makeを使ったシナリオの構築
APIはどうする?
Make内でモジュールの設定
TEST
完成です!

いざ着手

今回、LINE Botを学んだうえでAPIは何たるやも学びました。そこで前述の通りEC市場価格を調査するため、主たるECサイトAmazon Rakuten Yahooそれぞれの価格を引張ってこれるAPIはないものかと探しました。しかしながら、全く検索にひかからず... 
あとで分かったのですが楽天APIなるものもあり、楽天だけでも一部の価格データベース連携することができたようです。調べる力が足りてませんね。

そこで、知見にあふれた先輩へ相談したところ、やはり既存では見つからないようでした。ところが代案としてアイデア下さったのが、「スプレッドシートを活用したSSSAPI使ってみたら」!なんじゃそりゃ。Sが多いわ、と思いながらも一緒に教えて頂いたSSSAPIについて解説してる記事サイト読むと、非常にわかりやすくできそうな気がしてワクワクしました。

ECの価格はリアルタイムではなくなってしましますが、業務上定期的に調査しているEC商品価格一覧を、スプレッドシートに更新することで出先でも簡単に価格チェックを行えることはできそうです。

そして、いざ着手しようとすると疑問だらけでパニックです。触れ段階ではわかった気になっていたようで、やはりよくわかっていなかったことを自覚しました。再度、情報をすべておさらいし、郵便番号から各地の天気が返ってくるとお天気API設定を使用したチュートリアルをやり直しました。そのおかげもあって、少し理解が深まったような気がして自信をもって再挑戦です。

Makeを使ったシナリオの構築

今回は、以下の内容をLINEBotを作成してみよう考えました。
「LINEに商品JANコード(商品バーコードの下に書いてる数字)を打ち込むとAmazon Rakuten Yahooの最安値が返ってくる」

そのためにはMakeを活用して4つのモジュールで何とかなりそうなことまではわかりました。

「LINE」Watch Events
「HTTP」Make a request
「JSON」Parse JSON
「LINE」Send a Reply Message

下記の陣形で臨みます。
image.png

APIはどうする?

もう一度、教えてもらったSSSAPIの記事を落ち着いてら読んだら非常にわかりやすく希望に燃えました。出遅れオジサンでもなんとかできる気がしました。こういうわかりやすい記事の発信力を身に着けたいですね。

参考記事

概要としては、「GoogleスプレッドシートをJSON形式で返却するAPIを作成できるWebをサービス」をなんと無料で使用できるらしいです。また、一般的にはGoogleスプレッドシートをAPIで扱う場合は、GoogleAPIを使用して なんちゃらかんちゃら とのこでめちゃくちゃ難しいそうです。よってSSSAPIはとても便利なサービスだということが直感的に理解できました。

下記準備だけで事前準備完了です。

SSSAPIにGoogleアカウントを使用して登録
同様のGoogleアカウントのドライブにスプレッドシートを作成
SSSAPI側にはスプレッドシートのURLを連携
スプレッドシート側にはSSSAPIの閲覧権限を追加

たったこれだけAPIの設定ができるなんてすばらしすぎます、UIも優れてます。
今までスプレッドシートがなにかもわからずお恥ずかしいレベルなのですが、通称スプシと呼ぶことがわかりました。かっこいいので使ってきます。

image.png

作成したサンプルスプシ

image.png

Make内でモジュールの設定

「HTTPモジュール」の設定

先程のSSSAPIでAPIのURLを取得しモジュールに設定

image.png

「JSONモジュール」

JSON stringは Data 名前は任意です
image.png

JSONをコピー

SSSAPI内で「Open API URL」クリックするとJSONが開きますのでコピーします。

image.png

image.png

「JSONモジュール」

sample dataへ先程コピーしたJSONを貼付け

image.png

「LINE Send a Reply Message モジュール」

返してほしいメッセージのテンプレを作成します。

image.png

以上で設定は完了です。

TEST

さっそく、商品コードを打ってみます。
image.png

やった!成功だ!と思ったのもつかの間、
何を打っても同じ内容が返ってきます....
検索で調べていくとどうやらHTTPモジュールの設定に問題だがあったようです。
ここ一番つまずきました...

どうやらスプシの中の検索したいキーとなる列のヘッダーを、
「filter__検索したいヘッダー__exact」 としなければならないようです。
__は半角アンダーバーx2です。

HTTPのNameに設定しリトライ
image.png

完成です!

今回は残念ながらリアルタイムでの価格情報取得は技術と知識がないため断念しましたが,
まずは一歩です!スプシとSSSAPIの更新をRPA化できればも少し実用性が上がるかもしれません。今後学びを高める中で、リアルタイムでの情報取得と更新ができる方法を模索していきます。
不出来でも最初の一歩に意義があること実感しました。

追記(2023/08/20):記事として少々見づらかったので、タイトルおよび一部削除・参照リンクなど修正しました。

7
4
1

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
7
4