======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长度
\\