本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
发送丰富的 RCS 消息
借助 “AWS最终用户消息” 中的 SendRcsMessage API 操作,您可以通过 RCS(富通信服务)向收件人发送丰富的交互式内容。Rich RCS 消息超越了纯文本,还包括富卡片、轮播、媒体文件以及收件人选择采取行动的建议。这些交互式元素将单向通知转变为双向对话体验,例如让收件人无需离开对话即可确认预约、浏览产品目录或共享其位置。
SendRcsMessage当您需要提供视觉效果丰富的交互式内容时使用,例如带有图像和操作按钮的产品卡、带有日历建议的预约确认、文件附件或收件人滚动浏览的多项目轮播。每个SendRcsMessage请求都包含用于任何文本内容的单独文本正文,并且可以为设备不支持 RCS 的收件人提供可选的 SMS 或 MMS 备用信息。
对于不需要丰富格式的纯文本消息,请改用 SendTextMessage API 操作。 SendTextMessage仅接受文本内容,这使请求更简单,而且它适用于根据收件人能力自动在 RCS 和 SMS 之间进行选择的消息池。有关更多信息,请参阅 发送 RCS 消息。
重要
您可以在所有支持 RCS 的国家/ SendRcsMessage 地区使用 RCS 消息传递。有关当前列表,请参阅支持驻地协调员制度的国家。
主题
先决条件
在发送丰富的 RCS 消息之前,请完成中的 RCS 设置步骤。RCS 入门除了处于活动状态的已注册 AWS RCS 代理外,还要确认以下内容:
-
要在向正式版收件人发送富内容之前验证富内容,请向您的测试代理添加一台已注册的测试设备并向其发送测试消息。有关更多信息,请参阅 测试 RCS 消息。
-
配置事件目的地(亚马逊 SNS 主题或 Amazon Data Firehose 传送流)以接收传送状态事件。如果您的消息包含建议等交互式元素,则需要事件目的地,因为选择的收件人会作为回发事件传送到您的应用程序。有关更多信息,请参阅 AWS 最终用户消息 SMS 中的事件目的地。
-
如果您配置了短信或彩信后备并发送到存在短信抽水风险的目的地,请关联保护配置以将选择退出和国家/地区规则应用于备用消息。有关更多信息,请参阅 中的欺诈保护 AWS 最终用户消息 SMS。
在 SendTextMessage 和之间进行选择 SendRcsMessage
这两个 API 操作都可以通过 RCS 传送消息,但它们的用途不同。 SendTextMessage假设每条消息都可以作为 SMS 传送,也可以通过 RCS 传送,这为它提供了更简单的请求合同。 SendRcsMessage假设丰富的 RCS 内容并添加SendTextMessage不具备的功能,包括媒体和结构化内容类型、带生存时间 (TTL) 的消息过期以及每条消息的短信或彩信后备功能。
| 能力 | SendTextMessage | SendRcsMessage |
|---|---|---|
| 消息内容 | 仅限纯文本 | 文本、文件、富卡片和轮播界面,每种都有可选建议 |
| 配送渠道 | RCS 或短信 | RCS,带有可选的短信或彩信后备功能 |
| 频道选择 | Pool 根据收件人功能自动选择 RCS 或 SMS | 首先是 RCS,然后是您配置的短信或彩信回退 |
| Fallback (回退) | 自动,基于池 | 每条消息都很明确 |
| 发起身份 | 矿池、电话号码、发件人 ID 或 AWS RCS 代理 | 矿池或 AWS RCS 代理 |
| 消息到期时间 (TTL) | 否 | 是 |
| 申请合同 | 更简单。与发送短信和彩信的 API 相同 | 专用 RCS API,具有单独的文本正文和内容类型 |
当您想要基于池SendTextMessage的自动频道选择时,或者当您要以最少的代码更改迁移现有 SMS 工作流程时,可以选择纯文本通知。选择SendRcsMessage何时需要富卡片、轮播、媒体文件或建议,何时需要定义每条消息的备用信息,或者何时需要为时效敏感的内容 TTL-based 过期。
内容类型
该RcsMessageContent参数包含一个只有一种内容类型的Content对象和一个可选的消息级列表Suggestions。您不能在单个请求中组合多种内容类型。
| 内容类型 | 说明 | 更多信息 |
|---|---|---|
| TextMessage | 文本正文最多 3,072 个字符,带有可选建议。与 SMS 消息不同,RCS 短信可以包含建议,并作为一条消息传送,而不是分成几段。 | 发送 RCS 短信 |
| FileMessage | 由 HTTPS 或 Amazon S3 网址引用的单个媒体文件(图像、视频、音频或 PDF)。 | 发送 RCS 文件消息 |
| RichCard | 一张结构化卡片,包含可选媒体、标题、描述和最多 4 条建议。 | 发送 RCS 富豪卡 |
| 轮播 | 一套可滚动的 2 到 10 张卡片,每张卡片都有自己的媒体、文字和建议。 | 发送 RCS 旋转木马 |
建议
建议是交互式筹码,收件人可以选择采取行动。您可以向任何内容类型添加建议:消息级别的建议适用于整条消息(最多 11 条),卡片级别的建议适用于个人富卡或轮播卡(最多 4 张)。 AWS最终用户消息支持六种建议类型,包括回复、链接和操作,例如拨打电话号码或共享位置。有关建议类型、其参数以及如何接收建议点击的完整列表,请参阅配置 RCS 建议。
SendRcsMessage 请求概述
该SendRcsMessage请求使用以下关键参数。
| 参数 | 必需 | 描述 |
|---|---|---|
DestinationPhoneNumber |
是 | 例如, E.164 格式为收件人的电话号码+12065550100。 |
OriginationIdentity |
是 | 要发送的池或 AWS RCS 代理的 ID 或 ARN。代理必须处于 “活动” 状态。 |
RcsMessageContent |
否 | 消息内容。包含一个只有TextMessage、、或之一的Content对象 FileMessage RichCardCarousel,以及一个可选的顶级Suggestions列表。 |
FallbackConfiguration |
否 | RCS 交付不成功时要发送的短信或彩信。包括必填项Channel(SMS或MMS)MessageBody、彩信MediaUrls的可选值,以及电话号码或发件人 ID。OriginationIdentity |
TimeToLive |
否 | 如果消息未送达,则消息到期之前的时间(以秒为单位)。最小值为 1 秒,最大值为 172,800 秒(48 小时)。建议将值设置为 10 秒或更长时间。 |
MessageFeedbackEnabled |
否 | 设置为,true为该消息启用留言反馈。当收件人收到消息时,通过调用PutMessageFeedback操作来更新消息状态。 |
成功的响应MessageId会返回用于关联传送状态事件的。
注意
的后备SendRcsMessage是通过FallbackConfiguration每条消息配置的。有关完整的回退行为,请参阅配置每条消息的短信或彩信后备。
邮件大小和数量限制
| 限制 | 值 |
|---|---|
| 短信正文 | 3,072 个字符 |
| 丰富的卡牌标题 | 200 个字符 |
| 丰富的卡片描述 | 2000 个字符 |
| 媒体文件大小 | 100 MB |
| 媒体网址长度 | 2000 个字符 |
| 每条留言的建议 | 11 |
| 每张卡片的建议 | 4 |
| 建议显示文本 | 25 个字符 |
| 回发数据 | 2,048 个字符 |
| 旋转木马卡 | 2 到 10 张牌 |
| Time-to-live | 1 秒到 172,800 秒(48 小时) |
有关所有内容类型的 RCS 限制和限制,请参阅消息传递限制和限制。
投递事件和收件人操作
AWS最终用户消息会生成报告邮件传送状态和收件人操作的事件,包括已送达、已读、失败、过期和回发事件。当收件人选择建议并包含该PostbackData值时,就会生成回发事件。将这些事件路由到亚马逊 SNS 主题、亚马逊 Data Firehose 传输流或亚马逊日志。 CloudWatch 有关更多信息,请参阅 RCS 消息事件。
最佳实践
将丰富的 RCS 消息设计成对话式的交互式体验。TimeToLive为时间敏感的内容(例如一次性密码)设置一个,为即使收件人的设备不支持 RCS 也必须到达的消息配置短信或彩信回退,建议标签要简短(限制为 25 个字符),并在其中包含结构化标识符,PostbackData这样您的应用程序就可以在不进行额外查找的情况下路由响应。有关详细指导,请参阅RCS 最佳实践。