话单
零、注意事项:
0.1 格式说明
所有API,若未特殊注明,Content-Type
全部使用 application/json
。
0.2 出参约定格式
如无特殊说明,出参固定为以下格式:
参数 | 类型 | 说明 |
---|---|---|
code | int | 状态码,0 - 成功, 其余为失败 |
message | string | 提示信息 |
data | mixed | 数据 |
data 具体格式见每个接口具体说明
0.3 域名
如果无特殊说明,以下 API 中,所有域名均为: https://autocall.icsoc.net
一、预测式外呼-项目任务话单搜索
1.1 路由
GET/POST /api/v1/cdr/search
1.2 入参
参数 | 类型 | 说明 | 必填 |
---|---|---|---|
searchAfter | string | 下一页标识,需要查询下一页时,需传递此参数 | 否 |
callId | string | 呼叫id | 否 |
projectId | string | 项目id | 否 |
taskId | string | 任务id | 否 |
caller | string | 主叫号码 | 否 |
called | string | 被叫号码 | 否 |
callresult | string | 呼叫结果:0主叫未接通 1仅主叫接通 2双向接通 | 否 |
endresult | string | 挂机结果:11主叫挂机 12坐席挂断 | 否 |
perPage | int | 每页返回多少条记录 | 否 |
startTime | object | 呼叫用户时间,json格式,gte表示大于等于,lte表示小于等于,查询一个时间范围,如:{"gte":"2021-03-23 17:24:35","lte":"2021-03-23 17:24:36"},也可以查询大于等于某个时间,如:{"gte":"2021-03-23 17:24:35"},小于等于类似 | 否 |
1.3 出参
参数 | 类型 | 说明 |
---|---|---|
results | Result[] | 结果 |
searchAfter | string/null | 下一页标识 |
Result 定义
参数 | 类型 | 说明 |
---|---|---|
projectId | string | 项目id |
taskId | string | 任务id |
callId | string | 呼叫id |
caller | string | 主叫 |
called | string | 被叫 |
calledAreacode | string | 被叫区号 |
calledAreaname | string | 被叫地区 |
transPhone | string | 坐席分机号 |
startTimeEe | integer | 呼叫坐席时间 |
ringTimeEe | integer | 坐席振铃时间 |
answerTimeEe | integer | 坐席应答时间 |
endTimeEe | integer | 坐席挂机时间 |
startTime | integer | 呼叫用户时间 |
ringTime | integer | 用户振铃时间 |
answerTime | integer | 用户应答时间 |
endTime | integer | 用户挂机时间 |
ansSecs | integer | 用户应答秒数 |
linkSecs | integer | 用户与坐席通话时间 |
allSecs | integer | 从呼叫用户开始到用户挂机时间秒数 |
callresult | string | 呼叫结果:0主叫未接通 1仅主叫接通 2双向接通 |
endresult | string | 挂机结果:11用户挂机 12坐席挂断 |
1.4 举例
1.4.1 入参
{
"callId": "6780056666542059520",
"projectId": "10008",
"searchAfter":"6780001242530852864",
"taskId":"13",
"caller":"010xxxx4343",
"called":"185xxxx2456",
"callresult":"0",
"endresult":"12",
"perPage":1,
"startTime":{"gte":"2021-03-23 17:24:35","lte":"2021-03-23 17:24:36"}
}
1.4.2 出参
{
"code": 0,
"message": "操作成功",
"request_id": "d335a7e623ed864526f0fa4a91b3b3c4",
"data": {
"results": [
{
"vccId": "782",
"projectId": "10008",
"taskId": "13",
"callId": "6780056666542059520",
"caller": "010xxxx4343",
"called": "185xxxx2456",
"calledAreacode": "0755",
"calledAreaname": "广东 深圳",
"calledType": "MOBILE",
"calledVendor": "MOBILE",
"transCaller": "",
"transPhone": "",
"transAreacode": "",
"transAreaname": "",
"transType": "",
"transVendor": "",
"startTimeEe": 0,
"ringTimeEe": 0,
"answerTimeEe": 0,
"endTimeEe": 0,
"startTime": 1616491476,
"ringTime": 0,
"ansTime": 0,
"endTime": 1616491488,
"ansSecs": 0,
"linkSecs": 0,
"allSecs": 12,
"callresult": "0",
"endresult": "12",
"userData": {
"tag": "autocall",
"extId": "1",// 这个是用户唯一标识
"proid": "10008",
"taskid": "13"
}
}
],
"searchAfter": "6780056666542059520"
}
}
二、cdr 话单推送
该接口为 cdr 话单推送业务接口,需客户提供推送地址。
推送格式为 JSON
推送参数支持加密 签名算法,加密算法,解密算法,详见 附录
2.1 接口
POST 客户提供的推送地址
2.2 推送参数
参数名称 | 类型 | 说明 | 是否必须 |
---|---|---|---|
type | int | 固定值:1 | 是 |
sign | string | 推送签名 | 是 |
timestamp | string | 推送时间(格式Y-m-d H:i:s) | 是 |
data | object/string | 数据,加密时返回类型为 string | 是 |
data.caller | string | 主叫号码 | 是 |
data.called | string | 被叫号码 | 是 |
data.trans_caller | string | 呼叫坐席主叫 | 是 |
data.call_id | string | 呼叫 ID | 是 |
data.trans_phone | string | 呼叫坐席的电话号码 | 是 |
data.call_time | string | 呼叫时间 | 是 |
data.called_areacode | string | 被叫区号 | 是 |
data.called_areaname | string | 被叫地区 | 是 |
data.called_type | string | 被叫号码类型 | 是 |
data.called_vendor | string | 被叫运营商 | 是 |
data.trans_areacode | string | 呼叫坐席的号码区号 | 否 |
data.trans_areaname | string | 呼叫坐席的号码地区 | 是 |
data.trans_type | string | 呼叫坐席的类型 | 是 |
data.start_time_ee | int | 坐席呼叫时间 | 是 |
data.ring_time_ee | int | 坐席振铃时间 | 是 |
data.answer_time_ee | int | 坐席应答时间 | 是 |
data.end_time_ee | int | 坐席结束时间 | 是 |
data.start_time | int | 开始时间 | 是 |
data.ring_time | int | 振铃时间 | 是 |
data.ans_time | int | 应答时间 | 是 |
data.link_time | int | 连接时间 | 是 |
data.end_time | int | 结束时间 | 是 |
data.ans_secs | int | 应答时长 | 是 |
data.link_secs | int | 连接时长 | 是 |
data.all_secs | int | 总时长 | 是 |
data.callresult | int | 呼叫结果 0主叫未接通 1仅主叫接通 2双向接通 | 是 |
data.endresult | int | 11主叫挂机 12被叫挂断 | 是 |
data.user_data | string | 自定义数据 | 是 |
data.record_file | string | 录音url | 否 |
2.3 返回响应
参数名称 | 类型 | 说明 | 是否必须 |
---|---|---|---|
code | int | 0 视为推送成功 | 是 |
返回的 json 中必须包含 code 字段,且值必须为 0 ,否则系统将视为推送失败,失败后,将以 15/15/30/180/1800/1800/1800/1800/3600(单位:秒)的频率重试通知客户端,如果所有的重试完成后仍然失败,则自动放弃通知。
2.4 举例
未加密
{
"type":1,
"data":{
"vcc_id": "782",
"call_id": "6811535818021285888",
"caller": "01212345674",
"called": "156xxxx6818",
"called_areacode": "0376",
"called_areaname": "\u6cb3\u5357 \u4fe1\u9633",
"called_type": "MOBILE",
"called_vendor": "MOBILE",
"trans_caller": "",
"trans_phone": "",
"trans_areacode": "",
"trans_areaname": "",
"trans_type": "",
"trans_vendor": "",
"start_time_ee": "0",
"ring_time_ee": "0",
"answer_time_ee": "0",
"end_time_ee": "0",
"start_time": "1623996691",
"ring_time": "1623996696",
"ans_time": "0",
"link_time": "0",
"end_time": "1623996721",
"ans_secs": "0",
"link_secs": "0",
"all_secs": "30",
"callresult": "0",
"endresult": "12",
"call_context": "mc_transque",
"call_exten": "ivr_in",
"call_vars": "trans_que=660,trans_pro=10195",
"record_file": "",
"user_data": {
"_tag": "autocall:poc",
"ext_id": "buer",
"template_data": null,
"proid": "10195",
"taskid": "7"
},
"trans_agent": []
},
"sign":"1c9cc7470803e5605b88a4132cad021a",
"timestamp": "2021-01-01 00:00:00"
}
加密
{
"type":1,
"data":"tAMpIJPIwcmRXahctUdRZYCBi0RBPqymmx/bPvk0PtdXDaKokoycyaOC0o6ed6l6iCzoGdrySft1qVGeCGnF1X+5j0OPI6MqlZJ3b120jj4NkrbVQ3hwbiYUbv3fMb162qdVo2ku5bWQvGmBzR7UOhkaKVRH7VVXq7CZoCMz9RnuvMC1SVOKSdLABfsCi0Qtxh4llxdsrMMESIm8RxMgYZuTVlW5M0nwIIHZLLu9dcISO94nQ9Y2T89/W/L8FijnWEdowPP2ZsbrfH1lm0UgkJ8FEbI2tRGkCy5TOytH40wZmkXq/bF4lIx574I8i+Nox03PPMx48BzFv25OpfI/4FJvwT6O2cyY2URezai3KdEqnA/QURfHZIeU7klxzA0jSl/jRdRVDFg8ACYoBmC4U43+NY+5VZPDeltJvaVUUFpyv/4LJe/mum6Ofqh+m2ytoUpLIQnDZvCWJqa/g4LHMmu2aPG7LXjUK1nq30l2gakucSNvAvMr8bv8fuelP7/VU8ttPPnr7Zf0fCz2ZEg8R5jNbElym8g7NA5qJev+R7J6oC3IOnwJUDTDO/YMCj4=",
"sign":"1c9cc7470803e5605b88a4132cad021a",
"timestamp": "2021-01-01 00:00:00"
}