1.1. 通话记录
1.1.1. 获取通话记录列表
请求地址
- GET /v1/callLogs
请求参数
参数 | 类型 | 是否可空 | 描述 | |
---|---|---|---|---|
timestamp | Long | false | 时间戳(例:当前秒数,1533092860) | |
sign | String | false | 签名:身份认证签名(DigestUtils.sha1Hex(email&secretKey×tamp)) | |
String | false | 邮箱 | ||
startTime | String | false | 起始时间 | |
endTime | String | false | 结止时间 | |
pageNum | int | false | 页码 | |
pageSize | int | false | 每页数量,默认20,最大100 |
响应参数
参数 | 类型 | 是否可空 | 描述 | |
---|---|---|---|---|
code | String | false | 返回码 | |
message | String | false | 返回消息 | |
visible | boolean | false | 是否可见(暂不使用) | |
data | Object | true | 结果 | |
data.list | Array | true | 结果数组 | |
data.list[].id | int | false | 通话记录id | |
data.list[].createTime | date | false | 时间 | |
data.list[].customerNumber | String | true | 号码 | |
data.list[].province | String | true | 归属地省 | |
data.list[].city | String | true | 归属地市 | |
data.list[].agentName | String | false | 坐席名称 | |
data.list[].duration | int | false | 通话时长 | |
data.list[].result | int | false | 通话结果(1客户接听,2客户未接,3客服未接,4客服拒接,5客服接听) | |
data.list[].ringingDuration | String | true | 响铃时长 | |
data.list[].spNumber | int | false | 中继号 | |
data.list[].callType | int | false | 通话类型(1呼入,2呼出,3自动外呼) | |
data.list[].seatType | int | true | 设备类型(1IP话机,2手机) | |
data.list[].dropSide | int | true | 通话挂断方(1客户,2座席) | |
data.list[].hangupCauseId | int | true | 外呼失败原因 | |
data.list[].callId | int | false | CallID | |
data.list[].customerName | int | false | 关联记录名称 | |
data.list[].businessId | String | true | 关联记录id | |
data.list[].businessLogType | int | true | 关联记录类型(1线索,2客户,3商机,4联系人) |
请求示例
$ curl 'http://localhost:8080/api/v1/callLogs?startTime=2019-01-01 11:11:11&endTime=2019-01-01 11:11:11&email=1@test.cn×tamp=1542192293&sign=123' -i -X GET -H 'Content-Type: application/json'
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 522
{
"code" : 200,
"message" : "OK",
"visible" : false,
"data": {
"list": [
{
"id": 131738,
"createTime": "2019-01-28 18:49:13",
"customerNumber": "15901075490",
"province": 1,
"city": 2,
"agentName": "crm测试2",
"duration": 60,
"result": 1,
"ringingDuration": 8,
"spNumber": "02131204098",
"callType": 3,
"seatType": 2,
"dropSide": 2,
"hangupCauseId": null,
"callId": "0b4e492c-80fa-468a-456c-0f845981530a",
"customerName": "测试ai自定义字段",
"businessId": 15206,
"businessLogType": 2,
"conversationId": "00547cb3-40ce-424d-b6e8-5e0f84bbcf4e"
},
{
"id": 131737,
"createTime": "2019-01-28 18:47:47",
"customerNumber": "15901075490",
"province": 1,
"city": 2,
"agentName": null,
"duration": 0,
"result": 1,
"ringingDuration": 0,
"spNumber": "02131204098",
"callType": 3,
"seatType": 2,
"dropSide": 1,
"hangupCauseId": null,
"callId": "84076a93-3f16-4499-50b3-cab752f69d6d",
"customerName": null,
"businessId": 15206,
"businessLogType": null,
"conversationId": "df4ad224-bf5c-4bba-9325-39b5d35823bf"
},
],
"pageNum": 1,
"pageSize": 20,
"total": 1,
"paging": null
}
}
1.1.2. 获取通话记录详情
请求地址
- GET /v1/callLogs/view
请求参数
参数 | 类型 | 是否可空 | 描述 | |
---|---|---|---|---|
timestamp | Long | false | 时间戳(例:当前秒数,1533092860) | |
sign | String | false | 签名:身份认证签名(DigestUtils.sha1Hex(email&secretKey×tamp)) | |
String | false | 邮箱 | ||
callId | String | false | callId |
响应参数
参数 | 类型 | 是否可空 | 描述 | |
---|---|---|---|---|
code | String | false | 返回码 | |
message | String | false | 返回消息 | |
visible | boolean | false | 是否可见(暂不使用) | |
data | Array | true | 结果 | |
data[].id | int | false | 通话记录id | |
data[].createTime | date | false | 时间 | |
data[].customerNumber | String | true | 号码 | |
data[].province | String | true | 归属地省 | |
data[].city | String | true | 归属地市 | |
data[].agentName | String | false | 坐席名称 | |
data[].duration | int | false | 通话时长 | |
data[].result | int | false | 通话结果(1客户接听,2客户未接,3客服未接,4客服拒接,5客服接听) | |
data[].ringingDuration | String | true | 响铃时长 | |
data[].spNumber | int | false | 中继号 | |
data[].callType | int | false | 通话类型(1呼入,2呼出,3自动外呼) | |
data[].seatType | int | true | 设备类型(1IP话机,2手机) | |
data[].dropSide | int | true | 通话挂断方(1客户,2座席) | |
data[].hangupCauseId | int | true | 外呼失败原因 | |
data[].callId | int | false | CallID | |
data[].customerName | int | false | 关联记录名称 | |
data[].businessId | String | true | 关联记录id | |
data[].businessLogType | int | true | 关联记录类型(1线索,2客户,3商机,4联系人) | |
data[].channelUserType | int | true | 录音用户类型(1用户,2座席,4监听) | |
data[].callLogRecordFoundResponseList | Array | true | 录音数组 | |
data[].callLogRecordFoundResponseList[].recordUrl | String | true | 录音地址 |
请求示例
$ curl 'http://localhost:8080/api/v1/callLogs/view?&callId=123&email=1@test.cn×tamp=1542187894&sign=123' -i -X GET -H 'Content-Type: application/json'
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 522
{
"code" : 200,
"message" : "OK",
"visible" : false,
"data": [{
"id": 573320,
"createTime": "2018-06-23 15:14:51",
"customerNumber": "13716429603",
"province": null,
"city": null,
"agentName": null,
"duration": 25,
"result": 1,
"ringingDuration": 7,
"spNumber": "057126200670",
"callType": 2,
"seatType": 1,
"dropSide": 2,
"hangupCauseId": 1,
"callId": "3ec56e1b-155a-4677-703f-8bb0a4a91e13",
"customerName": null,
"businessId": null,
"businessLogType": null,
"conversationId": "575881",
“channelUserType”:2,
"callLogRecordFoundResponseList":[{
"recordUrl":"werasdfs"
}]
}]
}
1.1.3. 获取外呼挂机原因列表
请求地址
- GET /v1/hangupReasons
请求参数
参数 | 类型 | 是否可空 | 描述 | |
---|---|---|---|---|
timestamp | Long | false | 时间戳(例:当前秒数,1533092860) | |
sign | String | false | 签名:身份认证签名(DigestUtils.sha1Hex(email&secretKey×tamp)) | |
String | false | 邮箱 |
响应参数
参数 | 类型 | 是否可空 | 描述 | |
---|---|---|---|---|
code | String | false | 返回码 | |
message | String | false | 返回消息 | |
visible | boolean | false | 是否可见(暂不使用) | |
data | Array | true | 结果数组 | |
data[].id | int | false | 挂机原因id | |
data[].name | String | false | 挂机原因名称 |
请求示例
$ curl 'http://localhost:8080/api/v1/hangupReasons?&email=1@test.cn×tamp=1542189114&sign=123' -i -X GET -H 'Content-Type: application/json'
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 522
{
"code": 200,
"message": "OK",
"visible": false,
"exception": null,
"paging": {
"pageNum": 1,
"pageSize": 18,
"total": 18
},
"data": [
{
"id": 1,
"name": "关机"
},
{
"id": 2,
"name": "空号"
},
{
"id": 3,
"name": "停机"
},
{
"id": 4,
"name": "占线"
},
{
"id": 5,
"name": "用户拒接"
},
{
"id": 6,
"name": "无法接通"
},
{
"id": 7,
"name": "暂停服务\t"
},
{
"id": 8,
"name": "用户正忙"
},
{
"id": 9,
"name": "拨号方式不正确"
},
{
"id": 10,
"name": "呼入限制"
},
{
"id": 11,
"name": "呼叫转移失败"
},
{
"id": 12,
"name": "网络忙"
},
{
"id": 13,
"name": "无人接听"
},
{
"id": 14,
"name": "欠费"
},
{
"id": 15,
"name": "无法接听"
},
{
"id": 16,
"name": "改号\t"
},
{
"id": 17,
"name": "线路故障"
},
{
"id": 18,
"name": "稍后再拨"
}
],
"extra": null
}
1.1.4. 获取座席最近通话记录列表
请求地址
- POST /v1/callLogs/search
请求参数
参数 | 类型 | 是否可空 | 描述 | |
---|---|---|---|---|
timestamp | Long | false | 时间戳(例:当前秒数,1533092860) | |
sign | String | false | 签名:身份认证签名(DigestUtils.sha1Hex(email&secretKey×tamp)) | |
String | false | 邮箱 | ||
masterUserId | int | false | 当前用户id |
响应参数
参数 | 类型 | 是否可空 | 描述 | |
---|---|---|---|---|
code | String | false | 返回码 | |
message | String | false | 返回消息 | |
visible | boolean | false | 是否可见(暂不使用) | |
data | Array | true | 结果 | |
data[].id | int | false | 通话记录id | |
data[].createTime | date | false | 时间 | |
data[].customerNumber | String | true | 号码 | |
data[].province | String | true | 归属地省 | |
data[].city | String | true | 归属地市 | |
data[].agentName | String | false | 坐席名称 | |
data[].duration | int | false | 通话时长 | |
data[].result | int | false | 通话结果(1客户接听,2客户未接,3客服未接,4客服拒接,5客服接听) | |
data[].ringingDuration | String | true | 响铃时长 | |
data[].spNumber | int | false | 中继号 | |
data[].callType | int | false | 通话类型(1呼入,2呼出,3自动外呼) | |
data[].seatType | int | true | 设备类型(1IP话机,2手机) | |
data[].dropSide | int | true | 通话挂断方(1客户,2座席) | |
data[].hangupCauseId | int | true | 外呼失败原因 | |
data[].callId | int | false | CallID | |
data[].customerName | int | false | 关联记录名称 | |
data[].businessId | String | true | 关联记录id | |
data[].businessLogType | int | true | 关联记录类型(1线索,2客户,3商机,4联系人) | |
data[].channelUserType | int | true | 录音用户类型(1用户,2座席,4监听) | |
data[].callLogRecordFoundResponseList | Array | true | 录音数组 | |
data[].callLogRecordFoundResponseList[].recordUrl | String | true | 录音地址 | |
data[].ivrDuration | int | true | ivr通话时长 |
1.2. 请求示例
$ curl 'http://localhost:8080/api/v1/callLogs/search?email=1@test.cn×tamp=1542192293&sign=123' -i -X POST -H 'Content-Type: application/json' -d ' {
"masterUserId": 1
}'
1.3. 响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 522
{
"code" : 200,
"message" : "OK",
"visible" : false,
"data": {
"list": [{
"id": 573320,
"createTime": "2018-06-23 15:14:51",
"customerNumber": "13716429603",
"province": null,
"city": null,
"agentName": null,
"duration": 25,
"result": 1,
"ringingDuration": 7,
"spNumber": "057126200670",
"callType": 2,
"seatType": 1,
"dropSide": 2,
"hangupCauseId": 1,
"callId": "3ec56e1b-155a-4677-703f-8bb0a4a91e13",
"customerName": null,
"businessId": null,
"businessLogType": null,
"conversationId": "575881",
“channelUserType”:2,
"callLogRecordFoundResponseList":[{
"recordUrl":"werasdfs"
}]
}],
"pageNum": 1,
"pageSize": 20,
"total": 1,
"paging": null
}
}