根据用户平台设置Dialogflow响应对象

时间:2018-04-12 19:35:37

标签: chatbot dialogflow api-ai

我有一个webhook服务器,它响应Dialogflow并使用丰富的消息对象,这些消息对象可以在Google智能助理上运行。

但是,如果用户使用Google Assitant以外的其他平台(例如网络或亚马逊Alexa)与我的机器人聊天,我想发送基本的文字回复。

查看文档后,我不确定如何发送响应消息对象,当用户使用Google智能助理时会显示丰富的消息对象,而在其他平台上显示纯文本响应作为后备。

这是我当前的富消息响应对象的格式,取自文档:https://dialogflow.com/docs/reference/agent/message-objects#basic_card_response

{
    "messages": [
      {
        "buttons": [
          {
            "openUrlAction": {
              "url": "https://linkUrl.com"
            },
            "title": "AoG Card Link title"
          }
        ],
        "formattedText": "AoG Card Description",
        "image": {
          "url": "http://imageUrl.com"
        },
        "platform": "google",
        "subtitle": "AoG Card Subtitle",
        "title": "AoG Card Title",
        "type": "basic_card"
      }
    ]
}

1 个答案:

答案 0 :(得分:3)

为此,您只需在messages对象中加入常规text/speech response

/query doc中,查看POST回复示例。

你的JSON应该是这样的:

{
    "messages": [
      {
        "buttons": [
          {
            "openUrlAction": {
              "url": "https://linkUrl.com"
            },
            "title": "AoG Card Link title"
          }
        ],
        "formattedText": "AoG Card Description",
        "image": {
          "url": "http://imageUrl.com"
        },
        "platform": "google",
        "subtitle": "AoG Card Subtitle",
        "title": "AoG Card Title",
        "type": "basic_card"
      },
      {
        "speech": "text response",
        "type": 0            
      }
    ]
}