语音验证码

xunzhong.codeCallOut

向指定手机号码发送语音验证码。

优先必读

1: 用户账户Id(accountSID)和用户账户授权令牌(authToken)在哪获取?
提示: 用户登录平台,在导航菜单管理-控制台-开发者主账号下面,
或用户登录平台,在导航菜单管理-体验-功能体验-账号信息下面。(两种获取到账户信息是一样的)
2: 应用ID在哪获取?
提示: 1.如果使用沙箱环境http://sandbox.ytx.net,用户登录平台,在导航菜单管理-体验-功能体验-测试应用下面。
2.如果使用正式环境http://api.ytx.net,用户登录平台,在导航菜单管理-应用管理-应用列表下,若没有应用,需要创建应用。(注:应用上线后,应用ID才有效)
3: 状态回推的相关设置?
提示: (注:沙箱环境http://sandbox.ytx.net,没有相关设置)
在使用正式环境http://api.ytx.net下,用户登录平台,在导航菜单管理-应用管理-创建应用-设置相应的回调地址。
4: IP鉴权地址的相关配置?
提示: (注:沙箱环境http://sandbox.ytx.net,没有相关设置)
在使用正式环境http://api.ytx.net下,用户登录平台,在导航菜单管理-应用管理-创建应用-设置相应的IP白名单。
(注:如测试使用ip白名单,切记将测试主机ip加入到白名单中)
有需要对用户接口发送的服务器进行ip限制,就可以使用ip鉴权进行配置。多个ip使用英文,号分隔。配置空表示不鉴权。
5: 签名sign的加密格式是什么?
提示: MD5加密(账户Id + 账户授权令牌 +时间戳),例如:Sign=AAABBBCCCDDDEEEFFFGGG *时间戳需与Authorization中时间戳相同(时间戳格式:yyyyMMddHHmmss) 注:MD5加密32位,无论大小写
6: 应用验证失败原因(-205)与解决办法?
提示: 1.应用ID与环境不匹配:
①体验里应用ID与沙箱环境http://sandbox.ytx.net使用  ②自己创建的应用的应用ID与正式环境http://api.ytx.net使用
2.设置ip白名单:
①去掉白名单在测试  ②将测试主机ip加入到白名单中

3.应用未开通相应的功能或应用没有上线。

公共参数

请求地址:

环境 HTTP请求地址
正式环境 http://api.ytx.net
沙箱环境 http://sandbox.ytx.net

公共请求参数:

名称 类型 是否必须 描述
accountSID string 云通信平台用户账户Id:对应管理控制台中的 ACCOUNT SID
authToken string 云通信平台用户账户授权令牌:对应管理控制台中的 AUTH TOKEN
version string 云通信API接口版本 目前可选版本:201512
func string 功能所属分类call【语音类】/sms【消息类】/traffic【流量类】/account【账户类】 当前功能属:call
funcURL string 业务功能的各类具体操作分支 当前功能属:CodeCallOut.wx
Authorization string 云通信平台API接口,包头验证信息:base64加密(账户Id + "|" + 时间戳)  说明:时间戳有效时间为24小时 格式"yyyyMMddHHmmss",如:20140416142030
Sign string 云通信平台API接口,API 验证参数 :MD5加密(账户Id + 账户授权令牌 +时间戳)   *URL后必须带有Sign参数,例如:Sign=AAABBBCCCDDDEEEFFFGGG   *时间戳需与Authorization中时间戳相同  注:MD5加密32位,无论大小写

请求参数

名称 类型 是否必须 描述
action string API接口名称,默认值:callOutCode (区分大小写)
appid string 用户登录云通信平台后,所创建的应用编号appid,若想调用当前语音验证码接口,则此应用必须包含有语音验证码功能,否则调用失败。
dst string 验证码接收方的电话号码(只能是一个直线固话或手机,固话前要加区号 例:153****2082)
code string 验证码的内容(支持英文字母和数字)(长度小于20位)。
dstclid string 透传给被叫的号码(此功能暂未开放,目前默认为接收方的电话号码)
voice string 验证码接收方接听后提示音文件。此功能暂未开放,默认为code_callout_default.wav(您的验证码是)。
time string 重复播放验证码的次数,最多播放3次。

响应参数

名称 类型 示例值 描述
statusCode string 0 发送结果错误码
statusMsg string 提交成功 发送结果状态描述
requestId string 2016010000000219 为验证码发送成功后返回的requestId唯一标识

请求包头

1 URL
2 /{version}/sid/{accountSID}/{func}/{funcURL}?Sign={Sign}
3 HTTP标准包头字段
4 Accept:application/json;
5 Content-Type:application/json;charset=utf-8;
6 Authorization:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

报文示例

JSON示例

1 POST /201512/sid/abcdefghijklmnopqrstuvwxyz012345/call/CodeCallOut.wx?Sign=C1F20E7A9733CE94F680
C70A1DBABCDE HTTP/1.1
2 Host:127.0.0.1:46376
3 content-length: 139
4 Accept:application/json;
5 Content-Type:application/json;charset=utf-8;
6 Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmODA3MjAwN2M6MjAxMzAyMDExNTABCDE=
7 {"action":"callOutCode","dst":"13911281234","appid":"ff8080813fc70a7b013fc72312324213",
"code":"158456","time":"3"}

请求示例

.Net

1 string jsonData= "{\"action\":\"callOutCode\",\"dst\":\"13911281234\",
2 \"appid\":\"3215ad6a7d0247ae8b39728b854fa59c\","code":"158456","time":"3"} ";
3 string url = "/call/CodeCallOut.wx";
4 string result = CommenHelper.SendRequest(url, jsonData);
5 备注: SendRequest方法在CommenHelper.cs文件里做了封装。详细介绍请点击这里;完整demo示例,下载

PHP

1 $demo = new ytx();
2 $dst = "13800000000";
3 $code = "112233";
4 $ret = $demo->codecallout($dst, $code, $time);下载

响应示例

JSON示例

1 HTTP/1.1 200 OK
2 Content-Length: 85
3 { "statusCode":"0","statusMsg":"提交成功","requestId":"2016010000000205"}

异常示例

JSON示例

1 HTTP/1.1 200 OK
2 Content-Length: 61
3 {"statusCode":"-2","statusMsg":"缺少必要参数","requestId":""}

错误码示例

错误码 错误描述 解决方案
0 提交成功
-1 号码无效
-2 缺少必要参数 调用接口时,请传入足够的参数
-3 无效action 传入正确的action
-4 无效的JSON 请遵守正确json语法
-100 异常错误 异常错误
-101 参数不合法 传入符合要求的参数
-102 电话号码不合法 传入正确的电话号码
-200 无此用户 登录官网开通服务账号
-201 用户状态失效 登录官网重新激活服务账号
-202 包头验证信息错误 包头验证信息超时,默认有效时间十分钟,请在有效时间内完成请求
-203 AuthToken验证失败 登录官网获取正确的AuthToken
-204 账户余额不足 登录官网充值
-205 应用验证失败 详情请看[优先必读]
未知错误 联系客服,反应相关问题,促进更好的使用体验。