住所から郵便番号を調べたい！Makeで郵便番号検索LINEbot作ってみた（ノーコード）

# 郵便番号がわからないお客さまは意外と多い

私は某大型ショッピングモールで勤務しています。
私の担当である「住居余暇部門」では机やカタログギフトなど、お客さまが郵送を希望されるケースが多々あります。
その際お客さまに郵送伝票をお渡しし住所の記入をお願いするのですが、郵便番号がわからず困っているお客さまが時々いらっしゃいます。（例：引っ越して間もない方、東京の家族に贈り物を届けたい方、忘れてしまった方…などなど）
わからない場合こちらで調べて後から記入するのですが、その時郵便番号を調べるのが少し面倒くさいです。
### スマートフォンを使って調べる場合
Safari起動→「郵便番号検索」と検索→郵便局HPへ→HPで●●市、●●区、●●町と段階的に選択していく
といった具合にステップが多いです。

### LINEbotを使った場合
ライン起動→botに「●●市●●区●●町」と打つ
これだけでパッと郵便番号を調べることができるので、郵便局HPから調べるよりも手間を省くことができます。

以下このLINEbotについて作成手順を交えながら紹介していきます。

# 手順

①MakeのScenariosを開きます。
![手順1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2613598/872bfa75-b81c-a21a-dd60-8df6a9f6a1a4.png)
②HTTPモジュールを開きます。
![手順2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2613598/32778578-9dc5-aeda-db99-0da3cbdb96b4.png)
③URLに「```https://zipcoda.net/api```」
　Nameに「address」と記入します。
![手順3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2613598/3be5580d-1522-029c-a65c-9a31c0ae9748.png)
④最後に再生ボタン「Run once」を押して確認
LINEbotに住所を送れば郵便番号が返ってきます。

実際の映像
![宿題その1.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2613598/ab36de8d-0de6-65b3-b8b5-2b7bda61f28e.gif)
zipcodeと書かれている所が郵便番号となっています。
一応こちらで望んだ結果が返ってきて使えますが、このままではちょっとわかりづらいです。
できれば郵便番号のみを返してほしいですよね。
というわけで郵便番号のみ表示してくれるよう設定をします。

⑤マップの空白の部分を右クリックし、JSONモジュールを作成します。
そして左クリックでJSOMモジュールを開きます。
Date structure　には「郵便番号API」←（設定しなくてもよい）
JSON string　には「Date」を選択し設定します。
![天順4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2613598/5254c3d3-0766-9d5b-49cb-3ae67a29dba0.png)
![tejun5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2613598/6bff23b3-d266-4a44-b1aa-e4366c7282aa.png)
⑥JSONモジュールと同様にRouterモジュールも右クリックから作成します。
![tejun7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2613598/f97cbb68-0186-d9e5-3d67-840b9a99c606.png)
⑦授業で作ったLINEモジュールを右クリックしコピーを作ります。
![tejun8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2613598/6190b8db-5763-81d8-8c6c-33cc52ccebd8.png)
⑧RouterとLINEモジュールをつなぐ部分内のスパナマークから「Set up a filter」を選択し、Conditionに「items zipcode」を入力します。（どちらのLINEモジュールのスパナでも大丈夫です）
![tejun9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2613598/83feebd6-7c1c-6161-433c-6677044edfbc.png)
![tejun10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2613598/0be83b96-9b2f-baaa-4c2a-628f0256f4bd.png)
今スパナマークから設定した方のLINEモジュールが正常な住所が入力された際に返答を行うモジュールになります。

⑨もう一方のLINEモジュールのスパナを開いてこちらはYESボタンのみ押します。
![tejun11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2613598/cdb22435-e75f-4670-7555-4c82654b2a72.png)
すると、こちらは登録されていない住所が入力された際に返答を行うモジュールになります。

⑩手順⑨でYESを選択した方のLINEモジュールを開き、Textの部分にエラーメッセージを書きます。
![tejun12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2613598/236b9cae-f3f3-fc2e-0ce8-39c27b6178c0.png)
存在しない住所を入力すると怒られるようにします。

⑪Run onceを押して動作チェックします。
うまくいくとこのようになります。
![宿題その1-3.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2613598/e059f5bf-002e-b8a2-b899-3869f46e2573.gif)

以上で終わりです！お疲れ様でした！

# 作成を終えて
### 感想
とりあえず授業で作成したbotを元に、異なるAPIを使って新たなbotをなんとか作成することができました。手順だけ見れば簡単なようにみえますが、何度も試行錯誤を繰り返してようやく作ったので、達成感を感じることができて嬉しかったです。
また、今回使ったMakeの機能についてきちんと理解しているわけではないので、応用を利かせられるようにもっと理解を深めていきたいと思いました。

最後まで読んでいただきありがとうございました。

### 余談
こちらのBotを作っている最中に知ったのですが、郵便番号が書かれていない荷物は配送業者の方が調べて書いて下さるため、郵便番号がなくても全く問題ないそうです…。
しかし郵便番号が書かかれていないと配達が遅れるケースがあり、何より配送業者の方々の作業負担を増やしてしまいます。
そうした事を考えれば今回作ったBotは無駄ではなかったはず…と思ってます…。