Q&A

Messaging APIと応答メッセージの併用について

前提・実現したいこと

Messaging APIでGASと連携し、スプレッドシートのFAQを返すことができました。 さらに、応答メッセージを併用し、以下のことがしたいのですが 方法はありますでしょうか。

・FAQの対応は、スプレッドシートに登録した内容で返す  (Messaging API、GASの連携)

・リッチメニューからテキストを受信した場合は、  応答メッセージに登録した リッチメッセージ や カードタイプメッセージ を送信したい  (リッチメニューのコンテンツ設定で「テキスト」を選択、当該テキストを応答メッセージに登録しておく)

※各文言・キーワードは重複のないように設定する

発生している問題・エラーメッセージ

ユーザーから、FAQにあるキーワードを受信したとき

1)応答メッセージ:オン、Messaging API:オン   ユーザーがテキスト入力後、応答メッセージとFAQからの回答の両方が返されてしまう

2)応答メッセージ:オフ、Messaging API:オン   ユーザーがテキスト入力後、FAQの回答のみ返される  

となるが、上記2)にした場合は、リッチメニューを使った応答メッセージを返せない。

素人の初歩的な質問で恐縮ですが、 どなたか、ヒントをいただけると助かります。

よろしくお願いいたします。

  • 0
  • 3
  • 4525
  • twitter facebook

やりたいことはわかりましたが、応答メッセージとWebhookは基本的にはどちらかを使うのが普通です。両者のやっていることは全く同じだからです。以前は応答メッセージを無効にしないとWebhookが使えなかったぐらいです。

リッチメニューから設定するテキストは結局ユーザが手で打つメッセージと挙動が全く一緒なわけなので、それならばWebhookで受け取って応答メッセージを作ったほうがシステム的にも簡単だと思います。

そして、応答メッセージ(カードメッセージやリッチメッセージ)もMessaging API上ではFlex Messageやイメージマップメッセージあたりを使えば代用はできるはずです。

Messaging APIで送れるメッセージの一覧はドキュメントにまとめられているので、参考にしていただければと https://developers.line.biz/ja/docs/messaging-api/message-types/

  • 0

ご回答ありがとうございます。 うまく質問ができずに申し訳ありません。

「Flex Messageを送信したい」のではなく、 リッチメニューでテキストを設定し リッチメニュー押下→設定したテキストを受信する→そのテキストに対する応答メッセージ(カードメッセージやリッチメッセージ)を返す ということをしております。

それにFAQの返答のためにMessaging APIも利用すると 応答メッセージの機能と併用することになり、 応答メッセージで設定しているデフォルトの返答と FAQ両方の返答が来てしまうので困っています。

FAQのキーワードの場合は、Messaging APIからのキーワードのみ返したいのです。 でも、 >リッチメニュー押下→設定したテキストを受信する→そのテキストに対する応答メッセージ(カードメッセージやリッチメッセージ)を返す こちらも残したいと思っています。

  • 0

おそらく文章からすると、リッチメニューではなくFlex Messageで作成したメッセージを送信したいという話をしているのでしょうか?リッチメニューだとLINEのトーク画面の下に表示する画像メニューのことをいうので全くの別物になります。 https://www.linebiz.com/jp/manual/OfficialAccountManager/rich-menus/create/

仮にUI入りのメッセージを送りたいということでしたら、それはFlex Messageというので、以下のドキュメントを参考に原因を探す必要があります。まずは意図した通りの返答が返ってくるのかテキストメッセージで返答して見るところから試すと、問題が切り分けられると思います。 https://developers.line.biz/ja/docs/messaging-api/using-flex-messages/

  • 0
本当によろしいですか? question.vm