Q&A

liff.sendMessages()でFlexMessageを送信した際にWebhookでイベントが受信できない

前提・実現したいこと

LIFFアプリから liff.sendMessages() を使って送信したFlexMessageをMessaging APIチャネルに設定したWebhookで受信したい。

  • LoginチャネルとMessaging APIは同一プロバイダー
  • Loginチャネルの リンクされたボット には該当のMessaging APIチャネルのボットを設定済
  • liff.sendMessages() でTextMessageを送信した場合はwebhookで受信できること確認

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

Webhookに通信が来ない。

該当のソースコード

// FlexMessageオブジェクトを作成
const flexMessage: FlexMessage = this.createFlexMessage();

// メッセージ送信
if (liff.isInClient()) {
  liff.sendMessages([flexMessage]).then(
    () => {
      liff.closeWindow();
    }
  ).catch(
    (error) => {
      alert(error);
    }
  );
}

試したこと

FlexMessageをTextMessageに変えて実行 ⇒ Webhookイベントが送信された

補足情報(FW/ツールのバージョンなど)

  • LIFF SDK 2.18.0
  • typescript 3.9.10
  • 0
  • 2
  • 572
  • twitter facebook

ご回答ありがとうございます! 確かに、仰る通りwebhookのメッセージイベントにFrexMessageの記載ないですね。見逃してました。 Frexではなくテキストメッセージで対応しようと思います。 大変助かりました。ありがとうございました!

  • 1

そもそもWebhookでFlexメッセージを受け取る想定がないのでできません。 Webhookで受け取れるメッセージは以下のドキュメントにあるものしか対応していないと思ってもらっていいです。 https://developers.line.biz/ja/reference/messaging-api/#message-event

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