LINE

Dialogflow の LINE 統合を使用すると、Dialogflow エージェントを LINE ボットとして使用できます。

仕組み

統合の仕組みは次のとおりです。

  • LINE チャネルを作成します。
  • そのチャネルに Dialogflow エージェントを関連付けて、相互に通信できるようにします。
  • Dialogflow の統合では、LINE Messaging API を使用してエンドユーザーにメッセージを送信します。
  • Dialogflow の統合では、LINE Webhook として機能することで、エンドユーザーからメッセージを受信します。

設定

統合を設定するには:

  1. Messaging API スタートガイドの手順に沿って、LINE チャネルを作成します。
  2. Dialogflow コンソールから LINE Webhook URL を取得します。
    1. Dialogflow ES コンソールに移動します。
    2. 左側のサイドバー メニューで [Integrations] をクリックします。
    3. [LINE] をクリックします。
    4. [Webhook URL] の値をコピーします。これは、LINE Webhook を構成するために必要になります。
  3. LINE Webhook を構成します。
    1. LINE 受信メッセージ(Webhook)の手順に沿って、チャネルに LINE Webhook を構成します。
    2. 上記でコピーした Webhook URL を使用して LINE Webhook 構成を指定します。
    3. [Channel ID]、[Channel secret]、[Channel access token] の値をコピーします。これらの値は、Dialogflow の統合を構成するために必要です。
  4. Dialogflow の統合を構成します。
    1. Dialogflow ES コンソールに移動します。
    2. 左側のサイドバー メニューで [Integrations] をクリックします。
    3. [LINE] をクリックします。
    4. [Channel ID]、[Channel secret]、[Channel access token] を、それぞれのフィールドに貼り付けます。
    5. 該当する環境を選択します。
    6. [START] ボタンをクリックします。

テスト

エージェントをテストするには、LINE アプリのメイン画面で横に並んだ 3 つのドットをタップします。次に、QR コードのアイコンをタップし、ボットの設定ページで QR コードをスキャンします。これにより、ボットが会話のリストに追加されます。

リッチ レスポンス メッセージ

次のリッチ レスポンス メッセージがサポートされています。

画像のレスポンス

Dialogflow イメージ レスポンス タイプは、LINE イメージ メッセージ タイプとして LINE に送信されます。

サポートされている形式とサイズは次のとおりです。

  • jpeg
  • 最大サイズ 1 MB
  • 最大画素数 240 × 240

カード形式のレスポンス

Dialogflow カード レスポンス タイプは、LINE テンプレート メッセージ タイプとして LINE に送信されます。

クイック返信のレスポンス

Dialogflow のクイック返信レスポンス タイプは、LINE テンプレート メッセージ タイプとして LINE に送信されます。

カスタム ペイロードのレスポンス

ほとんどの LINE メッセージ タイプはカスタム ペイロード レスポンスで送信できます。

たとえば、次のカスタム ペイロードは LINE テンプレート メッセージを提供します。

{
  "type": "template",
  "altText": "this is a buttons template",
  "template": {
    "type": "buttons",
    "thumbnailImageUrl": "https://example.com/bot/images/image.jpg",
    "title": "Menu",
    "text": "Please select",
    "actions": [
      {
        "type": "postback",
        "label": "Buy",
        "data": "action=buy&itemid=123"
      },
      {
        "type": "postback",
        "label": "Add to cart",
        "data": "action=add&itemid=123"
      },
      {
        "type": "uri",
        "label": "View detail",
        "uri": "http://example.com/page/123"
      }
    ]
  }
}