# 发送验证码之前：针对OTP的MobileValidate与BroadNet发送前检查流程

> 发送前检查是在用户输入电话号码到您发送验证码之间的单次查询。它能识别无法接收OTP的号码，标记具有风险模式的号码以增加验证阻力，并选择合适的通道。以下是结合MobileValidate与BroadNet的流程，并为每个结果提供了决策表。

- 规范网址: https://www.broadnet.me/zh/blog/otp-pre-send-check-mobilevalidate-broadnet
- 语言: zh
- 最后更新: 2026-09-27
- 发布方: BroadNet (https://www.broadnet.me)

- 发布日期: 2026-09-27
- 作者: BroadNet Editorial Team

在发送一次性密码之前，请先对号码进行一次查询：进行标准化处理，检查其线路类型和运营商；如果您提供的服务不仅限于短信，还需检查该号码可以接收哪些渠道的消息。当结果为移动号码或未知号码时，默认通过短信发送；当结果为固定电话或免付费电话时，停止发送或提供语音验证码；如果模式看起来存在风险，则增加验证环节。通过处于私人预览阶段的BroadNet品牌 [MobileValidate](https://www.broadnet.me/products/mobilevalidate)，只需一次API请求即可完成检查，随后验证码将通过BroadNet的 [OTP API](https://www.broadnet.me/products/otp) 或 [MyOTP.App](https://www.broadnet.me/products/myotp) 发出，并在不同渠道之间进行自动回退。

## 核心要点

- 一次发送前检查仅需一次查询成本，却能节省一条永远无法送达的消息，或一条助长欺诈模式的消息。
- 线路类型是最有效的单一信号：移动号码继续发送；固定电话、免付费电话和增值服务号码停止发送；VoIP则需进一步检查。
- 未知并不代表失败：请按照您的常规速率限制发送验证码。MobileValidate不会对未知结果收费。
- 短暂的等待可保持注册流程快速：将查询等待时间设置为几秒钟，并将任何仍处于待处理状态的情况视为未知。
- 通道检查（例如Telegram）有助于为已选择该通道的客户选择发送验证码的路径。
- 该检查旨在支持您的欺诈防御；它不能替代速率限制、监控或自动回退。

## 在发送OTP之前，您应该检查什么？

| 检查项 | 检查结果说明 | 来源 |
|---|---|---|
| 格式与有效性 | 输入内容是否为有效号码、是否已标准化为E.164格式，或是否为重复号码 | MobileValidate number_status（有效，invalid_number, 重复） |
| 线路类型 | 移动、固定电话、VoIP、免费电话、付费电话及其他 | MobileValidate运营商查询（beta） |
| 运营商 | 当前网络，对于携号转网号码，则为原网络 | MobileValidate运营商查询（beta） |
| 通道注册 | 该号码是否已注册在您发送验证码的应用上，例如Telegram | MobileValidate消息应用检查 |
| 实时网络状态 | 该线路当前在其归属运营商网络是否可达 | BroadNet [HLR查询](/products/hlr-lookup) |

MobileValidate的运营商查询解释了线路类型为何至关重要：固定电话、免费电话、付费电话、共享成本电话或UAN号码“通常”意味着短信发送会失败或造成无谓的费用；此外，来自VoIP号码或单一小型运营商的注册量激增，是虚假账号创建和短信刷量欺诈的常见模式。

## 该流程的具体步骤是怎样的？

1. 当用户输入号码时，在他们点击“发送验证码”之前，请使用该号码及您需要的检查项（例如运营商以及您发送验证码的应用渠道）调用POST /v1/lookup。
2. 将等待时间设置为几秒钟。API默认等待时间最长为10秒（最多30秒），如果超时，则返回带有待处理检查状态的202；请将待处理状态视为未知。
3. 将下方的决策表应用于结果。
4. 通过所选通道的BroadNet OTP API或MyOTP.App发送验证码，并在通道之间进行自动回退。
5. 将查询结果与验证尝试一同记录，以便日后审查结果。

```
curl https://api.mobilevalidate.com/v1/lookup \
  -H "Authorization: Bearer $MOBILEVALIDATE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"numbers": ["+447700900001"], "checks": ["carrier", "telegram"], "wait": 3}'
```

响应中的每个检查项都包含已注册状态（true、false或表示未知的null）、状态、置信度级别和checked_at；运营商检查会将line_type、运营商和国家信息放入属性中。数字+447700900001是一个MobileValidate测试号码：测试密钥会以固定数据响应，且永不计费。有关完整响应，请参阅 [实时查询](https://mobilevalidate.com/docs/lookups)。

## 您该如何处理每个结果？

| 结果 | 建议操作 |
|---|---|
| line_type移动端 | 通过用户选择的渠道发送验证码 |
| line_type fixed_line，toll_free，premium_rate，shared_cost或uan | 不发送短信；在支持的情况下提供语音验证码，或询问移动号码 |
| line_type VoIP | 应用您的风险策略：额外的验证、降低尝试次数限制或人工审核 |
| number_status invalid_number | 要求用户更正号码；不会发送任何内容或产生费用 |
| 运营商检查结果为未知或待定 | 按您的常规速率限制发送代码 |
| 已在Telegram注册，且用户选择了Telegram | 通过MyOTP.App的Telegram通道发送，并以短信作为自动回退 |
| 在某个小型运营商或号码段上出现大量新注册 | 对该号码段进行限流并审查；查看短信刷量欺诈防御措施 |

将规则保留在您自己的策略引擎中以便进行调整；查询提供的是信号而非结论。一个VoIP号码可能属于真实客户，因此加强验证通常比直接硬拦截更好。

## 查询会减慢注册速度吗？

只要您愿意，这种限制并非强制。在用户仍处于电话号码输入框时运行查询，并使用wait参数进行限制，将待处理的答案视为未知，从而确保代码不会被阻塞。MobileValidate会在每个服务的有效期内按账户缓存答案，且缓存的答案是免费的，因此请求第二个验证码的用户不会触发第二次计费查询。

将查询放在发送步骤之前，而不是整个注册表单之前：如果查询服务无法访问，则直接按您的常规限制发送验证码。

## 它如何与短信刷量和欺诈防御机制相结合？

短信刷量欺诈（人为虚增流量）利用OTP表单向特定号码发送消息，从而让攻击者获得部分费用分成。发送前的线路类型和运营商检查可以剔除那些根本不应接收短信的号码，并使异常集群可视化，但这只是其中一层防御。请针对每个号码、IP地址和设备设置速率限制，限制每个会话的尝试次数，监控目的地组合，并设置消费预警。我们的[短信刷量欺诈与AIT欺诈指南](https://www.broadnet.me/blog/sms-pumping-ait-fraud-2026)涵盖了其他防御层，而[什么是短信刷量欺诈](https://www.broadnet.me/answers/what-is-sms-pumping)则简要解释了该方案。

MobileValidate不提供SIM交换检查。针对高价值操作的账户接管风险，BroadNet在[中东地区的SIM交换与号码验证](https://www.broadnet.me/blog/number-verify-sim-swap-api-middle-east)中涵盖了运营商网络的API。

## 如何选择OTP通道？

提供您的用户信任的通道并记录他们的选择。MyOTP.App通过短信、WhatsApp或Telegram从单个账户发送验证码并具备自动回退功能，而BroadNet OTP API则会在短信、WhatsApp、语音和闪呼之间进行回退。Telegram注册检查可帮助您仅向能够接收该选项的用户展示Telegram选项；短信仍是可触达任何移动号码的保底方案。如需更深入的通道对比，请阅读我们的[多渠道OTP验证指南](https://www.broadnet.me/blog/multichannel-otp-verification-api-2026)。

## 检查费用是多少，是否合法？

MobileValidate按次计费，且仅针对确定的结果计费：未知、不支持的国家、超时、无效及重复结果均免费，缓存命中和测试密钥也免费。当前价格可能会在私人预览期间发生变化，请查看[价格页面](https://mobilevalidate.com/pricing)。请仅针对您需要采取行动的号码进行检查：对同一个号码的每一次额外检查都可能被单独计费。

为了向用户发送验证码而对其提供的号码进行筛查属于防范欺诈行为，MobileValidate的可接受使用政策允许此类行为。根据GDPR，序言第47条规定：“为防范欺诈目的而严格必需的个人数据处理，也构成了相关数据控制者的合法利益”。其他法律可能有所不同，因此请确认您在每个市场的法律依据；此内容仅为一般信息，不构成法律建议。

## 常见问题

### 为什么在发送OTP之前要检查号码？

为了避免为无法送达的验证码付费（例如发送至固定电话或免付费号码）、为了识别与虚假注册和短信刷量欺诈相关的模式，以及为了选择用户可以接收的通道。

### 哪种检查最为重要？

线路类型。移动号码可以接收验证码；固定电话、免付费号码和付费服务号码通常无法接收短信；VoIP号码需要重点关注。

### 如果查询结果为“未知”怎么办？

请使用您的常规速率限制发送代码。MobileValidate不会对未知结果进行计费，且直接拦截未知结果会损害真实用户的体验。

### 查询过程会减慢注册速度吗？

不必。可以在输入号码时运行查询，使用wait参数设置上限，并将待处理的答案视为未知结果。

### 我应该拦截VoIP号码吗？

通常不需要直接拦截。可以将VoIP作为风险信号，用于触发额外验证、降低尝试次数限制或进行人工审核。

### MobileValidate会检查SIM卡换号（SIM swap）吗？

不会。MobileValidate声明不提供SIM卡换号（SIM-swap）检查；这由运营商网络API提供。

### 查询过程会向用户发送任何内容吗？

不。MobileValidate查询绝不会向该号码发送任何短信、电话或电子邮件。

### 哪些BroadNet产品会发送验证码？

BroadNet OTP API支持在短信、WhatsApp、语音和闪呼之间进行自动回退；此外还有MyOTP.App，可通过一个账户以短信、WhatsApp或Telegram的方式进行发送。

我们对以下所有资料的阅读日期均为2026年9月27日。请参阅我们的[编辑标准](https://www.broadnet.me/about/editorial-standards)。

## 来源

- MobileValidate—实时查询（请求字段、等待、结果、缓存），最后更新于2026年9月25日：[mobilevalidate.com/docs/lookups](https://mobilevalidate.com/docs/lookups)。
- MobileValidate—运营商及线路类型查询，最后更新于2026年9月25日：[mobilevalidate.com/services/carrier-lookup](https://mobilevalidate.com/services/carrier-lookup)。
- MobileValidate—OTP及注册欺诈防护用例，访问日期为2026年9月27日：[mobilevalidate.com/use-cases/otp-and-signup-fraud](https://mobilevalidate.com/use-cases/otp-and-signup-fraud)。
- MobileValidate — 事实（不提供的内容、计费），访问日期2026年9月27日：[mobilevalidate.com/facts](https://mobilevalidate.com/facts)。
- MobileValidate — 可接受使用政策，访问日期2026年9月27日：[mobilevalidate.com/legal/acceptable-use](https://mobilevalidate.com/legal/acceptable-use)。
- GDPR序言第47条（合法利益；欺诈预防），访问日期2026年9月27日：[gdpr-info.eu](https://gdpr-info.eu/recitals/no-47/)。
