双向呼叫
xunzhong.dailBackCall根据传入的主叫号码与被叫号码,由系统依次向主叫号码与被叫号码发起呼叫,双方都应答后,开始一对一通话并开始计费。
优先必读
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 | 是 | 业务功能的各类具体操作分支 当前功能属:DailbackCall.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接口名称,默认值:callDailBack(区分大小写) |
appid | string | 是 | 用户登录云通信平台后,所创建的应用的编号appid,若想调用当前模板短信接口,则此应用必须包含有模板短信功能,否则调用失败。 |
src | string | 是 | 第一端号码(只能是一个直线固话或手机,固话前要加区号 例:153****2082) |
srcclid | string | 是 | 第一端外显号码 |
dstclid | string | 是 | 第二端外显号码码 |
dst | string | 是 | 第二端号码(只能是一个直线固话或手机,固话前要加区号 例:188****2082) |
credit | long | 否 | 通话时长限制,单位为秒,必须大于60 |
customParm | string | 否 | 用户自定义参数 (主要可用为商户传给平台的唯一订单编号,本平台不校验订单唯一性,该参数在回调此订单状态时返回) |
srctimeout | string | 否 | 设置第一路电话超时时间 以秒为单位(超过时间第一路挂断) |
dsttimeout | string | 否 | 设置第二路电话超时时间 以秒为单位(超过时间第二路挂断) |
srchintfile | string | 否 | 设置第一路提示文件(文件上传联系相关人员) |
dsthintfile | string | 否 | 设置第二路提示文件(文件上传联系相关人员) |
ringbacktype | string | 否 | 设置第一路彩铃模式,1表示透传彩铃,2表示播放系统彩铃,3表示播放客户自定义彩铃 |
customhintfile | string | 否 | 指定主叫彩铃(与ringback=3配合使用,自定义彩铃文件(文件上传联系相关人员)) |
dstfailhintfile | string | 否 | 设置第二路接听失败给第一路的提示音文件(文件上传联系相关人员) |
srcthresholdfile | string | 否 | 设置第一路到时提示音文件(文件上传联系相关人员) |
srcthreshold | string | 否 | 第一路通话阀值,以秒为单位(决定多长时间播放到时提示音) |
dstthresholdfile | string | 否 | 第二路到时提示音文件(文件上传联系相关人员) |
dstthreshold | string | 否 | 第二路通话阀值,以秒为单位(决定多长时间播放到时提示音) |
iscallstatuscheck | string | 否 | 通话结果识别。为时1则会调用通话结果识别 |
响应参数:
名称 | 类型 | 示例值 | 描述 |
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/DailbackCall.wx?Sign=C1F20E7A9733CE94F68 0C70A1DBABCDE HTTP/1.1 |
2 | Host:127.0.0.1:46376 |
3 | content-length: 132 |
4 | Accept:application/json; |
5 | Content-Type:application/json;charset=utf-8; |
6 | Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmODA3M jAwN2M6MjAxMzAyMDExNTABCDE= |
7 | {"action":"callDailBack","src":"13911281234","dst":"13522855865","appid": "ff8080813fc70a7b013fc72312324213","credit":"3600"} |
请求示例:
.Net
1 | string jsonData= "{\"action\":\"callDailBack\",\"src\":\"18810207016\",\"dst\":\"13911281234\", |
2 | \"appid\":\"3215ad6a7d0247ae8b39728b854fa59c\",\"credit\":\"3600\"} "; |
3 | string url = "/call/DailbackCall.wx"; |
4 | string result = CommenHelper.SendRequest(url, jsonData); |
5 | 备注: SendRequest方法在CommenHelper.cs文件里做了封装。详细介绍请点击这里完整demo示例下载 |
PHP
1 | $demo = new ytx(); |
2 | $dst = "13800000000"; |
3 | $dst = "13900000000"; |
4 | $datas = ['123890', '10']; |
5 | $ret = $demo->dailbackcall($src, $dst, $credit);下载 |
响应示例
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":""} |