View a markdown version of this page

配置 RCS 建议 - AWS 最终用户消息 SMS

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

配置 RCS 建议

建议是显示在 RCS 消息下方或内部的交互式筹码。它们通过提供预定义的回复和操作(例如打开 URL、拨打电话号码或共享位置)来引导收件人完成对话,而无需收件人键入内容。建议是你如何与SendRcsMessage之建立交互式对话体验。

您可以在两个级别为任何内容类型(文本、文件、富卡片和轮播)添加建议:

  • Message-level。 在顶层Suggestions列表中提供RcsMessageContent,旁边Content。每条消息最多可以包含 11 条建议。

  • Card-level。 在个人富卡或旋转木马卡Suggestions列表中提供。每张卡片最多可以包含 4 条建议。

AWS最终用户消息支持六种建议类型:ReplyOpenUrlDialPhoneShowLocationRequestLocation、和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 个字符
ApplicationWEBVIEW在应用内网页视图中打开
WebviewViewMode有条件以下情况下Application为必填项WEBVIEWFULLHALF、或 TALL
注意

Url必须使用该https://协议。网s3://址被拒绝。与打开标准浏览器不同,Webview 可以将收件人留在对话中,这对于诸如付款或表单之类的简短流程非常有用。

DialPhone

DialPhone建议会开始拨打您指定的号码的电话。

{ "DialPhone": { "Text": "Call support", "PostbackData": "dial_support", "PhoneNumber": "+18005551234" } }
字段必填约束
Text最多 25 个字符
PostbackData最多 2,048 个字符
PhoneNumberE.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 和 a DialPhoneOpenUrl

有关更深入的指导,请参阅RCS 最佳实践