LINEリッチメニューを修正する

前々回に作成したリッチメニューで「よくある質問」をURLリンクではなく、前回試したFlexmessageでの返答に変更したくなり、まずは、リッチメニューを修正しました。

LINEリッチメニュー切り替えを試してみたLINEリッチメニュー切り替えを試してみたLINEリッチメニューのテキストにFlex Messgeで返答してみたLINEリッチメニューのテキストにFlex Messgeで返答してみた

リッチメニュー新規作成

公式ドキュメントで既存のリッチメニューを更新する項目がない気がしたので、新規作成し、エイリアスを更新することにしました。

前々回同様と同じ画像を使って作成します。

まず、リッチメニューを作成するコマンドです。

curl -v -X POST https://api.line.me/v2/bot/richmenu \
-H 'Authorization: Bearer {channel access token}' \
-H 'Content-Type: application/json' \
-d \
'{
    "size": {
        "width": 2500,
        "height": 1686
    },
    "selected": false,
    "name": "richmenu-c",
    "chatBarText": "メニュー",
    "areas": [
        {
            "bounds": {
                "x": 0,
                "y": 674,
                "width": 833,
                "height": 292
            },
            "action": {
                "type": "richmenuswitch",
                "richMenuAliasId": "richmenu-alias-a",
                "data": "richmenu-changed-to-a"
            }
        },
        {
            "bounds": {
                "x": 834,
                "y": 674,
                "width": 833,
                "height": 292
            },
            "action": {
                "type": "richmenuswitch",
                "richMenuAliasId": "richmenu-alias-b",
                "data": "richmenu-changed-to-b"
            }
        },
        {
            "bounds": {
                "x": 0,
                "y": 966,
                "width": 833,
                "height": 721
            },
            "action": {
                "type": "message",
                "text": "使い方"
            }
        },
        {
            "bounds": {
                "x": 834,
                "y": 966,
                "width": 833,
                "height": 721
            },
            "action": {
                "type": "message",
                "text": "働き方ガイド"
            }
        },
        {
            "bounds": {
                "x": 1667,
                "y": 966,
                "width": 834,
                "height": 721
            },
            "action": {
                "type": "message",
                "text": "よくある質問"
            }
        }
    ]
}'

次に、画像を設定します。richmenu-b616aa3e3cb6da7415a5120f281d6959は上記実行したときの、レスポンスのリッチメニューCのIDです。

curl -v -X POST https://api-data.line.me/v2/bot/richmenu/richmenu-b616aa3e3cb6da7415a5120f281d6959/content \
-H 'Authorization: Bearer {channel access token}' \
-H "Content-Type: image/png" \
-T richmenu-c.png

リッチメニューエイリアス更新

リッチメニューCのエイリアスrichmenu-alias-cを上記で作成したリッチメニューIDrichmenu-b616aa3e3cb6da7415a5120f281d6959に紐付けます。

curl -v -X POST https://api.line.me/v2/bot/richmenu/alias/richmenu-alias-c \
-H 'Authorization: Bearer {channel access token}' \
-H 'Content-Type: application/json' \
-d \
'{
    "richMenuId": "richmenu-b616aa3e3cb6da7415a5120f281d6959"
}'

さいごに

前々回作成したリッチメニューで、下記で「チェックイン/アウト」の文言を、よりユーザーにわかりやすく「出勤/退勤」に変更もしたくなりました。

ただ、公式ドキュメントに「リッチメニューの画像を更新するには、新しいリッチメニューオブジェクトを作成して、新しい画像をアップロードします」と記載があり、画像の更新も新規作成する必要がありました。

次回、今回設定できた「よくある質問」のテキストに対して、Flexmessageを用いたシナリオメッセージで返答することを試してみようと思います。