首页 > 解决方案 > Dialogflow Messenger V1 未呈现丰富的响应消息

问题描述

如何让Dialogflow Messenger v1显示 moch 响应消息,特别是快速回复(单击时发送文本的按钮)?

提供以下WebhookResponse (v2)时,Dialogflow 控制台调试器正确显示 text_1、quick_reply_1、quick_reply_2、text_2

但是,Dialogflow Messenger 仅显示纯文本,即“text_1 text_2”

看截图

{
  "responseId": "XXX",
  "queryResult": {
    "queryText": "cancel",
    "parameters": {},
    "allRequiredParamsPresent": true,
    "fulfillmentText": "XXX",
    "fulfillmentMessages": [
      {
        "text": {
          "text": [
            "text_1"
          ]
        }
      },
      {
        "quickReplies": {
          "title": "quick reply title",
          "quickReplies": [
            "quick_reply_1",
            "quick_reply_2"
          ]
        }
      },
      {
        "text": {
          "text": [
            "text_2"
          ]
        }
      }
    ],
    "intent": {
      "name": "XXX",
      "displayName": "XXX"
    },
    "intentDetectionConfidence": 1,
    "diagnosticInfo": {
      "webhook_latency_ms": 1692
    },
    "languageCode": "en"
  },
  "webhookStatus": {
    "message": "Webhook execution successful"
  }
}

标签: dialogflow-esdialogflow-es-fulfillment

解决方案


对我来说,这很简单,因为我使用的是 dailogflow 自定义有效负载。以下是步骤:

  1. 打开你的意图
  2. 向下滚动并转到响应。
  3. 单击“添加响应按钮”,然后选择“自定义有效负载”选项。在下面,它将启用代码区域。
  4. 在该区域中,添加您的 JSON 代码。就像是:
{
  "richContent": [
    [
      {
        "type": "info",
        "title": "Info item title",
        "subtitle": "Info item subtitle",
        "image": {
          "src": {
            "rawUrl": "https://example.com/images/logo.png"
          }
        },
        "actionLink": "https://example.com"
      }
    ]
]
}

如需更丰富的回复,您可以参考此处的代码:https ://cloud.google.com/dialogflow/docs/integrations/dialogflow-messenger#rich


推荐阅读