在AWS Lex中创建轮播卡

时间:2017-12-04 17:49:05

标签: amazon-web-services carousel chatbot facebook-chatbot amazon-lex

我正在尝试使用lex构建电子商务聊天机器人。

在Lex中使用转盘卡或多响应卡有什么解决方法吗?

例如:

enter image description here

谢谢..

1 个答案:

答案 0 :(得分:7)

您可以在响应中显示多个响应卡,它将显示为轮播。 按照this example通过控制台生成响应卡(您也可以在代码中动态执行)。

控制台方法:
在下面的图片中,在Prompt response cards部分,请参见最右边的部分,有一个+按钮,单击该按钮,您可以添加更多卡片。

enter image description here

动态方法(使用Lambda):

'dialogAction': {
    'type': 'Close',
    'fulfillmentState': 'Fulfilled',
    'message': {
        'contentType': 'PlainText',
        'content': message
    },
    'responseCard': {
    'version': '0',
    'contentType': 'application/vnd.amazonaws.card.generic',
    'genericAttachments': [
        {
        'title': 'title1',
        'subTitle': 'subtitle1',
        'attachmentLinkUrl': 'link_that_will_open_on_click',
        'imageUrl': 'link_of_image_to_display',
        "buttons":[ 
             {
                "text":"button_1",
                "value":"value_to_be_sent_to_server_on_click"
             },
             {
                "text":"button_2",
                "value":"value_to_be_sent_to_server_on_click"
             },
             {
                "text":"button_3",
                "value":"value_to_be_sent_to_server_on_click"
             }
            ]
        },
        {
        'title': 'title2',
        'subTitle': 'subtitle2',
        'attachmentLinkUrl': 'link_that_will_open_on_click',
        'imageUrl': 'link_of_image_to_display',
        "buttons":[ 
             {
                "text":"button_1",
                "value":"value_to_be_sent_to_server_on_click"
             },
             {
                "text":"button_2",
                "value":"value_to_be_sent_to_server_on_click"
             },
             {
                "text":"button_3",
                "value":"value_to_be_sent_to_server_on_click"
             }
            ]
        },
        {
        'title': 'title3',
        'subTitle': 'subtitle3',
        'attachmentLinkUrl': 'link_that_will_open_on_click',
        'imageUrl': 'link_of_image_to_display',
        "buttons":[ 
             {
                "text":"button_1",
                "value":"value_to_be_sent_to_server_on_click"
             },
             {
                "text":"button_2",
                "value":"value_to_be_sent_to_server_on_click"
             },
             {
                "text":"button_3",
                "value":"value_to_be_sent_to_server_on_click"
             }
            ]
        }
    ]

    }
}

注1:您可以在轮播中使用maximum of 10 response cards,在单个轮播中使用maximum of 3 buttons。 如果您有超过10张卡,您将收到错误。 如果您有超过3个按钮,则不会出现错误,但只显示前3个 注2:您需要检查Facebook应用中信使设置中的messaging_postbacks中的Webhooks个事件,以制作轮播按钮的工作。

我已经用以下方式实施了响应卡:

enter image description here
看到卡片像旋转木马一样,你可以滑动以查看更多卡片。

希望它有所帮助。

相关问题