• 覆盖 228 个目的地
  • 始终无需 KYC
  • 支持 Bitcoin、Monero、USDT 等 7 种币种

事务型流量

通过短信发送 OTP 验证码,
趁用户仍在等待时送达。

每个验证码发送一次 POST,并标记为事务型,使其在任何时段都能发出;有效期与验证码寿命相同,幂等键确保重试绝不会重复发送。

01简要说明

要使用 SMSMeteor 发送 OTP 验证码,请调用 POST /v1/messages:号码使用 E.164 格式,短信以您的品牌开头并包含验证码,将 validity 设为验证码的有效期,并将 window.quiet_hours 设为 bypass。响应中会包含价格,message.delivered webhook 会确认送达,通常只需几秒。

开设账户无需身份验证,从第一条到第一百万条验证码,都按目的地适用相同费率。

推荐设置

流量类型
事务型,不受静默时段限制
API 调用
POST /v1/messages,每个验证码调用一次
有效期
5 到 10 分钟(默认为 48 小时)
长度
一个分段;中文使用 Unicode,纯拉丁文本使用 GSM-7;不含链接
重试
使用同一个 Idempotency-Key,绝不发送第二个验证码
确认方式
message.delivered webhook 或状态轮询

02使用流程

从零开始,只需 4 步即可送达。

  1. 01创建密钥

    为签发验证码的服务创建仅限发送权限的 API 密钥;如果服务运行在固定服务器上,请设置 IP 允许列表。测试密钥可让您无需余额就搭建完整流程。

  2. 02发送验证码

    品牌在前,验证码其次,有效期最后。控制在一个分段。将 validity 设为验证码寿命,并把短信标记为事务型。

  3. 03监听结果

    delivered 事件完成闭环;如果 failed 事件说明号码未知,您的界面应要求用户提供其他号码,而非继续提供重发选项。

  4. 04保护端点

    按号码、IP 和账户限制请求速率,并在第二次请求后要求完成验证。向有效号码大量发送短信会产生费用。

03关键事项

什么决定验证码能否及时送达

用户能否及时看到验证码取决于三点:线路、格式和时段。线路由我们负责:为每个目的地使用经过实测的线路,事务型流量绝不会排在群发任务之后。格式由您决定:文本应简短,中文使用 Unicode,纯拉丁文本可使用 GSM-7;并在开头写明品牌,因为在美洲以及要求注册发件人的地区,收件人看到的是号码而非您的名称。时段则由事务型标记处理,使短信能在当地营销时段之外发出。

验证码短信中不要放链接。运营商对含链接验证码的过滤比任何其他模式都严格,而在用户看来,被过滤的验证码与产品故障毫无区别。

04实际操作

不会白白消耗余额的重发逻辑

允许用户在 30 秒后再次请求,之后依次等待 60 秒、120 秒。签发新验证码时使旧验证码失效。使用用户和尝试次数构建幂等键,这样您一侧发生超时时可以安全重试。webhook 报告因号码未知而失败时,请停止提供重发:问题在号码,不在网络。

按目的地衡量从验证码发出到用户输入的转化率。这比任何回执都更能说明实际送达,因为它同时涵盖了手机、通知和用户本人。

05费用

10,000 条消息,按目的地计价。

每条消息一个分段,按今日公开费率计算。无论发送一条还是一百万条,单价相同;无套餐、无设置费、无月费。

费率表最后更新于 2026年9月22日

目的地每条短信费率10,000 条消息
美国$0.0084$84.00
英国$0.0130$130.00
印度$0.0256$256.00
巴西$0.0042$42.00
尼日利亚$0.0326$326.00
德国$0.0238$238.00

其他目的地:费用计算器

06有效的消息示例

查看它在手机上的显示效果,以及请求中的写法。

品牌在前,尽早出现验证码,不含链接,一个分段。

METEOR事务型消息
ACME:您的验证码是 493 201,10 分钟后失效。我们绝不会向您索要此验证码。
43 个字符1 个分段,Unicode(UCS-2)
cURLPOST /v1/messages
curl https://api.smsmeteor.com/v1/messages \
  -H "Authorization: Bearer $SMSMETEOR_KEY" \
  -H "Idempotency-Key: otp-user-8841-attempt-1" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+14155550142",
    "from": "ACME",
    "text": "ACME:您的验证码是 493 201,10 分钟后失效。",
    "validity": 10,
    "window": { "quiet_hours": "bypass" },
    "campaign": "otp-login"
  }'

07常见问题

我们常见的三个错误,以及避免方法。

  • 验证码短信中的链接

    这是短信中最容易被过滤的模式。把验证码直接写在文本中,不要加入可点击内容。

  • 10 分钟验证码使用默认有效期

    验证码过期后才送达只会带来支持工单。请将 validity 设为验证码寿命。

  • 每次重试都使用新的幂等键

    这会发出两个验证码。重复同一次尝试时复用原键;只有用户请求新验证码时才更换。

09常见问题解答

通过短信发送 OTP 和验证码:常见问题。

OTP 短信多快可以送达?

在线路运行正常时,API 调用后几秒内验证码即可到达手机。事务型短信不会排在群发任务之后;状态页面会公布送达延迟,供您查看当前数据。

可以在夜间发送 OTP 验证码吗?

可以。将 window.quiet_hours 设为 bypass,短信就会按事务型处理,在所有目的地立即发出。静默时段只会暂缓营销流量。

验证码会把我的品牌显示为发件人吗?

在支持按原样显示字母数字发件人的目的地会显示。在美洲、中国及要求注册的国家和地区,收件人看到的是号码,因此品牌应写在短信开头。每个国家和地区页面都会说明相关规则。

一条 OTP 短信多少钱?

按目的地公布的单个分段费率计费,例如发送到美国为 $0.0084,发送到印度为 $0.0256。不收单次验证费或月费。

发送验证码需要验证公司吗?

不需要。只凭电子邮件地址即可开设账户。我们检查的是内容:验证码可以发送,冒充银行或公共服务机构则不允许。

如何防止机器人通过验证码端点耗尽余额?

请在您一侧按号码、IP 和账户限制速率,在第二次请求后增加验证,并拒绝您不提供服务的目的地。不支持的号码前缀会免费拒绝,但发送到有效号码的短信会计费。