本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置 RCS 建议
建议是显示在 RCS 消息下方或内部的交互式筹码。它们通过提供预定义的回复和操作(例如打开 URL、拨打电话号码或共享位置)来引导收件人完成对话,而无需收件人键入内容。建议是你如何与SendRcsMessage之建立交互式对话体验。
您可以在两个级别为任何内容类型(文本、文件、富卡片和轮播)添加建议:
-
Message-level。 在顶层
Suggestions列表中提供RcsMessageContent,旁边Content。每条消息最多可以包含 11 条建议。 -
Card-level。 在个人富卡或旋转木马卡
Suggestions列表中提供。每张卡片最多可以包含 4 条建议。
AWS最终用户消息支持六种建议类型:ReplyOpenUrl、DialPhone、ShowLocation、RequestLocation、和CreateCalendarEvent。每条建议都需要Text标签(最多 25 个字符)和PostbackData(最多 2,048 个字符)。
主题
回发数据的工作原理
每条建议都包含一个不超过 2,048 个字符的字符PostbackData串,当收件人选择建议时,AWS最终用户消息会将其发送回您的应用程序。回发数据对收件人不可见。使用它对路由信息、意图标识符、会话上下文或后端处理选择所需的任何元数据进行编码。
当收件人选择建议时,“AWS最终用户消息” 会将入站消息事件传送到您为双向消息配置的 Amazon SNS 主题。开启逻辑postbackData而不是显示文本。有关入站事件的详细信息,请参阅RCS 消息事件。
建议显示
- 临时建议(默认)
-
临时建议显示在消息气泡的外部,位于最新消息的下方。在收件人选择一个或发送任何消息后,它们就会消失。
- 持续的建议
-
永久性建议显示在消息气泡中,并在收件人滚动浏览或与以后的消息互动后保持可见。持续显示由建议在富卡中的位置决定。附加到独立富卡上的建议在支持的客户端上会持续显示。
Reply
Reply建议会向您的代理发送预定义的文本回复。显示的文本在对话中显示为已发送的消息,并传送到您的应用程序。PostbackData
{ "Reply": { "Text": "Yes, confirm", "PostbackData": "confirm_order_12345" } }
| 字段 | 必填 | 约束 |
|---|---|---|
Text | 是 | 最多 25 个字符 |
PostbackData | 是 | 最多 2,048 个字符 |
OpenUrl
一条OpenUrl建议会打开一个 URL。默认情况下,URL 会在设备浏览器中打开。要在 Web 视图中打开 URL,让收件人留在消息传递应用程序中,请Application将其设置为WEBVIEW并指定。WebviewViewMode
{ "OpenUrl": { "Text": "Complete payment", "PostbackData": "pay_12345", "Url": "https://example.com/pay", "Application": "WEBVIEW", "WebviewViewMode": "TALL" } }
| 字段 | 必填 | 约束 |
|---|---|---|
Text | 是 | 最多 25 个字符 |
PostbackData | 是 | 最多 2,048 个字符 |
Url | 是 | 必须从开始https://。最多 2,048 个字符 |
Application | 否 | WEBVIEW在应用内网页视图中打开 |
WebviewViewMode | 有条件 | 以下情况下Application为必填项WEBVIEW:FULLHALF、或 TALL |
注意
Url必须使用该https://协议。网s3://址被拒绝。与打开标准浏览器不同,Webview 可以将收件人留在对话中,这对于诸如付款或表单之类的简短流程非常有用。
DialPhone
DialPhone建议会开始拨打您指定的号码的电话。
{ "DialPhone": { "Text": "Call support", "PostbackData": "dial_support", "PhoneNumber": "+18005551234" } }
| 字段 | 必填 | 约束 |
|---|---|---|
Text | 是 | 最多 25 个字符 |
PostbackData | 是 | 最多 2,048 个字符 |
PhoneNumber | 是 | E.164 例如,格式 +18005551234 |
ShowLocation
ShowLocation建议会在您指定的坐标处打开地图。
{ "ShowLocation": { "Text": "View on map", "PostbackData": "show_store_loc", "Latitude": 47.6062, "Longitude": -122.3321, "Label": "Seattle store" } }
| 字段 | 必填 | 约束 |
|---|---|---|
Text | 是 | 最多 25 个字符 |
PostbackData | 是 | 最多 2,048 个字符 |
Latitude | 是 | -90.0 到 90.0 |
Longitude | 是 | -180.0 至 180.0 |
Label | 否 | 地图图钉的显示标签 |
RequestLocation
一条RequestLocation建议会提示收件人分享他们的当前位置。共享坐标作为单独的入站位置事件到达。
{ "RequestLocation": { "Text": "Share location", "PostbackData": "request_user_location" } }
| 字段 | 必填 | 约束 |
|---|---|---|
Text | 是 | 最多 25 个字符 |
PostbackData | 是 | 最多 2,048 个字符 |
CreateCalendarEvent
CreateCalendarEvent建议使用您指定的详细信息在收件人的设备上创建日历事件。
{ "CreateCalendarEvent": { "Text": "Add to calendar", "PostbackData": "calendar_appt_5678", "Title": "Service appointment", "StartTime": "2026-05-28T14:00:00Z", "EndTime": "2026-05-28T15:00:00Z", "Description": "Downtown location. Arrive 10 minutes early." } }
| 字段 | 必填 | 约束 |
|---|---|---|
Text | 是 | 最多 25 个字符 |
PostbackData | 是 | 最多 2,048 个字符 |
Title | 是 | 最多 100 个字符 |
StartTime | 是 | 事件开始时间 |
EndTime | 是 | 活动结束时间 |
Description | 否 | 最多 500 个字符 |
收到建议点击
当收件人选择建议时,“AWS最终用户消息” 会向您的双向 SNS 主题发布入站消息。messageBody包含一个 JSON 对象,其中包含建议类型、显示文本和postbackData您设置的。开启你的逻辑postbackData。
{ "originationNumber": "+12065551234", "destinationNumber": "rcs-a1b2c3d4", "messageBody": "{\"type\":\"SUGGESTION\",\"text\":\"Yes, confirm\",\"postbackData\":\"confirm_order_12345\"}", "inboundMessageId": "msg-abc123def456" }
点RequestLocation按时,收件人的坐标会出现在单独的入站位置事件中。有关入站事件的完整参考,请参阅RCS 消息事件。
建议限制
| 约束 | 限制 |
|---|---|
建议Text长度 | 25 个字符 |
PostbackData长度 | 2,048 个字符 |
| 每条留言的建议 | 11 |
| 每张卡片的建议 | 4 |
CreateCalendarEvent标题 | 100 个字符 |
CreateCalendarEvent 描述 | 500 个字符 |
最佳实践
保持文字以操作为导向。使用诸如 “跟踪顺序”、“呼叫支持” 或 “查看” 菜单之类的动词。
提供 3 到 5 个选项。超过 5 个可能会让收件人不知所措。
开启路由
PostbackData,不显示文本。文本适用于用户,回发数据用于您的应用程序。一致地构造回传数据,例如
action:value成对或 JSON。处理收件人键入自由文本而不是点击建议的情况。
在一条消息中组合建议类型,例如 a
Reply、a 和 aDialPhone。OpenUrl
有关更深入的指导,请参阅RCS 最佳实践。