PHP代码示例
//接口类型:互亿无线语音验证码接口。 //账户注册:请通过该地址开通账户http://user.ihuyi.com/register.html //注意事项: //(1)调试期间,请仔细阅读接口文档; //(2)请使用 APIID 及 APIKEY来调用接口,可在会员中心获取; //(3)该代码仅供接入互亿无线短信接口参考使用,客户可根据实际需要自行编写; header("Content-type:text/html; charset=UTF-8"); function Post($curlPost,$url){ $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_NOBODY, true); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost); $return_str = curl_exec($curl); curl_close($curl); return $return_str; } function xml_to_array($xml){ $reg = "/<(\w+)[^-->]*>([\\x00-\\xFF]*)<\\/\\1>/"; if(preg_match_all($reg, $xml, $matches)){ $count = count($matches[0]); for($i = 0; $i < $count; $i++){ $subxml= $matches[2][$i]; $key = $matches[1][$i]; if(preg_match( $reg, $subxml )){ $arr[$key] = xml_to_array( $subxml ); }else{ $arr[$key] = $subxml; } } } return $arr; } $target = "http://api.voice.ihuyi.com/webservice/voice.php?method=Submit"; $mobile = '136xxxxxxxx';//手机号码 $post_data = "account=用户名&password=密码&mobile=".$mobile."&content=1125"; //查看用户名 登录用户中心->语音验证码>产品总览->API接口信息->APIID //查看密码 登录用户中心->语音验证码>产品总览->API接口信息->APIKEY $gets = xml_to_array(Post($post_data, $target)); if($gets['SubmitResult']['code']==2){ echo '提交成功'; }
JAVA代码示例
import java.io.IOException; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.methods.PostMethod; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Element; import util.StringUtil; //接口类型:互亿无线语音验证码接口。 //账户注册:请通过该地址开通账户http://user.ihuyi.com/register.html //注意事项: //(1)调试期间,请仔细阅读接口文档; //(2)请使用 APIID 及 APIKEY来调用接口,可在会员中心获取; //(3)该代码仅供接入互亿无线短信接口参考使用,客户可根据实际需要自行编写; public class sendsms { private static String Url = "http://api.voice.ihuyi.com/webservice/voice.php?method=Submit"; public static void main(String [] args) { HttpClient client = new HttpClient(); PostMethod method = new PostMethod(Url); //client.getParams().setContentCharset("GBK"); client.getParams().setContentCharset("UTF-8"); method.setRequestHeader("ContentType","application/x-www-form-urlencoded;charset=UTF-8"); NameValuePair[] data = {//提交短信 new NameValuePair("account", "用户名"),//查看用户名 登录用户中心->语音验证码>产品总览->API接口信息->APIID new NameValuePair("password", "密码"),//查看密码 登录用户中心->语音验证码>产品总览->API接口信息->APIKEY new NameValuePair("mobile", "139xxxxxxxx"),//手机号码 new NameValuePair("content", "1125"), }; method.setRequestBody(data); try { client.executeMethod(method); String SubmitResult = method.getResponseBodyAsString(); //System.out.println(SubmitResult); Document doc = DocumentHelper.parseText(SubmitResult); Element root = doc.getRootElement(); String code = root.elementText("code"); String msg = root.elementText("msg"); String voiceid = root.elementText("voiceid"); System.out.println(code); System.out.println(msg); System.out.println(voiceid); if("2".equals(code)){ System.out.println("短信提交成功"); } } catch (HttpException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
通过POST、 GET 方式进行短信提交,数据编码采用utf-8格式,24小时全天发送。
http://api.voice.ihuyi.com/webservice/voice.php?method=Submit
参数名称 | 参数值描述 | 必填 |
account | APIID(请登录用户中心【语音验证码】-【产品纵览】查看) | 是 |
password | 1、APIKEY(请登录用户中心【语音验证码】-【产品纵览】查看) 2、动态密码(生成动态密码方式请看该文档末尾的说明) |
是 |
mobile | 接收手机号码,只能提交1个号码 | 是 |
content | 验证码(4-6位数字) | 是 |
time | Unix时间戳(10位整型数字,当使用动态密码方式时为必填) | 否 |
format | 返回格式(可选值为:xml或json,系统默认为xml) | 否 |
用户通过http 或 https提交发送短信请求到服务器后,服务器会返回一串xml格式的字符串,SubmitResult结构说明如下:
参数名称 | 类型 | 描述 |
code | int | 返回值为2时,表示提交成功 |
smsid | string | 当提交成功后,此字段为流水号,否则为0 |
msg | string | 提交结果描述 |
示例(成功)
2
提交成功 60495654
示例(失败)
405
用户名或密码不正确 0
code | msg |
0 | 提交失败 |
2 | 提交成功 |
400 | 非法ip访问 |
401 | 帐号不能为空 |
402 | 密码不能为空 |
403 | 手机号码不能为空 |
4030 | 手机号码已被列入黑名单 |
404 | 语音内容不能为空 |
405 | 用户名或密码不正确 |
4050 | 账号被冻结 |
4051 | 剩余条数不足 |
4052 | 访问ip与备案ip不符 |
406 | 手机格式不正确 |
407 | 短信内容含有敏感字符 |
4070 | 语音验证码内容必须为4-6位数字 |
408 | 您的帐户疑被恶意利用,已被自动冻结,如有疑问请与客服联系。 |
http://api.voice.ihuyi.com/webservice/voice.php?method=Submit&account=APIID&password=APIKEY&mobile=手机号码&content=1125
code | msg |
0 | 提交失败 |
2 | 提交成功 |
400 | 非法ip访问 |
401 | 帐号不能为空 |
402 | 密码不能为空 |
403 | 手机号码不能为空 |
4030 | 手机号码已被列入黑名单 |
404 | 语音内容不能为空 |
405 | 用户名或密码不正确 |
4050 | 账号被冻结 |
4051 | 剩余条数不足 |
4052 | 访问ip与备案ip不符 |
406 | 手机格式不正确 |
407 | 短信内容含有敏感字符 |
4070 | 语音验证码内容必须为4-6位数字 |
408 | 您的帐户疑被恶意利用,已被自动冻结,如有疑问请与客服联系。 |
code | msg |
2 | 查询成功 |
400 | 非法ip访问 |
401 | 帐号不能为空 |
402 | 密码不能为空 |
405 | 用户名或密码不正确 |
4050 | 账号被冻结 |
语音通知接口一般采用http和webservice方式进行调用。使用语音通知http接口的效率比较高一些,它支持客户/服务器模式,运行速度很快,而webservice遇到一些比较复杂麻烦的数据类型时,处理起来更加有效。短信平台通常会将语音通知能力进行API封装,开发者仅需拷贝几行代码,即可在网站、APP、系统中轻松实现语音验证码、语音通知等短信内容的自动化发送。开发者用户可以通过不同开发语言,如node.js进行语音通知接口开发。一般短信平台提供的语音通知发送服务,可支持全国移动、联通、电信手机号码,免除运营商之间不同通讯协议的烦恼。为了更方便开发者进行语音通知接入,短信平台会预先为开发者提供各语言的DEMO示例供开发者使用,仅需少量代码即可创建语音通知API请求。
语音通知基于三大运营商的身份认证能力,被广泛应用于互联网、金融、电商、游戏等多个领域,按照应用的属性,语音短信又分为语音验证码和语音通知两种,语音验证码通常应用于与身份认证相关的场景中,例如账号注册、账号登录、支付确认,企业通过node.js接口即可接入,语音通知通常应用于会员通知相关的场景中,常见于物流、交通、互联网等行业,值得注意的是,语音通知不具备营销能力,也不可能发送营销相关的信息。
现代企业对语音通知的应用越来越重视,其在游戏、广告、教育、五金、制造、卫浴等多个领域都有举足轻重的作用,企业通过语音验证码解决用户在登录、注册、支付等场景中的安全验证问题,为企业完善客户安全系统做出了卓越贡献。
语音验证码的出现极大地简化了用户注册登陆的流程,再过去,用户注册一个账号往往需要填写非常繁琐的资料,这往往会花费用户十多分钟的时间,但现在,用户注册账号通常只需要一个验证码,以往需要实际分钟才能完成的认证步骤现在只需要几十秒,短信基于三大运营商的身份认证能力可以确保信息的安全正确,在确保安全等级没有降低的情况下,大大优化了注册登陆的流程,深受企业及用户的喜爱。
企业用户对接短信流程非常简单,过程顺畅的话通常半个小时即可对接完成,在进行技术对接之前,用户需先注册短信平台账号,领取测试短信,随后即可进行技术对接,互亿无线提供完善的node.js短信接口,如有疑问,也可寻求免费的技术支持,接入服务测试跑通之后,用户只需完成企业注册,充值账户即可正式上线服务。
WebSercive是一种常用的短信接口形式,这种接口的使用形式和HTTP接口有一定的相似性,接入这种服务的产品可以像调用函数一样,想要集成短信接口服务,普遍需求用户有自己的产品,同时具有一定的技术开发实力,接入之后,产品可以根据不同的情况自动发送短信。
想要了解更多关于node.js实现语音通知功能的相关内容,请点击查看助文档,十分钟即可快速接入语音短信服务。
150,000家
企业客户
20年
行业经验
2V1
2对1客户支持