专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Open API

分享一下子语音验证码的php开发流程

发布时间:2011-07-03 06:57:16 文章来源:www.iduyao.cn 采编人员:星星草
分享一下语音验证码的php开发流程
首先,根据与云通讯的技术宅沟通,得知测试demo应用是不能用于上线的,因此我还要自己去创建应用和子帐号。应用就不说了,在官网的应用列表创建一个。取出其应用ID就ok了。
创建完应用后我开始写代码了,通过阅读文档我知道要先向云平台发送请求,格式如下:
XML请求示例:
POST https://app.cloopen.com:8883/2013-12-26/Accounts/ff8***13bacd54e***b29a*****03/Calls/VoiceVerify?sig=C1F20E7A9733CE9 HTTP/1.1
Accept:application/xml;
Content-Type:application/xml;charset=utf-8;
Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmODA3MjAwN2M6MjAxMzAyMDExNTABCDE=
 
<?xml version='1.0' encoding='utf-8'?>
<VoiceVerify>         
  <appId>ff*****13bbcb2*****afb******b</appId>
  <verifyCode>1a8d9u</verifyCode>
  <playTimes>2</playTimes>
  <to>008613811234567</to>
    <respUrl>http://123.123.1.0:80/result<respUrl>
</VoiceVerify>


云平台回复的消息,如下:
HTTP/1.1 200 OK 
Content-Length: 641 
 
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Response>
  <statusCode>000000</statusCode>
  <VoiceVerify>
    <callSid>a346467****************7123456</callSid>
    <dateCreated>2014-05-01 15:38:09</dateCreated>
  </VoiceVerify>
</Response>


云通讯的接口文档是:
http://docs.cloopen.com/index.php/%E8%AF%AD%E9%9F%B3%E9%AA%8C%E8%AF%81%E7%A0%81
在这里说明一下,我使用的是PHP开发。由于我很懒,所以我直接在云通讯的demo中找到了phpdemo,本来以为改改就行了,没想到还是遇到了些小麻烦。我先用回拨接口去修改的(因为感觉功能很接近),结果给我返回404,经过和云通讯技术宅了解,原来云通讯分为子账号鉴权和主账号鉴权。其中回拨是子账号鉴权。语音验证码是主账号鉴权。需要在url,sig和包头auth中填主账号和token。OK,继续发扬我的懒惰作风,继续抄!这次用短信的接口修改。这里要注意了,虽然同是主账号鉴权但url最后是不一样的。需要改为Calls/VoiceVerify。
改好代码后测试,终于可以成功拨打语音验证码了,但我的业务还需要知道是否拨打成功了,因此我开始部署我的result接收通知的地址。同样是通过PHP实现。我是偷的云通讯的鉴权demo,直接部署到我的服务器。
保留代码如下:
  //获取POST数据
  $result = file_get_contents("php://input");
  //解析XML
  $xml = simplexml_load_string(trim($result," \t\n\r"));
 
自己写的代码:
$ state = $xml-> state;
If($state == 2){
    //继续套用发送语音验证码请求的代码。
}
 

注:云通讯的示例如下。
POST /{path} HTTP/1.1 
Host: <ip>:<port>
Content-Type: text/plain
Content-Length: <Len>

<?xml version="1.0" encoding="UTF-8"?>
<Request>
    <action>VoiceCode</action>
    <number>13800000000</number>
    <callSid>1307241452320369000100030000002f</callSid>
    <state>0</state>
    <duration>30</duration>
</Request>
 

最后我们向云平台回个向应消息,如下:
HTTP/1.1 200 ok
Date:Wed Nov 9 16:08:57 2011
Content-Length: <len> 
 
<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <statuscode>000000</statuscode>
</Response>



语音验证码通知接口:
http://docs.cloopen.com/index.php/%E8%AF%AD%E9%9F%B3%E9%AA%8C%E8%AF%81%E7%A0%81%E7%8A%B6%E6%80%81%E9%80%9A%E7%9F%A5%E6%8E%A5%E5%8F%A3%E8%AF%B4%E6%98%8E


以上是发的大体流程,在开发中遇到的其他问题:
1.显号功能,我填写了displayNum参数,但是显示的号码不是我填的号码。询问客服后知道显号功能是要配置显号规则的。
2.注意语音验证码回调地址是以respUrl属性为准。应用回调地址是不包含语音验证码的。
------解决方案--------------------
迫切想知道云通讯是什么
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

  • 正式开始学习云计算解决办法

    正式开始学习云计算 RT 我是学JAVA的 由于工作需要开始学习云计算 谢谢各位大神帮助 以下是我的观点 云计...

  • 关于云技术,该如何解决

    关于云技术 谁能给我讲讲云计算到底是嘛东西 ------解决方案-------------------- 云计算(英语:cloud computing),是一种基于互联网...

  • 基于命令行的API函数解释执行工具,该如何解决

    基于命令行的API函数解释执行工具 求:基于命令行的API函数解释执行工具。 也就是能执行API函数的外部CMD命令。 如果没有这样...

  • webAPI和socket相比?该怎么处理

    webAPI和socket相比? 现在各大网站都提供其webAPI给开发者开发应用,如微博API等。但webAPI大多需要授权,而且有些功能还会根据授权的...

  • Facebook开放构架,平台圈地竞争升级解决思路

    Facebook开放构架,平台圈地竞争升级 12月13日,Facebook宣布将把开发平台架构开放给其它社交网站: Facebook 资深平台经理Ami Vora日...

  • 计算机视觉的课程安排,该怎么解决

    计算机视觉的课程安排 我想问一下计算机视觉的研究方向的课程安排有哪些???要详细一点的,谢谢各位了!!! ------解决方案---------------...

  • 求FaceBook开发实例解决办法

    求FaceBook开发实例 rt 对OpenAPI开发不了解,想了解一下…… 不知道怎么入手了解。所以想要个实例看看。 ------解决方案--------...

  • opengl要用到几个库解决办法

    opengl要用到几个库 学过opengl的同学们,我刚上手不久,对许多函数还不是很了解,不知道用GL做一些图形程序时要用到哪些库。起初我只...

  • opengl图形旋转与放缩有关问题

    opengl图形旋转与放缩问题 下面是程序代码的一部分,运行结果是图形不能实现绕形心旋转, 请高手指点一下: // Begin a new triangle ...

  • ~注册facebook API key的有关问题.

    ~~~~~注册facebook API key的问题..... 我的一个桌面应用程序,需要向facebook上面上传图片。是不是需要先注册api key才能访问face...

热门推荐: