- 云片 API 文档
- 开发引导
- 使用场景
- 国内短信 API 列表
- 国际短信 API 列表
- 语音验证码
- 超级短信
- 账户信息
- 行为验证
- OTP
- 短链接工具
- 审核规则
- 文本短信
- 超级短信
- 返回码总体说明
- 云片 API 升级至 2.0 更强大 更安全
- 云片网络通信能力开放平台服务协议
- 其他
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
如何发送语音验证码
本功能可以实现电话呼叫用户手机并播放验证码,默认播放 2 次。如:您的验证码是 1234
一、注册、报备及设置
- 注册云片,在控制台首页获取 APIKEY。
- 开发阶段,建议先关闭IP 白名单, 或将服务器 IP 及本地 IP 均设置在 IP 白名单内。
二、调通语音接口
方法一:直接使用 API
HTTP 头信息:
Accept:application/json;charset=utf-8; Content-Type:application/x-www-form-urlencoded;charset=utf-8;
请求
URL: https://voice.yunpian.com/v2/voice/send.json 注意:海外服务器地址 us.yunpian.com Http Method:POST 支持 https 与 http 两种访问,建议使用 https
请求参数:
参数名 | 类型 | 是否必须 | 描述 | 示例 |
---|---|---|---|---|
apikey | String | 是 | 用户唯一标识 | 9b11127a9701975c734b8aee81ee3526 |
mobile | String | 是 | 接收的手机号、固话(需加区号) | 15205201314 01088880000 |
code | String | 是 | 验证码,支持 4~6 位阿拉伯数字 | 1234 |
callback_url | String | 否 | 本条语音验证码状态报告推送地址。 如推送地址固定,建议在"数据推送与获取”做批量设置。 | http://your_receive_url_address |
display_num | String | 否 | 透传号码,为保证全国范围的呼通率,云片会自动选择最佳的线路,透传的主叫号码也会相应变化。此功能可能因运营商政策随时调整 | 400-089-2617 |
请求示例
/** * 发送语音验证码 * @param apikey 成功注册后登录云片官网,进入后台可查看 * @param code 验证码,支持4~6位阿拉伯数字 * @param mobile 接收的手机号、固话(需加区号) * @return json格式字符串 */ public static String sendVoice(String apikey, String code, String mobile) { Map<String, String> params = new HashMap<String, String>();//请求参数集合 params.put("apikey", apikey); params.put("code", code); params.put("mobile", mobile); return post("https://voice.yunpian.com/v2/voice/send.json", params);//请自行使用post方式请求,可使用Apache HttpClient }
响应
名称 | 类型 | 描述 |
---|---|---|
count | integer | 成功发送的语音呼叫次数 |
fee | double | 扣费金额,单位:元,类型:双精度浮点型/double |
sid | string | 记录 id,32 位的唯一字符串 |
Json 返回示例
{ "count": 1, //成功发送的语音呼叫次数 "fee": 0.05, //扣费金额,一次语音验证码呼叫扣一条 "sid": "931ee0bac7494aab8a422fff5c6be3ea" //记录id,32位的唯一字符串 }
方法二:下载、导入 SDK,并配置。
目前云片提供 JAVA/PHP/Python/C#/Golang 5 种语言 SDK、如果您的编程语言云片未提供 SDK,您可以根据文档自行对接。
SDK 下载地址(JAVA/PHP/Python/C#/GOLANG):去下载
SDK 示例
//初始化clnt,使用单例方式 YunpianClient clnt = new YunpianClient("apikey").init(); //发送语音验证码API Map<String, String> param = clnt.newParam(2); param.put(YunpianClient.MOBILE, "1390********"); param.put(YunpianClient.CODE, "1234"); Result<VoiceSend> r = clnt.voice().send(param); //获取返回结果,返回码:r.getCode(),返回码描述:r.getMsg(),API结果:r.getData(),其他说明:r.getDetail(),调用异常:r.getThrowable() //账户:clnt.user().* 签名:clnt.sign().* 模版:clnt.tpl().* 短信:clnt.sms().* 语音:clnt.voice().* 流量:clnt.flow().* 隐私通话:clnt.call().* //释放clnt clnt.close()
三、实现业务逻辑
- 建议和短信验证码配合使用,默认发送短信验证码,如果用户长时间未收到短信验证码,可以建议用户通过语言验证码完成验证。
四、按需开发功能
- 对语音发送状态做实时监控
如果您需要通过程序对语音的发送状态做实时监控,可以开发“推送/获取状态报告”接口。
- 国外地区使用海外服务器
如海外用户可以调用海外服务器地址us.yunpian.com,获得更快的请求和处理速度。例如使用短信接口时,将sms.yunpian.com替换为us.yunpian.com即可。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论