在 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
事件,以使轮播按钮正常工作。
我已经通过以下方式实现了响应卡:
看到卡片像轮播一样来了,你可以滑动查看更多卡片。
希望对您有所帮助。
我正在尝试使用 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
事件,以使轮播按钮正常工作。
我已经通过以下方式实现了响应卡:
看到卡片像轮播一样来了,你可以滑动查看更多卡片。
希望对您有所帮助。