見出し画像

第15話 リッチメニューの導入

こんにちは!Kenです。

今回は、リッチメニューを導入していきたいと思います。

リッチメニューとは何か

今まで書いてきた処理は、「予約する」とか「予約確認」とか「予約キャンセル」とか、お客様のメッセージが起点となって始まりました。お客様は毎回文字を入力しなければならないので、面倒ですよね。

そこで、便利なのがリッチメニューです。

リッチメニュー

例えば、「予約する」というボタンをタップすると、「予約する」というメッセージがワンタッチで送ることができるようになります。

リッチメニューで使う画像を作る

画像サイズですが、LINE公式によると次のように書かれています。

画像2

推奨サイズは、1200x810らしいので、このサイズで作ることにします。

そしてこの領域を4分割し、一個あたりのボタンサイズは600x405とします。

では早速画像を作っていきましょう。

私のオススメはcanvaというサイトです。

■デザインを作成
■カスタムサイズ
■1200 x 810 px
■新しいデザインを作成

で真っ白なキャンバスが立ち上がると思います。

「素材」のところからデザインを選んで、「テキスト」で文字を書いたり出来ます。素材は有料のものも多いですが、無料のものもあるので私は無料で仕上げました。それがこのようなイラストです。

画像3

えーっと、デザインセンスに関しては、突っ込まないでください。(自覚してます笑)。

では右上の↓ダウンロードボタンから、ダウンロードしましょう。

形式はPNG、保存場所はどこでも構いません。

ポイントカード機能

ポイントカードボタンがありますが、これは何?と思われたかと思います。ボタン枠が1枠余ったので、LINE公式の機能を試しに使ってみます笑

簡単に言えば、来店のたびにもらえるポイントカードをLINEの中でやり取りできるという機能です。来店のたびに、ポイント追加のQRコードを読み込んでもらうと、ポイントが追加されます。

正確にはショップカードの名称で呼ばれてますので、以下を参照してください。

まずは公式アカウント管理画面へ移動します。

予約アプリの公式アカウントを選択します。

ショップカード

このような管理画面に入れますので、左のメニューの中からショップカードを選択します。

ショップカード2

カード設定が出来ますので、好きなように設定してみてください。

私は例えば、20ポイント貯めたらカット無料、初回来店でヘッドスパプレゼントみたいなショップカードを作りました。

下の方にショップカード作成するというボタンがありますので、それをクリックするとショップカードが確定します。

ショップカード3

このような画面となり、ポイントカードボタンを押した際に、カード取得用URLへ飛ぶように設定します。なので、このURLはあとでコピペできるようにしておいてください。

また実際は、QRコードを印刷してもらって、お会計の際にお客様に読み込んでもらうという運用でしょう。

Postmanのダウンロード&インストール

リッチメニューは先ほどのポイントカードの説明をしたアカウント管理画面から作成することがWEB上でできます。

しかし、定型的なことしかできないので、今回はLINEのAPIを使ったリッチメニューの作り方を学習したいと思います。

APIを使ったリッチメニュー作成はプログラムをコーディングするのではなく、LINEのサーバーに指定したLINE公式アカウントのリッチメニューの設定値を送ってあげるイメージです。

まぁ深い意味は考えずにAPIを叩くツールとして便利なPostmanをダウンロードしましょう。

以下のページを参考にインストールを完了させてください。

リッチメニューの作成

では、いよいよpostmanを使ってリッチメニューを作成していきましょう。

まずLINE DevelopersのMessaging API設定のところで、チャンネルアクセストークンをコピーします。

スクリーンショット 2020-10-12 11.52.50

次にPostmanの設定です。

画像5

1の箇所は、POSTを選択し、URL入力欄に次のアドレスを入力します。

https://api.line.me/v2/bot/richmenu

2の箇所は、KEYのところはAuthorization、そのVALUEに
Bearer チャンネルアクセストークン
を入力します。チャンネルアクセストークンはコピーしたものをペースとしてください。Bearerとチャンネルアクセストークンの間は半角スペースです。

3の箇所は、KEYはContent-Type、VALUEはapplication/jsonを入力します。

次にタブをBodyに変えてます。

画像6

Bodyの中身にJSONを記述します。記述内容は以下です。

  {
   "size":{
       "width":1200,
       "height":810
   },
   "selected":true,
   "name":"操作メニュー Open/Close",
   "chatBarText":"↓ Open/Close ↓",
   "areas":[
       {
         "bounds":{
             "x":0,
             "y":0,
             "width":600,
             "height":405
         },
         "action":{
             "type":"message",
             "text":"予約する"
         }
       },
       {
         "bounds":{
             "x":600,
             "y":0,
             "width":600,
             "height":405
         },
         "action":{
             "type":"message",
             "text":"予約確認"
         }
       },
       {
         "bounds":{
             "x":0,
             "y":405,
             "width":600,
             "height":405
         },
         "action":{
             "type":"message",
             "text":"予約キャンセル"
         }
       },
       {
         "bounds":{
             "x":600,
             "y":405,
             "width":600,
             "height":405
         },
         "action":{
             "type":"uri",
             "uri":"https://line.me/R/ch/xxxxxxxxxxxxxx/297xxxxxx?us=LINE&um=Owner&uca=Share"
         }
       }
   ]
 }

"selected":trueを指定すると、初めからリッチメニューが開いた状態になります。

タップする領域の指定をx,y,width,heightでしてあげてます。x,yは領域の開始位置の座標を示します。座標は左上を(0,0)としています。予約するボタンの左上の座標は(0,0)であることがわかります。また、widthとheightはボタンの幅と高さとなります。

次のように覚えましょう。

■x, y → ボタン領域の左上の座標
■最も左上の座標を(0,0)とする
■width,height → ボタンの幅と高さ

actionはボタンをタップされた時の動作を示します。"message"は「予約する」などのメッセージを送るactionです。

"uri"は指定のURLへ飛ぶことを意味します。先ほどのショップカードのURLをこちらにコピペしましょう。

この記述が出来ましたら、右上のSendボタンをクリックしましょう。

画像10

POSTに成功すると、richMenuIDが返って来ることかと思います。そのIDを使って次のPOSTを行います。

画像11

POSTのURLのところは次のようなアドレスにします。

https://api-data.line.me/v2/bot/richmenu/richMenuId/content

richMenuIDのところは先ほど返ってきたrichMenuIDを埋め込みます。

Authorizationは先ほどと変わりません。Bearer チャンネルアクセストークンです。

Content-Typeはimage/pngとしてください。

そしてBodyタブに切り替えます。

画像12

select fileのところで、canvaで作成したPNGファイルを選択します。

そしてSendをクリックして、下のように{ }が返って来れば成功です。

最後に、以下をPOSTします。

画像13

POSTのURLを以下のようにします。

https://api.line.me/v2/bot/user/all/richmenu​/richMenuId

また今回はAuthorizationのところの入力だけでOKです。

Sendしてみましょう。{ }が返って来れば成功です。

では、LINE公式アカウントのトークルームへ再入室してみましょう。

画像14

リッチメニューができるとそれらしいアプリに見えますよね。

では今回はこの辺で。

少しでも参考になりましたら「スキ」をいただけるとありがたいです。

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

MENTA でLINEBOT開発サポートをしております。お気軽にご相談ください。

この記事が気に入ったらサポートをしてみませんか?