首页 / 语音服务
语音验证码(电话播报)

语音验证码 API
用户收不到短信时,用电话把验证码念给他听

验证码的第二条通道:手机短信被拦截、号码在短信黑名单、运营商通道波动时, 用一通电话把验证码念出来,明显提升验证码的最终触达率。按条计费、失败不扣费。

1 个接口
POST /api/voice/v2
按条计费
受理成功才扣
失败不扣
上游拒绝即退还
验证码自管
平台不存储不校验
curl -X POST https://jh.fzywl.cn/api/voice/v2 \
  -H "Authorization: Bearer {API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"mobile":"13800138000","code":"123456"}'

// 返回
{"code":0,"msg":"success","data":{"call_id":456,"status":"success","deducted":true}}

核心能力

和短信接口一样简单:传手机号 + 验证码,剩下的事情(外呼、播报、计费、日志)平台处理。

电话播报验证码

把 4~6 位数字用语音念给用户,无需用户做任何操作,接听即得。

短信的最佳兜底

短信发不出去(拦截/黑名单/通道波动)时自动或手动切语音,验证码成功率显著提升。

验证码你自己管

验证码由你生成、你校验,平台只负责"念出来",不存储、不校验你的验证码。

双通道可选

v1 / v2 两条上游通道互为备份,价格独立配置;当前推荐使用 v2。

结果可查可回调

返回 call_id 可查询状态;配置回执地址后结果自动推送,失败自动重试。

防骚扰设计

同号频次限制 + 测试接口手机号白名单,避免被用来"电话轰炸"。

使用建议

语音是按条计费的,用对场景才划算。

务必提醒你的用户关闭电话拦截:语音验证码是陌生来电,被手机管家 / 运营商的「骚扰拦截」拦下时根本不会响铃——而语音按条计费,接不到一样扣费。
通道限制(上游原样返回,失败不扣费):
· v2:同一号码 30 秒 1 条 / 1 小时 3 条 / 24 小时 5 条;
· v2:中国大陆号码每天 22:00 ~ 次日 7:30 禁止发送语音验证码;
· v1:上游通道暂停中(调用返回 503,不扣费),请使用 v2。

计费与规格

项说明
计费方式上游受理成功扣 1 条额度;被上游拒绝 / 通道故障不扣费
产品与 Keyv1、v2 是两个独立产品,Key 类型分别为 voice_v1 / voice_v2,价格可分别定价
支持范围国内号码可传 11 位;国际号码带国家码(如 +8613800138000),实际可达以通道为准
套餐价格见服务与价格

四步接入

和短信接入流程完全一致,Key 换成语音类型即可。

注册账号
手机号或邮箱注册,登录控制台。
购买语音套餐
在「计费与套餐」选购 v2 语音套餐。
生成 API Key
生成 voice_v2 类型 Key。
调用接口
POST /api/voice/v2,传手机号与验证码。

常见问题

语音和短信应该怎么配合?
推荐:先发短信,用户点「收不到短信」或超过 N 秒未完成验证时,自动调用语音接口兜底;两条通道互不冲突,各自独立计费。
为什么返回 503?
说明该通道上游故障维护中(当前 v1 通道处于此状态),不会扣费。请改用 v2 通道。
返回成功但用户没接到电话?
先确认用户手机是否开启了骚扰拦截;再用 call_id 查询状态或看回执推送里的上游返回。
在线测试为什么要先认证手机号?
语音是真实外呼,为防止平台被用来骚扰他人,测试接口要求先用短信认证号码归属(认证过的号码以后不用再认证)。该限制只作用于测试接口,正式接口不受影响。

给你的验证码加一条兜底通道

注册后在测试页填自己的 Key 与手机号,就能真实外呼一次。

免费注册 在线语音测试 接口文档