aws-sms-voice

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

AWS End User Messaging — SMS, Voice, RCS & Notify

AWS End User Messaging — SMS、语音、RCS 与 Notify

Overview

概述

AWS End User Messaging SMS and Voice (the
pinpoint-sms-voice-v2
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:
  1. 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.
  2. 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:
  1. 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.
  2. 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.
  3. 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(即
pinpoint-sms-voice-v2
API)是SMS、语音、RCS Business Messaging以及Notify(OTP)的控制平面与数据平面。本Skill介绍两种最快的上手路径——每种路径都能在约5分钟内让真实手机收到实际消息,无需购买电话号码,也无需完成运营商注册:
  1. 创建RCS测试Agent并发送第一条品牌消息 —— 包含一个品牌化RCS Business Messaging Agent、一台已验证的测试设备,以及一条富媒体出站+入站消息。参见references/hello-rcs-test-agent.md。
  2. 使用Notify发送OTP —— 通过AWS托管的发送身份和预审批模板发送一次性密码短信。参见references/hello-notify-otp.md。
除了上手使用之外,本Skill还通过三个步骤将身份升级到生产环境注册:
  1. 查询目标国家/地区要求的注册类型 —— 查找目标国家/地区和身份类型对应的注册类型及其实时字段集,并与官方文档保持一致。参见references/registration-requirements-by-country.md。
  2. 执行注册生命周期 —— 适用于所有注册类型(包括RCS国家/地区上线)的通用流程(创建、推导字段、填写、提交、轮询、驳回后恢复、重新提交)。参见references/registration-core-engine.md。
  3. 将身份升级到生产环境 —— 退出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
references/
files resolve differently:
  • Loaded through the AWS MCP
    retrieve_skill
    tool.
    Reference files do not exist on the local filesystem. Fetch them via
    retrieve_skill
    with the
    file
    parameter (e.g.,
    file="references/hello-rcs-test-agent.md"
    ). Do NOT
    file_read
    these paths locally — they are not there.
  • Installed locally (e.g.,
    .kiro/skills/aws-sms-voice/
    ). Read references from the local skill directory using the relative paths shown in this file.
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
    读取这些路径——文件不在本地。
  • 本地安装(例如
    .kiro/skills/aws-sms-voice/
    )。使用本文件中显示的相对路径从本地Skill目录读取参考文件。
这仅适用于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 phonehello-rcs-test-agent.md
Send a verification code / OTP to any supported phone, fastest possible pathhello-notify-otp.md
Find out which registration a country needs and what fields it requiresregistration-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
以最快路径向任意支持的手机发送验证码/OTPhello-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
pinpoint-sms-voice-v2
and
sts
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.
  1. Credentials. Run
    aws sts get-caller-identity --region <REGION>
    (pass
    --region
    to use the regional STS endpoint; the global
    sts.amazonaws.com
    endpoint is legacy). If it fails, configure the user's auth (named profile / SSO / access keys —
    --profile <PROFILE>
    on 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.
  2. Least-privilege access. These tasks need a small set of specific
    sms-voice:
    actions in the target account (the reference files enumerate the read/write actions each step uses — for example
    sms-voice:DescribeRcsAgents
    ,
    CreateRcsAgent
    ,
    CreateRegistration
    ,
    CreateNotifyConfiguration
    , and
    SendNotifyTextMessage
    ). Scope the policy to exactly the actions the chosen path uses; do not grant
    sms-voice:*
    or
    *FullAccess
    .
  3. Don't trust the CLI version. Treat any
    Invalid choice '<operation>'
    on a
    pinpoint-sms-voice-v2
    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 stale
    ~/.aws/models/pinpoint-sms-voice-v2/
    override, else upgrade the AWS CLI, with a boto3 fallback.
    AccessDeniedException
    means the identity is missing the required
    sms-voice:
    permissions.
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服务器以获得最佳体验——它以沙箱执行、审计日志和可观测性支持运行大量
pinpoint-sms-voice-v2
和
sts
调用。这并非硬性要求:当MCP服务器不可用时,所有步骤也可通过普通AWS CLI或AWS Agent Toolkit完成。
  1. 凭证。 运行
    aws sts get-caller-identity --region <REGION>
    (传入
    --region
    以使用区域STS端点;全局
    sts.amazonaws.com
    端点为旧版端点)。如果命令失败,请配置用户的身份验证(命名配置文件/SSO/访问密钥——如果使用配置文件,每个命令都需加上
    --profile <PROFILE>
    ),并优先使用带有临时凭证的IAM角色。每个参考文件的“前提条件”部分都包含完整的身份验证、CloudTrail审计和CLI版本更新步骤。
  2. 最小权限访问。 这些任务需要目标账户中一组特定的
    sms-voice:
    操作(参考文件列举了每个步骤使用的读/写操作——例如
    sms-voice:DescribeRcsAgents
    、
    CreateRcsAgent
    、
    CreateRegistration
    、
    CreateNotifyConfiguration
    和
    SendNotifyTextMessage
    )。请将策略的范围精确限定为所选路径使用的操作;不要授予
    sms-voice:*
    或
    *FullAccess
    权限。
  3. 不要依赖CLI版本。 在任何步骤中,若
    pinpoint-sms-voice-v2
    命令出现
    Invalid choice '<operation>'
    错误,请将其视为本地服务模型过时/不完整(而非权限或账户问题)。RCS和Notify参考文件(前提条件3)提供了完整的应急解决方案:清除过时的
    ~/.aws/models/pinpoint-sms-voice-v2/
    覆盖文件,若无效则升级AWS CLI,也可使用boto3作为备选方案。
    AccessDeniedException
    表示身份缺少所需的
    sms-voice:
    权限。
每个参考文件都是自包含的:它会跟踪你收集的ID作为会话状态,在任何提交操作前都会对照服务审计所需的输入,最后包含故障模式表格和清理部分。请按照用户所选路径对应的文件操作,不要自行编排API调用顺序——有多个步骤会静默失败,或依赖必须实时读取的特定服务版本字段集。

Security Considerations

安全注意事项

  • Least-privilege IAM. Scope policies to specific
    sms-voice:
    actions; never use
    *FullAccess
    or
    sms-voice:*
    in production. The reference files enumerate the minimal read/write actions each onboarding path needs.
  • 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
    sms-voice
    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
    AccessDeniedException
    , 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.
  • 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和下游日志中——请将其视为敏感信息,切勿硬编码真实代码。请为
    sms-voice
    API调用启用CloudTrail日志记录,并使用KMS CMK加密CloudTrail日志和CloudWatch日志组。在生产流量上线前,附加带有事件目标(CloudWatch Logs或Kinesis)的配置集以进行投递监控。针对关键安全信号(重复的
    AccessDeniedException
    、异常发送量、支出限额接近阈值)创建CloudWatch告警,以实现主动预警。注册联系字段(邮箱、电话、URL)会提交给合作伙伴审核;请使用真实但非敏感的业务联系方式。
  • 用户同意与退订。 仅向已选择接收消息的收件人发送消息。遵守STOP/退订状态;RCS路径介绍了如何在发送前检查退订列表。测试Agent特意限制仅向已验证的测试设备投递消息——请勿绕过该限制向未同意的号码发送消息。
  • 支出限额与滥用防护。 默认账户支出限额设置得较低是有意为之;请谨慎提高限额并进行监控。Notify对每个目标号码强制执行不可调整的每日上限——请勿尝试绕过该限制。
  • 破坏性清理。 拆解步骤会删除Agent、注册和配置。这些操作不可逆——运行清理前请与用户确认,并且注意在上手流程中RCS Agent默认启用删除保护。

Additional Resources

更多资源