# 发送能够顺利送达的 OTP 和验证码

> 一次性验证码的消息格式、有效期、重试、后备方案和速率限制，以及关键 API 设置。

更新日期：2026-08-26。难度：高级。作者：SMSMeteor。

## 要点

- 品牌在前，验证码在后，不加链接。
- 有效期应等于验证码寿命，而非 48 小时。
- 标记为事务性以绕过免打扰时段。
- 按号码、IP 和账户限制端点频率。

## 消息

品牌在前，验证码在后，不添加无关内容：ACME：您的验证码是 493 201，10 分钟后过期。这段中文应控制在一个 Unicode 分段内；若使用纯拉丁文本，则应控制在一个 GSM-7 分段内。不要加入链接；运营商过滤带链接验证码的力度高于任何其他模式。验证码应尽量靠前，以便出现在通知预览中。

## API 设置

使用 `"window": { "quiet_hours": "bypass" }` 将流量标记为事务性，使其随时发出。将 `validity` 设置为验证码寿命，例如 10 分钟，而非默认的 48 小时：过期后才送达的验证码只会产生客服问题。根据用户和尝试次数构造 `Idempotency-Key`，确保你方重试不会发送两个验证码。

## 重发逻辑

允许用户在 30 秒后请求新验证码，之后依次等待 60 秒、120 秒。签发新验证码时令旧验证码失效。如果 Webhook 以未知号码为由报告 `message.failed`，应提示用户检查号码，而不是继续提供重发。

## 保护端点

没有限制的验证码端点会不断消耗余额。按号码、IP 和账户限制频率；第二次请求后要求完成验证；拒绝你不提供服务的目的地。API 会免费拒绝不受支持的号段，但向有效号码发起洪泛仍会计费。

## 衡量什么

按目的地衡量从“验证码已发送”到“验证码已输入”的转化。这比任何回执更能反映送达，因为它同时涵盖手机、通知和用户。某目的地的转化率比其他目的地低十个百分点时，应检查其发件人规则。

---
来源：[HTML 页面](https://smsmeteor.com/zh/guides/otp-and-verification-codes)。由 SMSMeteor 使用与页面相同的数据生成。[全站摘要](https://smsmeteor.com/zh/llms.txt)
