在 AWS Lex 中创建轮播卡片

Creating carousel card in AWS Lex

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

有没有在Lex中使用轮播卡片或多响应卡片的解决方案?

例如:

谢谢..

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

控制台方法:
在下图中,在 Prompt response cards 部分,看到最右边的部分,有一个小 + 按钮,单击它可以添加更多卡片。

动态方法(使用 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 应用程序的 Messenger 设置中的 Webhooks 中检查 messaging_postbacks 事件,以使轮播按钮正常工作。

我已经通过以下方式实现了响应卡:


看到卡片像轮播一样来了,你可以滑动查看更多卡片。

希望对您有所帮助。