1 标准语音验证码接口请求方式

使用默认的语音内容:您的验证码是xxxx。语音验证码API访问的地址见Base URL。

1.1 Base URL

生产环境的Base URL:https://app.cloopen.com:8883

注意:为了确保数据隐私,云通讯平台的REST API是通过HTTPS方式请求。

1.2 业务流程说明

1.3 统一请求包头

URL格式:/2013-12-26/Accounts/{accountSid}/Calls/VoiceVerify?sig={SigParameter}

在URL格式中 {}内的内容表示为参数,非{}的内容固定不变。

属性说明:

属性 类型 约束 说明
accountSid
String 必选
开发者主账户ACCOUNT SID。(登陆官网在管理控制台获取)
SigParameter
String 必选

REST API 验证参数,生成规则如下

1.使用MD5加密(账户Id + 账户授权令牌 + 时间戳)。其中账户Id和账户授权令牌根据url的验证级别对应主账户。

时间戳是当前系统时间,格式"yyyyMMddHHmmss"。时间戳有效时间为24小时,如:20140416142030

2.SigParameter参数需要大写,如不能写成sig=abcdefg而应该写成sig=ABCDEFG

1.4 HTTP标准包头字段(必填)

Accept:application/xml;
Content-Type:application/xml;charset=utf-8;
Content-Length:256;
Authorization:

属性说明:

属性 类型 约束 说明
Accept
String 必选 客户端响应接收数据格式:application/xml、application/json
Content-Type
String 必选 类型:application/xml;charset=utf-8、application/json;charset=utf-8
Content-Length
String 必选 Content-Length
Authorization String 必选

验证信息,生成规则详见下方说明

1.使用Base64编码(账户Id + 冒号 + 时间戳)其中账户Id根据url的验证级别对应主账户

2.冒号为英文冒号

3.时间戳是当前系统时间,格式"yyyyMMddHHmmss",需与SigParameter中时间戳相同。


1.5 请求包体

属性 类型 约束 说明
appId String 必选 应用Id
verifyCode String 必选 验证码内容,为数字和英文字母,不区分大小写,长度4-8位
to String 必选

接收号码,被叫为座机时需要添加区号,如:01052823298;被叫为分机时分机号由'-'隔开,如:

01052823298-3627

displayNum String 可选 显示主叫号码,显示权限由服务侧控制。
playTimes String 可选 循环播放次数,1-3次,默认播放1次。
respUrl String 可选 语音验证码状态通知回调地址(必须符合URL规范),云通讯平台将向该Url地址发送呼叫结果通知。
lang String 可选 播放的语言类型(暂不支持设置en,默认zh)。取值en(英文)、zh(中文),默认值zh。
userData String 可选 第三方私有数据,可在语音验证码状态通知中获取此参数。
welcomePrompt String 可选

wav格式的文件名,欢迎提示音,在播放验证码语音前播放此内容,配合verifyCode使用,默认值

空。语音文件通过官网上传审核后才可使用,放音文件的格式样本如

下:位速 128kbps,音频采样大小16位,频道 1(单声道), 音频采样级别 8 kHz,音频格式

PCM,这样能保证放音的清晰度。

maxCallTime String 可选 该通通话最大通话时长,到时间自动挂机

1.6 默认语音模板的XML请求示例

 POST /2013-12-26/Accounts/abcdefghijklmnopqrstuvwxyz012345/Calls/VoiceVerify?sig=
 C1F20E7A9733CE94F680C70A1DBABCDE HTTP/1.1
 Host:192.168.0.1:8883
 content-length: 139
 Accept:application/xml;
 Content-Type:application/xml;charset=utf-8;
 Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmODA3MjAwN2M6MjAxMzAyMDExNTABCDE=
 
 <?xml version='1.0' encoding='utf-8'?>
  <VoiceVerify>         
   <appId>abcdefghijklmnopqrstuvwxyz123456</appId>
   <verifyCode>0708</verifyCode>
   <playTimes>2</playTimes>
   <to>13811234567</to>
   <displayNum>01052821234</displayNum>
   <welcomePrompt>huanying.wav</welcomePrompt>
   <maxCallTime>60</maxCallTime>
  </VoiceVerify>
            

用户收听的效果是:"huanying.wav+您的验证码是0708"

1.7 默认语音模板的JSON请求示例

 POST /2013-12-26/Accounts/abcdefghijklmnopqrstuvwxyz012345/Calls/VoiceVerify?sig=
 C1F20E7A9733CE94F680C70A1DBABCDE HTTP/1.1
 Host:192.168.0.1:8883
 content-length: 139
 Accept:application/json;
 Content-Type:application/json;charset=utf-8;
 Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmODA3MjAwN2M6MjAxMzAyMDExNTABCDE=
 
 {"appId":"abcdefghijklmnopqrstuvwxyz123456","verifyCode":"0708","playTimes":"2",
 "to":"01052821234","displayNum":"01052821234","welcomePrompt":"huanying.wav","maxCallTime":"60"}
            

用户收听的效果是:"huanying.wav+您的验证码是0708"

2 响应

此步响应只表明客户的语音验证码请求发送成功,不表明运营商已经呼叫发送验证码成功。

2.1 响应包体

属性 类型 约束 说明
statusCode String 必选 请求状态码,取值000000(成功),可参考错误代码。
callSid String 必选 一个由32个字符组成的唯一电话标识符
dateCreated String 必选 电话的创建时间

2.2 XML响应示例

  HTTP/1.1 200 OK 
 Content-Length: 641 

 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <Response>
   <statusCode>000000</statusCode>
   <VoiceVerify>
     <callSid>a346467ca321c71dbd5e12f627123456</callSid>
     <dateCreated>2013-02-01 15:38:09</dateCreated>
   </VoiceVerify>
 </Response>
            

2.3 JSON响应示例

 HTTP/1.1 200 OK 
 Content-Length: 641 

 {"statusCode":"000000","VoiceVerify":{"dateCreated":"2013-02-01 15:53:06",
  "callSid":" ff8080813c373cab013c94be9fe300c5"}}