DialogFlow + LINE.me与丰富的消息集成

时间:2018-03-27 02:41:37

标签: chatbot dialogflow line.me

我使用履行webhook整合DialogFlow和LINE。当文本位于回复的{ "speech": "your number is 1234" } 字段中时,我能够成功将消息回复给用户的LINE。

{
  "data": {
    "line": {
      "replyToken": "e4050bccd34b52...b119069d27bb5",
      "messages": [
        {
          "text": "Hi",
          "type": "text"
        }
      ]
    }
  }
}

但是,如果我按照文档添加LINE特定响应,则工作,这意味着它只会回复任何内容。

sed

这意味着我只能回复一条短信,而不能回复其他丰富的短信。

我做错了什么,或者是DialogFlow的问题?

1 个答案:

答案 0 :(得分:0)

我终于想出了怎么做! 问题中的响应格式不正确。正确的格式如下:

{
 'messages': [
   <message object>,
   <message object>
 ]
}

您可以参考message object了解可以使用的类型。 需要注意的一点是类型4,您只需使用LINE中指定的有效负载。

例如,

{
    'messages': [
        {
            'type': 0,
            'speech': 'ABC'
        },
        {
            "type": 4,
            "payload": {
                "line": {
                    "type": "template",                                                                                                                                                                                                                           "altText": "This is a buttons template",
                    "template": {
                        "type": "buttons",
                        "thumbnailImageUrl": "https://images.justlanded.com/event_images/Tets/photo/events_original_45195_42919.jpg",
                        "imageAspectRatio": "rectangle",
                        "imageSize": "cover",
                        "imageBackgroundColor": "#FFFFFF",
                        "title": "Menu",
                        "text": "Please select",
                        "defaultAction": {
                            "type": "uri",
                            "label": "View detail",
                            "uri": "http://example.com/page/123"
                        },
                        "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"
                            }
                        ]
                    }
                }
            }
        }

    ]
}