ストップ・ザ出荷漏れ！事前のお知らせで未然に防ぐ

## LINE Botに挑戦！

こんにちは。
私は、とある企業でECサイトの運営に携わっています。
ECサイト、ネットショッピングなどと聞くとネット注文した後、システム的に処理が進み、荷物が届くイメージがあるかと思います。
私はそう思ってました！ECサイトの部署にくるまでは😱

数あるECサイトの中には、システム的にスイスイと処理を進めているのかも知れませんが
私の部署はそうではありません。
システム的に管理、運用している部分もありますが、人の手によってなされている部分が
結構多いのです。

人の手が加わることによってミスやトラブルが発生するリスクも高くなりますよね😵
という事で会社の研修で出会った『LINE Bot』で出荷トラブルを未然に防ぐシステムツールっぽいものが作れないかと挑戦してみました🤗

## 困りごと😕

ECサイトの運営をしていく中で『起こりうるトラブルを自分では何ともできないけど未然に防ぎたい』と思うことが多々あります。
その中の1つは**出荷漏れです**。

我が社のECサイトは、ご注文商品を自社からではなく、商品を製造管理している各社メーカーから出荷しお客様の元へ届けています📦
【注文→発注→出荷→お届け】と順調にいけばいいけど、まれに出荷漏れが発生！後日お客様から『商品が届かない』との苦情をいただきます。

そんな時に『自分では何ともできないが未然に防げればいいのにな』と切に思う訳です。
もちろん出荷日は決まっていてメーカーさまにも伝えているけど、なにせ人間のすることだけに100％漏れを防ぐことはできません。
出荷日前日もしくは前々日にアナウンスができる仕組みがあれば未然に防げるよね。

## 使用したツール
[Make](URL "https://eu2.make.com/organization/2690391/dashboardタイトル")
Google Sheets(スプレッドシート)
[LINE](URL "https://developers.line.biz/ja/タイトル")

## 制作の流れ

# ◎Makeシナリオ全体図
![makesukuso.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3962617/eb3d1d8c-35b7-14a7-d81a-83ae78749fab.jpeg)

LINEに日付を入力するとスプレッドシートA列の当該日付欄に入力されているB列のテキスト(出荷準備のお知らせメッセージ)が返信され、日付以外の言葉を入力すると「出荷日を入れてね！」と返してくれるという内容です。

### ①スプレッドシートへデータ貼付け
スプレッドシートの内容はこんな感じ。
![sp-skusyo.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3962617/e1a1007b-857e-4132-e410-e4a7cb4d69db.jpeg)

普段はエクセルシートで受注管理をしていて受注日、出荷日、注文番号や商品名など
たくさんの情報がありますが今回は、出荷日前日の日付と翌日の出荷をお知らせする
テキストのみとしました。

### ②モジュール「Google Sheets(Search Rows)」の設定
※Google Sheets＝スプレッドシート
 これはGoogleスプレッドシートの情報を持ってきてくれます。
![a0114スクショ1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3962617/c39c4a58-43b1-cc54-84ed-d4157af84e44.jpeg)

### ③Routerの設定
歯車マークからルーターを選択。

![router_suksyo.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3962617/21e021bd-d1f4-8c25-2289-685b8cd85aa5.jpeg)
Routerで2つに分岐し、LINEに入力する内容に応じて返す答えを分ける設定をします。
- 日付を入力：出荷のお知らせメッセージを表示
- 日付以外の文字を入力：「出荷日を入れてね！」と表示

<日付を入力した場合>
![ruter1.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3962617/8af6787f-a452-9093-b250-a00fb9423549.jpeg)

<日付以外の文字を入力した場合>
![ruter2.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3962617/fe5f4df1-e02a-505b-35c1-3feadd4bd98c.jpeg)

### ④LINE(Send a Reply Massage)の設定
返す答えをそれぞれ設定できます。

![line_send.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3962617/3f67f03e-4516-d2e9-c06b-2e95bfd794a1.jpeg)


<日付を入力した場合>
![line11.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3962617/b6180cf0-b113-df25-a959-cfef73734a62.jpeg)

<日付以外の文字を入力した場合>
![line12.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3962617/deba1e23-4e27-b33d-20d4-2c12357255f5.jpeg)

## 実際に動かしてみたっ！

https://x.com/isahio_ken/status/1879729593902666066

## 苦労したこと😥
- 何かと英語表記ばかりなので携帯の翻訳機能で確認しながらの作業となり大変さ増し増しでした。
- 各箇所の役割や設定内容の意味合いも理解できずにいたのでアドバイスをもらってもどのように修正したらいいのか分からず泣きそうになってました。
- 各モジュールの設定を終え実際に動かしてみるもなかなか上手くいかず悪戦苦闘、研修卒業生の方に助けていただきLINEの【Web hookURL】が間違っていたことが分かり、修正し問題解決となりましたがここは私の中で盲点でした。

思うように動いてくれた時は喜びもひとしおでした✨✨

## 本当にやりたかったこと👩‍💻
linebotを使ってやりたかったのは【出荷メーカーさん宛に出荷準備はお済みですか？
まだなら準備してくださいね】という意味合いの事前アナウンスを送る事でしたが
自分で日付を入力→自分に告知が返ってくる　という仕組みだったので実務に生かせるものを作ることはできませんでした。
でもよく考えたら、出荷対象のメーカー名や連絡先などをLINEに返すようにして状況の
把握、必要に応じて自分で連絡する。
といったような使い道もあったことに気づき、悔しさをかみしめてます😭

## そこで自分仕様に少しだけ改良し動かしてみた🔧
大した改良ではないけれど自分仕様にしてみました。
変更した点は、返す内容をメーカー名と連絡先にしてそれをスプレットシートへの追加しました（画像左）
それに伴い、LINE(Send a Reply Massage)のMassagesのText（ｃ）を追加（画像右）

![10-karyo.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3962617/94949e56-c42b-9e2c-9885-4d413bf0ebde.jpeg)

https://x.com/isahio_ken/status/1880938315618394428

## 最後に🍀
今回は時間も気持ちの余裕がない上、分からないことだらけだったので、日付けに対して簡単なメッセージを返すだけの極シンプルなものになりましたが
いずれは実際の業務に使える簡単便利なデジタルツールを作れるよう自分自身をブラッシュアップしていこうと強く思います✊
また自分のような超初心者でも、これを見れば実際に作れるぞ！と自信を持ってもらえるよう、考えながら記事を書きました。
最後に行き詰った時や困った時に手を差し伸べて下さった方々、本当にありがとうございました♡