aws-sms-voice
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseAWS End User Messaging — SMS, Voice, RCS & Notify
AWS End User Messaging — SMS、语音、RCS 与 Notify
Overview
概述
AWS End User Messaging SMS and Voice (the API) is the
control and data plane for SMS, Voice, RCS Business Messaging, and Notify (OTP).
This skill covers the two fastest onboarding paths — each reaches
a real message on a real phone in about five minutes, with no phone-number
purchase and no carrier registration:
pinpoint-sms-voice-v2- Create an RCS test agent and send your first branded message — a branded RCS Business Messaging agent, a verified test device, and a rich outbound + inbound message. See references/hello-rcs-test-agent.md.
- Send an OTP with Notify — a one-time-passcode text through AWS-managed sending identities and pre-approved templates. See references/hello-notify-otp.md.
Beyond onboarding, this skill takes an identity to production registration in three steps:
- Find which registration a country requires — discover the registration type and its live field set for a target country and identity type, reconciled with the official docs. See references/registration-requirements-by-country.md.
- Run the registration lifecycle — the universal engine (create, derive fields, fill, submit, poll, recover from denial, resubmit) shared by every registration type, including RCS country launch. See references/registration-core-engine.md.
- Take an identity to production — exit the SMS sandbox, launch RCS in a country with carrier monitoring and SMS fallback, upgrade Notify to Advanced, and apply production hygiene (keywords, configuration sets, protect configurations). See references/customer-go-to-production-guide.md.
AWS End User Messaging SMS 和 Voice(即 API)是SMS、语音、RCS Business Messaging以及Notify(OTP)的控制平面与数据平面。本Skill介绍两种最快的上手路径——每种路径都能在约5分钟内让真实手机收到实际消息,无需购买电话号码,也无需完成运营商注册:
pinpoint-sms-voice-v2- 创建RCS测试Agent并发送第一条品牌消息 —— 包含一个品牌化RCS Business Messaging Agent、一台已验证的测试设备,以及一条富媒体出站+入站消息。参见references/hello-rcs-test-agent.md。
- 使用Notify发送OTP —— 通过AWS托管的发送身份和预审批模板发送一次性密码短信。参见references/hello-notify-otp.md。
除了上手使用之外,本Skill还通过三个步骤将身份升级到生产环境注册:
- 查询目标国家/地区要求的注册类型 —— 查找目标国家/地区和身份类型对应的注册类型及其实时字段集,并与官方文档保持一致。参见references/registration-requirements-by-country.md。
- 执行注册生命周期 —— 适用于所有注册类型(包括RCS国家/地区上线)的通用流程(创建、推导字段、填写、提交、轮询、驳回后恢复、重新提交)。参见references/registration-core-engine.md。
- 将身份升级到生产环境 —— 退出SMS沙箱、在某一国家/地区上线RCS并配备运营商监控和SMS降级方案、将Notify升级到高级版、落实生产环境规范(关键词、配置集、保护配置)。参见references/customer-go-to-production-guide.md。
Guardrail — where this skill's files live (MCP vs local install)
注意事项 — 本Skill的文件存放位置(MCP 与 本地安装)
This skill can be loaded two ways, and the files resolve differently:
references/- Loaded through the AWS MCP tool. Reference files do not exist on the local filesystem. Fetch them via
retrieve_skillwith theretrieve_skillparameter (e.g.,file). Do NOTfile="references/hello-rcs-test-agent.md"these paths locally — they are not there.file_read - Installed locally (e.g., ). Read references from the local skill directory using the relative paths shown in this file.
.kiro/skills/aws-sms-voice/
This applies only to the skill's own packaged files. User-created artifacts
(brand-assets/, temp files) are always in the user's working directory.
Execute commands using available tools from the AWS MCP server when connected —
it provides sandboxed execution, audit logging, and observability. When the MCP
server is not available, fall back to the AWS CLI or shell as needed.
本Skill有两种加载方式, 文件的解析方式也有所不同:
references/- 通过AWS MCP 工具加载。 参考文件不存在于本地文件系统中。请使用带
retrieve_skill参数的file获取这些文件(例如retrieve_skill)。请勿在本地使用file="references/hello-rcs-test-agent.md"读取这些路径——文件不在本地。file_read - 本地安装(例如 )。使用本文件中显示的相对路径从本地Skill目录读取参考文件。
.kiro/skills/aws-sms-voice/
这仅适用于Skill自身打包的文件。用户创建的产物(brand-assets/、临时文件)始终位于用户的工作目录中。
连接AWS MCP服务器时,请使用其提供的可用工具执行命令——它提供沙箱执行、审计日志和可观测性支持。当MCP服务器不可用时,可根据需求改用AWS CLI或shell。
Choosing a path
选择路径
| You want to… | Go to |
|---|---|
| Send rich, branded messages (cards, logo, two-way) to your own test phone | hello-rcs-test-agent.md |
| Send a verification code / OTP to any supported phone, fastest possible path | hello-notify-otp.md |
| Find out which registration a country needs and what fields it requires | registration-requirements-by-country.md |
| Create and submit a registration of any type (10DLC, toll-free, sender ID, RCS launch, Notify tier) | registration-core-engine.md |
| Take an identity to production (sandbox exit, RCS carrier launch + fallback, Notify Advanced, hygiene) | customer-go-to-production-guide.md |
RCS test agents deliver only to verified test devices and require a short
brand registration (auto-reviewed in minutes). Notify sends to any recipient in
its supported countries immediately, but is limited to AWS-managed OTP templates.
Pick RCS to explore rich messaging; pick Notify for the shortest path to a
production-grade verification text.
| 你想要… | 前往 |
|---|---|
| 向自己的测试手机发送富媒体品牌消息(卡片、logo、双向交互) | hello-rcs-test-agent.md |
| 以最快路径向任意支持的手机发送验证码/OTP | hello-notify-otp.md |
| 了解某一国家/地区需要哪种注册以及所需的字段 | registration-requirements-by-country.md |
| 创建并提交任意类型的注册(10DLC、免费电话、发件人ID、RCS上线、Notify等级) | registration-core-engine.md |
| 将身份升级到生产环境(退出沙箱、RCS运营商上线+降级方案、Notify高级版、规范落实) | customer-go-to-production-guide.md |
RCS测试Agent仅向已验证的测试设备发送消息,且需要完成简短的品牌注册(数分钟内自动审核完成)。Notify可立即向其支持国家/地区的任意收件人发送消息,但仅限于AWS托管的OTP模板。若要探索富媒体消息请选择RCS;若要以最短路径获得生产级验证短信请选择Notify。
Before you start (both paths)
开始之前(两种路径均适用)
The AWS MCP server is recommended for the best experience here — it runs the many
and calls with sandboxed execution, audit logging, and
observability. It is not a hard requirement: every step also works with the plain AWS CLI or the
AWS Agent Toolkit when the MCP server is not available.
pinpoint-sms-voice-v2sts- Credentials. Run (pass
aws sts get-caller-identity --region <REGION>to use the regional STS endpoint; the global--regionendpoint is legacy). If it fails, configure the user's auth (named profile / SSO / access keys —sts.amazonaws.comon every command if a profile is in play) and prefer an assumed IAM role with ephemeral credentials. Each reference file's Prerequisites carry the full auth, CloudTrail-audit, and CLI-freshness steps.--profile <PROFILE> - Least-privilege access. These tasks need a small set of specific
actions in the target account (the reference files enumerate the read/write actions each step uses — for example
sms-voice:,sms-voice:DescribeRcsAgents,CreateRcsAgent,CreateRegistration, andCreateNotifyConfiguration). Scope the policy to exactly the actions the chosen path uses; do not grantSendNotifyTextMessageorsms-voice:*.*FullAccess - Don't trust the CLI version. Treat any on a
Invalid choice '<operation>'command, at any step, as a stale/partial local service model (not a permissions or account problem). The RCS and Notify reference files (prerequisite 3) carry the full reactive resolution: clear a stalepinpoint-sms-voice-v2override, else upgrade the AWS CLI, with a boto3 fallback.~/.aws/models/pinpoint-sms-voice-v2/means the identity is missing the requiredAccessDeniedExceptionpermissions.sms-voice:
Each reference file is self-contained: it tracks the IDs you collect as session
state, audits required inputs against the service before any submit, and ends
with a Failure modes table and a Cleanup section. Follow the file for the
path the user chose rather than improvising the API sequence — several steps fail
silently or depend on service-version-specific field sets that must be read live.
推荐使用AWS MCP服务器以获得最佳体验——它以沙箱执行、审计日志和可观测性支持运行大量 和 调用。这并非硬性要求:当MCP服务器不可用时,所有步骤也可通过普通AWS CLI或AWS Agent Toolkit完成。
pinpoint-sms-voice-v2sts- 凭证。 运行 (传入
aws sts get-caller-identity --region <REGION>以使用区域STS端点;全局--region端点为旧版端点)。如果命令失败,请配置用户的身份验证(命名配置文件/SSO/访问密钥——如果使用配置文件,每个命令都需加上sts.amazonaws.com),并优先使用带有临时凭证的IAM角色。每个参考文件的“前提条件”部分都包含完整的身份验证、CloudTrail审计和CLI版本更新步骤。--profile <PROFILE> - 最小权限访问。 这些任务需要目标账户中一组特定的 操作(参考文件列举了每个步骤使用的读/写操作——例如
sms-voice:、sms-voice:DescribeRcsAgents、CreateRcsAgent、CreateRegistration和CreateNotifyConfiguration)。请将策略的范围精确限定为所选路径使用的操作;不要授予SendNotifyTextMessage或sms-voice:*权限。*FullAccess - 不要依赖CLI版本。 在任何步骤中,若 命令出现
pinpoint-sms-voice-v2错误,请将其视为本地服务模型过时/不完整(而非权限或账户问题)。RCS和Notify参考文件(前提条件3)提供了完整的应急解决方案:清除过时的Invalid choice '<operation>'覆盖文件,若无效则升级AWS CLI,也可使用boto3作为备选方案。~/.aws/models/pinpoint-sms-voice-v2/表示身份缺少所需的AccessDeniedException权限。sms-voice:
每个参考文件都是自包含的:它会跟踪你收集的ID作为会话状态,在任何提交操作前都会对照服务审计所需的输入,最后包含故障模式表格和清理部分。请按照用户所选路径对应的文件操作,不要自行编排API调用顺序——有多个步骤会静默失败,或依赖必须实时读取的特定服务版本字段集。
Security Considerations
安全注意事项
- Least-privilege IAM. Scope policies to specific actions; never use
sms-voice:or*FullAccessin production. The reference files enumerate the minimal read/write actions each onboarding path needs.sms-voice:* - Ephemeral credentials. Assume an IAM role with ephemeral credentials; never embed long-lived access keys in code, config, or environment variables.
- No secrets in messages or fields. OTP codes and message bodies can surface
in CloudTrail and downstream logs — treat them as sensitive and never hardcode
real codes. Enable CloudTrail logging for API calls and encrypt CloudTrail logs and CloudWatch Log groups with a KMS CMK. Attach a configuration set with an event destination (CloudWatch Logs or Kinesis) for delivery monitoring before production traffic. Create CloudWatch alarms on key security signals (repeated
sms-voice, unusual send volumes, spend limit approaching threshold) for proactive alerting. Registration contact fields (email, phone, URLs) are submitted to partner review; use real but non-sensitive business contacts.AccessDeniedException - Consent and opt-out. Only message recipients who have opted in. Honor STOP / opt-out state; the RCS path shows how to check the opt-out list before sending. Test agents intentionally restrict delivery to verified test devices — do not work around that to reach unconsented numbers.
- Spend limits and abuse. Default account spend limits are intentionally low; raise them deliberately and monitor. Notify enforces a non-adjustable per-day cap per destination — do not attempt to bypass it.
- Destructive cleanup. The teardown steps delete agents, registrations, and configurations. They are irreversible — confirm with the user before running cleanup, and note RCS agents have deletion protection enabled by default in the onboarding flow.
- 最小权限IAM。 将策略范围限定为特定的 操作;切勿在生产环境中使用
sms-voice:或*FullAccess。参考文件列举了每一种上手路径所需的最小读/写操作集。sms-voice:* - 临时凭证。 采用带有临时凭证的IAM角色;切勿将长期访问密钥嵌入代码、配置或环境变量中。
- 消息和字段中不得包含机密信息。 OTP代码和消息正文可能会出现在CloudTrail和下游日志中——请将其视为敏感信息,切勿硬编码真实代码。请为 API调用启用CloudTrail日志记录,并使用KMS CMK加密CloudTrail日志和CloudWatch日志组。在生产流量上线前,附加带有事件目标(CloudWatch Logs或Kinesis)的配置集以进行投递监控。针对关键安全信号(重复的
sms-voice、异常发送量、支出限额接近阈值)创建CloudWatch告警,以实现主动预警。注册联系字段(邮箱、电话、URL)会提交给合作伙伴审核;请使用真实但非敏感的业务联系方式。AccessDeniedException - 用户同意与退订。 仅向已选择接收消息的收件人发送消息。遵守STOP/退订状态;RCS路径介绍了如何在发送前检查退订列表。测试Agent特意限制仅向已验证的测试设备投递消息——请勿绕过该限制向未同意的号码发送消息。
- 支出限额与滥用防护。 默认账户支出限额设置得较低是有意为之;请谨慎提高限额并进行监控。Notify对每个目标号码强制执行不可调整的每日上限——请勿尝试绕过该限制。
- 破坏性清理。 拆解步骤会删除Agent、注册和配置。这些操作不可逆——运行清理前请与用户确认,并且注意在上手流程中RCS Agent默认启用删除保护。