切换主题
查询通话记录
提示
使用前提:用户初始化以及登录后
查询通话记录示例
临时使用,可以联系融合通信管理员,申请调测账号,正式交付以中台对接 token 为准
<script setup name="GetCallRecord">
import { reactive, ref } from 'vue'
import {ElMessage} from 'element-plus'
import { checkInstance, getInstanceFCC } from '../../use-fcc'
import { setLog } from '../../use-log'
const token = ref('')
const extSysAccount = ref('')
const loading = ref(false)
const callForm = reactive({
extSysAccount: '', // 用户账号
timeBegin: null, // 开始时间
timeEnd: null, // 结束时间
mediaType: '', // 媒体类型 5 电话 8 视频呼叫9 语音
pageSize: '', // 每页大小
pageNum: '' // 页数
})
const disabledDate = (time) => {
return time.getTime() > Date.now()
}
const getCallRecord = async () => {
setLog({
name: '开始查询通话记录'
})
if (loading.value) {
setLog({
name: '查询通话记录结果',
msg: '请先实例化'
})
return
}
if (!await checkInstance()) {
setLog({
name: '查询通话记录',
msg: '请先实例化'
})
ElMessage({
message: '请先实例化',
type: 'warning'
})
return
}
if (!callForm.extSysAccount) {
setLog({
name: '查询通话记录',
msg: `参数错误,请输入用户账号`
})
ElMessage({
message: '请输入用户账号',
type: 'warning'
})
return
}
loading.value = true
let result = await getInstanceFCC().getCallRecord(callForm)
setLog({
name: '查询通话记录结果',
msg: result
})
loading.value = false
if (result.status == 200) {
ElMessage({
message: '查询通话记录成功',
type: 'success'
})
} else {
ElMessage({
message: result.msg,
type: 'info'
})
}
}
</script>
<template>
<el-form :model="callForm" >
<el-row>
<el-col :span="11" class="col-left">
<el-form-item label="账号">
<el-input v-model="callForm.extSysAccount" placeholder="请输入账号"></el-input>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item label="呼叫类型">
<el-select v-model="callForm.mediaType" placeholder="呼叫类型">
<el-option label="电话" value="5"></el-option>
<el-option label="视频" value="8"></el-option>
<el-option label="语音" value="9"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11" class="col-left">
<el-form-item label="开始时间">
<el-date-picker
v-model="callForm.timeBegin"
type="datetime"
placeholder="选择日期时间"
format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item label="结束时间">
<el-date-picker
v-model="callForm.timeEnd"
type="datetime"
placeholder="选择日期时间"
:disabled-date="disabledDate"
format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11" class="col-left">
<el-form-item label="页码">
<el-input v-model.number="callForm.pageSize" placeholder="请输入页码"></el-input>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item label="页数">
<el-input v-model.number="callForm.pageNum" placeholder="请输入页数"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item>
<el-button type="primary" @click="getCallRecord" :loading="loading">查询通话记录</el-button>
</el-form-item>
</el-form>
</template>
<style scoped>
.col-left {
margin-right: 20px;
}
</style>使用方法
typescript
let params = {
timeBegin:'2024-01-01 00:00:00', // 开始时间
timeEnd:'2024-01-05 00:00:00', // 结束时间
callType:'', // 枚举值:0呼入、1呼出、3内部点对点呼叫
mediaType:'', // 枚举值:5电话、8视频呼叫、9语音
oppoNo:'' // 对方号码
extSysAccount:'sxh01' // 传当前登录用户的extSysAccount字段
}
fcc.getCallRecord(params)1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
入参说明
| 参数名 | 数据类型 | 选取原则 | 说明 |
|---|---|---|---|
| extSysAccount | string | 必选 | 前登录用户的extSysAccount字段 |
| timeBegin | string | 非必填 | 开始时间 |
| timeEnd | string | 非必填 | 结束时间 |
| callType | string | 非必填 | 呼叫类型 |
| oppoNo | string | 非必填 | 对方号码,例如分机号码、电话号码、调度号等 |
| pageSize | number | 非必填 | 分页大小 |
| page | number | 非必填 | 页数 |
出参说明
| 出参名称 | 数据类型 | 说明 |
|---|---|---|
| status | number | 调用接口返回结果的状态码,其含义参考融合通讯中台通用状态码。 |
| msg | string | 给开发者的文字提示信息 |
| total | number | 数据总条数 |
| rows | array | 数组值为对象,其字段说明如下 |
typescript
rows:[
{
// 数据主要分为三类,当前用户信息、对方信息、呼叫相关信息、其它
// 1 当前用户的信息
agentPhone: "7002", // 当前用户分机号
caller: "苏晓辉01",
callSos: "1", // 是否是sos呼叫 1是 0否
calloutSuc: "1", // 呼叫是否成功 1成功 0失败
extSysAccount: "sxh01", // 外部账号
extlSysCode: null,
callIcpCode: "01025xxxxxx", // 调度号
callPhoneNumber: "132xxxxxxxx", // 移动电话
// 2 对方信息 若字段不存在,则为null
oppoExtSysAccount: null,
oppoNickName: null,
oppoNo: "7001",
oppoPhoneNumber: null,
oppoUserId: null,
// 3 呼叫相关信息
callDate: 20240703, // 呼叫日期
callTime: "11:43:41", // 呼叫时间
optDateTime: "2024-07-03 11:43:41", // 日期 + 时间
callDuration: "12", // 通话时间
callType:"0" // 呼叫类型,枚举参考入参说明
callRemark: "电话呼入", // 文本说明
callSno: 752, // 流水号 唯一id
mediaType: "5" // 媒体类型,枚举参考入参说明
voiceFile: "/mua_ext/record/netinfo.pbx/20240703/7002/2841746.mp3" // 录音文件地址
custName: "7001", // 对方名称
receiver: "7001", // 对方号码
// 其它字段,目前可忽略
},
...
]1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
