话单推送

1、使用场景:

        若企业需要实时获取话单,可以通过本接口实现。企业事先提供一个话单回调地址,通话结束后,天地平台将调用该地址,通知本次通话的详细信息。

2、请求地址:

企业提供话单通知地址 https://{请求地址}?sign={sign}

3、请求验证:

sign为畅联生成的签名数据,合作企业通过验证该参数是否正确,来判断请求是否为来自畅联云平台的合法请求。sign签名的生成规则如下:

sign=MD5(callee_show_num=4001234567-1234&caller_num=18888888888&partner_call_id=201605161558 33000010&partner_id=123&ts=1234567891011&partner_key=6d04cfdf96506d32ed809ec86baaf37d)

除ts和partner_key外参数按照首字母顺序(首字母相同则比较第二个字母,以此类推)排序,将ts和partner_key参数拼接到最后,生成待加密字符串,然后将字符串md5加密,生成32位加密sign。

现测试partner_key统一规定为”6d04cfdf96506d32ed809ec86baaf37d”。

线上partner_key由平台生成,在管理系统首页查看,禁止对外泄露partner_key值,禁止在参数中传递partner_key值。

4、请求参数:

属性 类型 约束 说明
accountid Integer 必选 账户标识
appid String 必选 应用标识
callid String 必选 通话唯一标识
calltype Integer 必选 通话类型
callernum String 必选 本次通话的主叫号码
calleenum String 必选 本次通话的被叫号码
callershownum String 必选 主叫外显号码
calleeshownum String 必选 被叫外显号码
startdate String 必选 本次通话的开始时间
answertime String 必选 被叫接听时间
enddate String 必选 本次通话的结束时间
result Integer 必选 本次通话的结果,见结果状态码说明
soundurl String 可选 录音文件通话地址,本次通话的录音文件地址(可能无录音)
calldata String 可选 通话随路数据
callduration Integer 必选 被叫通话时长,单位为秒
billduration Integer 必选 主叫通话时长,单位为秒
cost double 必选 本次通话产生的费用,单位为元
productionid Integer 必选 业务标识
partner_id Integer 必选 平台企业标识
ts String 必选 unix时间戳,精确度:毫秒

5、请求实例:

POST url/notifyCRD?sig=3504A2F48AB6328BF33AC70302C4A0C0
HTTP/1.1
Host: 192.168.0.1:8883
content-length: 139
Accept: application/json;
Content-Type: application/json; charset=utf-8;
Authorization: ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmODA3MjAwN2M6Mj

{
    "answertime" : "",
    "comid" : 105,
    "appid" : "tdlxtestapp",
    "callid" : "20160817094543030045",
    "calltype" : 6,
    "callerNum" : "01052600200",
    "calleeNum" : "13911900697",
    "callerShowNum" : "13611011221",
    "calleeShowNum" : "4008896163-1111",
    "startdate" : 2016-08-17 09:45:43.0,
    "enddate" : 2016-08-17 09:46:02.0,
    "result" : "44"
    "soundurl" : ""
    "cost" : 0.13,
    "billduration" : 19,
    "callduration" : 0,
    "calldata" : "",
    "productionid" : 5,
    "ts" : "1471414092",
    "partner_id" : 123
}

6、响应结果:

属性 类型 约束 说明
code String 必选 请求状态码,取值200(成功),可参考Rest 错误代码。
msg String 可选 错误原因描述
data String 必选 正确返回数据

7、响应示例:

错误返回:

{
    "
code" : "201",
    "
msg" : "xxxxx",
    "
data" : null
}

code对应不同错误码 msg,对应不同的错误信息提示