

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

# 发送丰富的 RCS 消息
<a name="rcs-rich-messaging"></a>

借助 “AWS最终用户消息” 中的 `SendRcsMessage` API 操作，您可以通过 RCS（富通信服务）向收件人发送丰富的交互式内容。Rich RCS 消息超越了纯文本，还包括富卡片、轮播、媒体文件以及收件人选择采取行动的建议。这些交互式元素将单向通知转变为双向对话体验，例如让收件人无需离开对话即可确认预约、浏览产品目录或共享其位置。

`SendRcsMessage`当您需要提供视觉效果丰富的交互式内容时使用，例如带有图像和操作按钮的产品卡、带有日历建议的预约确认、文件附件或收件人滚动浏览的多项目轮播。每个`SendRcsMessage`请求都包含用于任何文本内容的单独文本正文，并且可以为设备不支持 RCS 的收件人提供可选的 SMS 或 MMS 备用信息。

对于不需要丰富格式的纯文本消息，请改用 `SendTextMessage` API 操作。 `SendTextMessage`仅接受文本内容，这使请求更简单，而且它适用于根据收件人能力自动在 RCS 和 SMS 之间进行选择的消息池。有关更多信息，请参阅 [发送 RCS 消息](rcs-send-message.md)。

**重要**  
您可以在所有支持 RCS 的国家/ `SendRcsMessage` 地区使用 RCS 消息传递。有关当前列表，请参阅[支持驻地协调员制度的国家](rcs-supported-countries.md)。

**Topics**
+ [先决条件](#rcs-rich-messaging-prerequisites)
+ [在 SendTextMessage 和之间进行选择 SendRcsMessage](#rcs-rich-messaging-choosing)
+ [内容类型](#rcs-rich-messaging-content-types)
+ [建议](#rcs-rich-messaging-suggestions)
+ [SendRcsMessage 请求概述](#rcs-rich-messaging-api)
+ [邮件大小和数量限制](#rcs-rich-messaging-limits)
+ [投递事件和收件人操作](#rcs-rich-messaging-events)
+ [最佳实践](#rcs-rich-messaging-best-practices)
+ [文本消息](rcs-text-messages.md)
+ [文件消息](rcs-file-messages.md)
+ [丰富的卡片](rcs-rich-cards.md)
+ [旋转木马](rcs-carousels.md)
+ [建议](rcs-suggestions.md)
+ [消息到期时间](rcs-message-expiration.md)
+ [Per-message 后备](rcs-fallback-per-message.md)
+ [消息事件](rcs-events.md)
+ [入站媒体](rcs-inbound-media.md)
+ [最佳实践](rcs-best-practices.md)
+ [控制台丰富的消息](rcs-console-rich-messaging.md)

## 先决条件
<a name="rcs-rich-messaging-prerequisites"></a>

在发送丰富的 RCS 消息之前，请完成中的 RCS 设置步骤。[RCS 入门](rcs-getting-started.md)除了**处于活动**状态的已注册 AWS RCS 代理外，还要确认以下内容：
+ 要在向正式版收件人发送富内容之前验证富内容，请向您的测试代理添加一台已注册的测试设备并向其发送测试消息。有关更多信息，请参阅 [测试 RCS 消息](rcs-testing.md)。
+ 配置事件目的地（亚马逊 SNS 主题或 Amazon Data Firehose 传送流）以接收传送状态事件。如果您的消息包含建议等交互式元素，则需要事件目的地，因为选择的收件人会作为回发事件传送到您的应用程序。有关更多信息，请参阅 [AWS 最终用户消息 SMS 中的事件目的地](configuration-sets-event-destinations.md)。
+ 如果您配置了短信或彩信后备并发送到存在短信抽水风险的目的地，请关联保护配置以将选择退出和国家/地区规则应用于备用消息。有关更多信息，请参阅 [中的欺诈保护 AWS 最终用户消息 SMS](protect.md)。

## 在 SendTextMessage 和之间进行选择 SendRcsMessage
<a name="rcs-rich-messaging-choosing"></a>

这两个 API 操作都可以通过 RCS 传送消息，但它们的用途不同。 `SendTextMessage`假设每条消息都可以作为 SMS 传送，也可以通过 RCS 传送，这为它提供了更简单的请求合同。 `SendRcsMessage`假设丰富的 RCS 内容并添加`SendTextMessage`不具备的功能，包括媒体和结构化内容类型、带生存时间 (TTL) 的消息过期以及每条消息的短信或彩信后备功能。


**SendTextMessage 相比之下 SendRcsMessage**  

| 能力 | SendTextMessage | SendRcsMessage | 
| --- | --- | --- | 
| 消息内容 | 仅限纯文本 | 文本、文件、富卡片和轮播界面，每种都有可选建议 | 
| 配送渠道 | RCS 或短信 | RCS，带有可选的短信或彩信后备功能 | 
| 频道选择 | Pool 根据收件人功能自动选择 RCS 或 SMS | 首先是 RCS，然后是您配置的短信或彩信回退 | 
| Fallback (回退) | 自动，基于池 | 每条消息都很明确 | 
| 发起身份 | 矿池、电话号码、发件人 ID 或 AWS RCS 代理 | 矿池或 AWS RCS 代理 | 
| 消息到期时间 (TTL) | 否 | 是 | 
| 申请合同 | 更简单。与发送短信和彩信的 API 相同 | 专用 RCS API，具有单独的文本正文和内容类型 | 

当您想要基于池`SendTextMessage`的自动频道选择时，或者当您要以最少的代码更改迁移现有 SMS 工作流程时，可以选择纯文本通知。选择`SendRcsMessage`何时需要富卡片、轮播、媒体文件或建议，何时需要定义每条消息的备用信息，或者何时需要为时效敏感的内容 TTL-based 过期。

## 内容类型
<a name="rcs-rich-messaging-content-types"></a>

该`RcsMessageContent`参数包含一个只有一种内容类型的`Content`对象和一个可选的消息级列表`Suggestions`。您不能在单个请求中组合多种内容类型。


**RCS 内容类型**  

| 内容类型 | 说明 | 更多信息 | 
| --- | --- | --- | 
| TextMessage | 文本正文最多 3,072 个字符，带有可选建议。与 SMS 消息不同，RCS 短信可以包含建议，并作为一条消息传送，而不是分成几段。 | [发送 RCS 短信](rcs-text-messages.md) | 
| FileMessage | 由 HTTPS 或 Amazon S3 网址引用的单个媒体文件（图像、视频、音频或 PDF）。 | [发送 RCS 文件消息](rcs-file-messages.md) | 
| RichCard | 一张结构化卡片，包含可选媒体、标题、描述和最多 4 条建议。 | [发送 RCS 富豪卡](rcs-rich-cards.md) | 
| 轮播 | 一套可滚动的 2 到 10 张卡片，每张卡片都有自己的媒体、文字和建议。 | [发送 RCS 旋转木马](rcs-carousels.md) | 

## 建议
<a name="rcs-rich-messaging-suggestions"></a>

建议是交互式筹码，收件人可以选择采取行动。您可以向任何内容类型添加建议：消息级别的建议适用于整条消息（最多 11 条），卡片级别的建议适用于个人富卡或轮播卡（最多 4 张）。 AWS最终用户消息支持六种建议类型，包括回复、链接和操作，例如拨打电话号码或共享位置。有关建议类型、其参数以及如何接收建议点击的完整列表，请参阅[配置 RCS 建议](rcs-suggestions.md)。

## SendRcsMessage 请求概述
<a name="rcs-rich-messaging-api"></a>

该`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`每条消息配置的。有关完整的回退行为，请参阅[配置每条消息的短信或彩信后备](rcs-fallback-per-message.md)。

## 邮件大小和数量限制
<a name="rcs-rich-messaging-limits"></a>


**RCS 消息限制**  

| 限制 | 值 | 
| --- | --- | 
| 短信正文 | 3,072 个字符 | 
| 丰富的卡牌标题 | 200 个字符 | 
| 丰富的卡片描述 | 2000 个字符 | 
| 媒体文件大小 | 100 MB | 
| 媒体网址长度 | 2000 个字符 | 
| 每条留言的建议 | 11 | 
| 每张卡片的建议 | 4 | 
| 建议显示文本 | 25 个字符 | 
| 回发数据 | 2,048 个字符 | 
| 旋转木马卡 | 2 到 10 张牌 | 
| Time-to-live | 1 秒到 172,800 秒（48 小时） | 

有关所有内容类型的 RCS 限制和限制，请参阅[消息传递限制和限制](sms-limitations.md)。

## 投递事件和收件人操作
<a name="rcs-rich-messaging-events"></a>

AWS最终用户消息会生成报告邮件传送状态和收件人操作的事件，包括已送达、已读、失败、过期和回发事件。当收件人选择建议并包含该`PostbackData`值时，就会生成回发事件。将这些事件路由到亚马逊 SNS 主题、亚马逊 Data Firehose 传输流或亚马逊日志。 CloudWatch 有关更多信息，请参阅 [RCS 消息事件](rcs-events.md)。

## 最佳实践
<a name="rcs-rich-messaging-best-practices"></a>

将丰富的 RCS 消息设计成对话式的交互式体验。`TimeToLive`为时间敏感的内容（例如一次性密码）设置一个，为即使收件人的设备不支持 RCS 也必须到达的消息配置短信或彩信回退，建议标签要简短（限制为 25 个字符），并在其中包含结构化标识符，`PostbackData`这样您的应用程序就可以在不进行额外查找的情况下路由响应。有关详细指导，请参阅[RCS 最佳实践](rcs-best-practices.md)。