======1 单向绑定号码申请接口====== **接口功能描述** 本接口适用于隐私通话业务,单绑场景下称之为AX业务,即A、X两个号码绑定,此接口可以实现真实号码(A)和中间号码(X)之间的绑定关系, 完成绑定后才可以使用中间号码的基本通信能力,一般用于游客状态的用户拨打一个用户A的中间号码进行通话,同时支持A通过拨打X号码来实现 呼叫游客需通过数据网络向云之讯服务器发送游客号码 **请求方法** 请设置成“POST” **请求URL** https://api.ucpaas.com/{version}/Accounts/{accountSid}/safetyCalls/chooseNumber?sig={SigParameter} **绑定接口说明** {| !style="width:100%;" , "text-align:center;" ! |属性 ! |类型 ! |约束 ! |说明 |- |appId |String |必选 |平台配置 |- |caller |String |必选 |主叫号码(必须为11位手机号,号码前加0086,如008613631686024) |- |dstVirtualNum |String |可选 |X 号码;与VirtualType属性配套使用 |- |virtualType |String |可选 |Type=0{客户同步}Type=1{平台分配} |- |name |String |必选 |姓名 |- |cardtype |String |必选 |证件类型{默认填写0;表示证件类型为身份证} |- |cardno |String |必选 |证件号码 |- |maxAge |String |可选 |主叫+虚拟保护号码允许合作方最大cache存储时间(单位秒) |- |cityId |String |必选 |城市区号,比如北京0086755 |- |requestId |String |可选 |字符串最大长度不超过128字节,该requestId在后面话单和录音URL推送中原样带回 |- |record |String |可选 |是否录音,0表示不录音,1表示录音。默认为不录音 |- |statusUrl |String |可选 |状态回调通知地址,正式环境可以配置默认推送地址 |- |hangupUrl |String |可选 |话单推送地址,不填推到默认协商地址 |- |recordUrl |String |可选 |录单URL回调通知地址,不填推到默认协商地址 |- |} **响应参数说明**\\ {| !style="width:100%;" , "text-align:center;" ! |属性 ! |类型 ! |约束 ! |说明 |- | appId | String | 必选 | 平台配置 |- |caller |String |必选 |主叫号码 |- |dstVirtualNum |String |必选 |分配的直呼虚拟中间保护号码 |- |bindId |String |必选 |分配唯一针对中间号码与主被叫号码的唯一绑定Id |- |result |String |必选 |状态回执码{详细请阅3.0章} |- |} Encoding: UTF-8 Http-Method: POST Headers: {Accept=[application/json], accept-encoding=[gzip,deflate], connection=[Keep-Alive], Content-Length=[316], content-type=[application/json;charset=UTF-8], host=[127.0.0.1], Authorization:ZTAzYmM5MTA2YzZlZDBlYWViZmNlOGMzNjhmZGNkNDg6MjAxNDA2MjMxODQ1MjM= { "hangupUrl": "", "appId": "7df01234567841ed816564bb12345678", "requestId": "111111", "caller": "008613900000000", "dstVirtualNum ": " 008613720056199 ", "maxAge": "600", "name": "张三", "cardtype": "0", "cardno": "363333199912221022", “cityId”:”008620” "record": "0", "statusUrl": "", "recordUrl": "" } \\ Response-Code: 200 Content-Type: application/json;charset=utf-8 Headers: {Content-Type=[application/json;charset=utf-8], Content-Length=[163], Date=[Wed, 15 Jun 2016 09:13:58 GMT]} Payload: { "result ":"000000" "errorCode":"000000" "callee":"13611133396" "appId":"7df01234567841ed816564bb12345678", "bindId":"7df01234567841ed816564bb12345678", "dstVirtualNum":"15601000116", "callee":"13611133396" } \\ Response-Code: 200 Content-Type: application/json;charset=utf-8 Headers: {Content-Type=[application/json;charset=utf-8], Content-Length=[22], Date=[Wed, 15 Jun 2016 09:21:54 GMT]} Payload: {" result":""} \\ ======2 单向绑定业务设置接口====== **接口功能** 本接口适用于隐号通话业务,单绑场景下称之为AX业务,并且A通过拨打X号码时,需要通过该接口设置向云之讯隐号平台设置真实被叫号码,来实 现主叫号码A和被叫号码B的通信。 **请求方法** 请设置成“POST” **请求URL** https://api.ucpaas.com/{version}/Accounts/{accountSid}/safetyCalls/setCalleeNumber?sig={SigParameter} **请求消息说明** {| !style="width:100%;" , "text-align:center;" ! |属性 ! |类型 ! |约束 ! |说明 |- |appId |String |必选 |平台配置 |- |bindId |String |必选 |唯一绑定ID |- |callee |String |必选 |被叫号码(必须为11位手机号,号码前加0086,如008613631686024) |- |cityId |String |必选 |城市区号,城市Id格式为 0086+去零区号,比如北京0086755 |- |} **响应参数说明** {| !style="width:100%;" , "text-align:center;" ! |属性 ! |类型 ! |约束 ! |说明 |- |appId |String |必选 |平台配置 |- |result |String |必选 |000000表示成功其他表示失败 |- |} Encoding: UTF-8 Http-Method: POST Headers: {Accept=[application/json], accept-encoding=[gzip,deflate], connection=[Keep-Alive], Content-Length=[316], content-type=[application/json;charset=UTF-8], host=[127.0.0.1], Authorization:ZTAzYmM5MTA2YzZlZDBlYWViZmNlOGMzNjhmZGNkNDg6MjAxNDA2MjMxODQ1MjM= { "appId": "7df01234567841ed816564bb12345678", "ts": "20170214135904517", "requestId": "0086221000123", "msgdgt": "9C3C2D47B094EEBBFC416141CAA10E72", "callee": "008613611133396", "extra": "10", } \\ Response-Code: 200 Content-Type: application/json;charset=utf-8 Headers: {Content-Type=[application/json;charset=utf-8], Content-Length=[163], Date=[Wed, 15 Jun 2016 09:13:58 GMT]} Payload: {"appId":"7df01234567841ed816564bb12345678","result":"000000"} \\ Response-Code: 200 Content-Type: application/json;charset=utf-8 Headers: {Content-Type=[application/json;charset=utf-8], Content-Length=[22], Date=[Wed, 15 Jun 2016 09:21:54 GMT]} Payload: {"appId":"7df01234567841ed816564bb12345678","result":""} \\ ====== 3.单向绑定关系解除接口====== **接口功能** 本接口适用于隐号通话业务,当不再需要真实号码(A)和虚拟号码( X) 之间的绑定关系时,通知云之讯隐号通话平台将真实号码和虚拟号码之 间的绑定关系解除。解绑以后原真实号码用户将无法正常使用虚拟号码的基本通信能力。 **请求方法** 请设置成“POST” **请求URL** https://api.ucpaas.com/{version}/Accounts/{accountSid}/safetyCalls/unbindNumber?sig={SigParameter} **请求消息参数** {| !style="width:100%;" , "text-align:center;" ! |属性 ! |类型 ! |约束 ! |说明 |- |appId |String |必选 |平台配置 |- |bindId |String |必选 |全局唯一 |- |cityId |String |必选 |城市Id格式为 0086+去零区号 |- |} Encoding: UTF-8 Http-Method: POST Headers: {Accept=[application/json], accept-encoding=[gzip,deflate], connection=[Keep-Alive], Content-Length=[316], content-type=[application/json;charset=UTF-8], host=[127.0.0.1], Authorization:ZTAzYmM5MTA2YzZlZDBlYWViZmNlOGMzNjhmZGNkNDg6MjAxNDA2MjMxODQ1MjM= { "appId": "1234b71f7c274b0782173a04509b1234", "bindId": “6babb71f7c274b0782173a04509b1234”, "cityId": "008622", } \\ Response-Code: 200 Content-Type: application/json;charset=utf-8 Headers: {Content-Type=[application/json;charset=utf-8], Content-Length=[22], Date=[Wed, 15 Jun 2016 09:28:39 GMT]} Payload: {"result ":"000000"} \\ Response-Code: 200 Content-Type: application/json;charset=utf-8 Headers: {Content-Type=[application/json;charset=utf-8], Content-Length=[22], Date=[Wed, 15 Jun 2016 09:24:15 GMT]} Payload: {"result":""} ======4.通话话单推送接口====== **接口功能** 推送某个通话话单 **请求方法** 请设置成“POST” **请求URL** 可通过接口传参给定URL地址或者采用配置默认URL **请求消息参数** {| !style="width:100%;" , "text-align:center;" ! |属性 ! |类型 ! |约束 ! |说明 |- |appId |String |必选 |平台分配 |- |callId |String |必选 |通话唯一标识callId,由推送方生成保证全局唯一 |- |requestId |String |必选 |获取被叫真实号码响应中的requestId,原样返回 |- |caller |String |必选 |主叫号码 |- |callee |String |必选 |被叫号码 |- |dstVirtualNum |String |必选 |主叫通讯录直拨虚拟保护号码 |- |callCenterAcceptTime |String |必选 |虚拟保护号码平台收到呼叫时间 |- |startDstCallTime |String |必选 |被叫呼叫开始时间 |- |startDstRingTime |String |必选 |被叫响铃开始时间 |- |dstAcceptTime |String |必选 |被叫接听时间 |- |endCallTime |String |必选 |用户挂机通话结束时间 |- |callEndStatus |String |必选 |通话最后状态: |- |0:未知状态 1:正常通话 |2:查询呼叫转移被叫号异常 |3:呼叫转移被叫未接通 |4:呼叫转移被叫未接听 |- |callerDuration |String |必选 |主叫接通虚拟保护号码到通话结束通话时间 |- |calleeDuration |String |必选 |呼叫转接被叫接通收到200ok到通话结束通话时间 |- |cityId |String |可选 |城市Id,0086+去零区号 |- |bindId |String |必选 |分配唯一针对中间号码与主被叫号码的绑定Id |- |} HTTP/1.1 200 OK Content-Type: text/plain; charset=utf-8 Content-Length: 实际body长度 \\ ======5.通话状态推送接口====== **接口功能** 查询某个呼叫的通话状态 **调用方法** 请设置成“POST” **推送目的地URL** 双方协商好推送目的URL **请求消息参数** {| !style="width:100%;" , "text-align:center;" ! |属性 ! |类型 ! |约束 ! |说明 |- |appId |String |必选 |平台分配 |- |callId |String |必选 |回拨请求响应中返回的callId |- |requestId |String |必选 |回拨请求时请求携带的requestId,原样返回 |- |caller |String |必选 |主叫号码 |- |dstVirtualNum |String |必选 |主叫通讯录直拨虚拟保护号码 |- |callee |String |必选 |被叫号码 |- |userFlag |String |必选 |该路通话中用于区分状态属于主叫/被叫 |- | | | | caller:主叫 callee:被叫,非绑定关系中的主被叫 |- |callStatus |String |必选 |呼叫状态 |- | | | | invite:发起呼叫 ringing:响铃 |- | | | | answered:接听 refused:拒绝 |- | | | | disconnected:正常挂机 failed:呼叫异常 |- |errorCode |String |可选 |sip响应码 |- |timeStamp |String |必选 |状态发生的unix时间戳 |- |bindId |String |必选 |分配唯一针对中间号码与主被叫号码的绑定Id |- |} HTTP/1.1 200 OK Content-Type: text/plain; charset=utf-8 Content-Length: 实际body长度 \\