Appearance
DK-Cloud API接口文档 V 2.4.3
1. 接口规范说明
您可以直接通过标准化的 HTTPS 或者 HTTP 接口,快速实现 “DK-Cloud平台” 与自有系统的集成。我们同时还提供了开发者工具套件(SDK),对 API 接口调用进行了封装。推荐您优先使用 SDK,可以更方便地进行系统集成,具体可以咨询对接人员。
2. 修订记录
发布日期 | 版本号 | 描述 | 修订人 |
---|---|---|---|
2024-01-03 | V 1.0.0 | 王义强 | |
2024-03-18 | V 1.0.1 | 李建博 | |
2024-05-17 | V 1.0.2 | 叶彦阳 | |
2024-07-09 | V 1.0.3 | 杨福亚 | |
2024-08-22 | V 2.2.2 | 对齐DK-Cloud版本号 | 温佳欣 |
2024-09-05 | V2.2.3 | 王义强 | |
2024-09-12 | V2.2.3.1 | 王义强 | |
2024-09-25 | V2.2.4 | 王义强 | |
2024-10-24 | V2.2.5 | 王义强 | |
2024-11-07 | V2.2.6 | 张鹏军 | |
2024-12-05 | V2.3.0 | 王义强 | |
2024-12-12 | V2.3.1 | 张鹏军 | |
2025-02-21 | V2.3.2 | 张鹏军 | |
2025-03-11 | V2.3.3 | 张鹏军 | |
2025-04-29 | V2.4.0 | 张鹏军 | |
2025-05-26 | V2.4.1 | 张鹏军 | |
2025-06-12 | V2.4.2 | 张鹏军 | |
2025-08-04 | V2.4.2.1 | 王义强 | |
2025-08-18 | V2.4.3 | 张鹏军 |
3. 简要说明
3.1 使用对象
使用 “DK-Cloud平台”进行呼叫中心业务的企业客户以及研发人员。在集成企业客户自己的 CRM 时,可以通过接口文档集成相关座席与呼叫相关功能。
3.2 请求方式
HTTP/HTTPS 协议,POST 请求方式。
3.3 数据格式
JSON
3.4 数据编码
UTF-8
3.5 请求头
Headers:
json
{
"Accept": "application/json",
"Connection": "Keep-Alive",
"Authorization": "Authorization",
"Content-type": "application/json;charset=UTF-8"
}
3.6 URL公共请求参数
字段名称 | 字段类型 | 约束限制 | 说明 |
---|---|---|---|
projectId | string | 必选 | 平台为企业分配唯一 projectId |
timestamp | int | 必选 | unix 10位时间戳,精度:秒。用于校验接口调用的时效性,防止重复攻击 |
sign | string | 必选 | 签名:调用者的合法性校验:根据(projectId+token+timestamp)的md5值 |
注:token 请询问对接人员获取
3.7 公共返回参数
字段名称 | 字段类型 | 约束限制 | 说明 |
---|---|---|---|
code | int | 必选 | 状态码,200 表示成功,其他 表示失败 |
status | string | 必选 | "success" 表示成功 ,"error" 表示失败 |
timestamp | date | 必选 | 精度:秒 |
msg | string | 必选 | 结果信息 |
data | string | 必选 | 返回的具体数据 |
3.8 状态码
code | 描述 |
---|---|
200 | 请求成功 |
400 | 参数相关错误 |
403 | 权限相关错误 |
10000 | 外呼黑名单 |
26 | 外呼触发风控 |
500 | 系统错误 |
501 | 自备卡号未在白名单中 |
502 | 队列相关异常 |
502 | 队列相关异常 |
503 | 数据重复 |
504 | 该数据不存在 |
505 | 任务正在运行中 |
506 | 不在任务时间区间内 |
20001 | 超出坐席登陆并发数 |
20002 | 分机未绑定 |
20003 | 分机不存在 |
20004 | 分机不可用 |
20005 | 号码 {} 不可用,已被工号: {} 使用 |
20006 | 未找到该座席编号 |
20007 | 该座席未启用 |
20008 | 座席未登录 |
20009 | 分机未注册 |
20010 | 退出失败,当前座席通话未结束 |
20013 | 功能调用失败。当前座席未处于通话状态,无法使用此功能。 |
20014 | 账户不存在 |
20015 | 当前登陆账户已停机,请联系管理员 |
27 | 同一被叫号码一小时内呼叫超频,请于{}再拨打 |
4. 座席设置接口
4.1 座席登录
4.1.1 功能说明
通过座席登陆接口可以实现座席登陆功能,登陆座席通过关联登陆队列的信息,实现座席登陆队列,满足呼入来电分配的功能。
注释:登录队列可以是多个,同时登录多个队列。
4.1.2 请求路径
POST <https://ip/dky-open-api/version-2.0.0/agentlogin?projectId=×tamp=&sign=>
4.1.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
agentId | String | 必选 | 根据 agentType 传入对应内容:坐席工号/客户 crmId(需要创建坐席时指定) |
agentType | Integer | 可选 | 坐席类型 0:系统坐席工号(默认) 1:客户 crmId |
extension | String | 可选 | 坐席使用的号码 (分机号/手机号)若坐席提前绑定号码 可不传 PSTN类型(手机、固话) 支持通过手机或固话进行座席登录和绑定电话。 WebRTC类型 支持通过WebRTC方式提前绑定座席电话。 分机类型(SIP终端) 支持通过IP话机、IAD分机进行座席登录和绑定电话。 注释:绑定类型如果是分机类型则必须先让分机电话设备注册成功。如果绑定类型为webrtc,就算调用接口成功也是无法呼叫。 |
queue | String | 可选 | 需要提前为坐席绑定队列相应的技能, 默认不传队列的情况下 按照绑定的队列进行登陆, 传入队列号则需要在坐席绑定的队列中。 登录队列,多个队列使用英文逗号隔开 队列作用在于是否接听相应的来电 不影响外呼 |
initialstate | Integer | 可选 | 初始状态,2:空闲,3:忙碌 默认空闲 |
4.1.4 请求体
json
{
"agentId": "6000100100001",
"extension": "6000100100001",
"queue": "200",
"initialstate": 2
}
4.1.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-06-30 11:18:04"
}
4.2 坐席退出
4.2.1 功能说明
使用退出接口实现登陆坐席的退出功能,座席退出时并退出所登陆的队列。
4.2.2 请求路径
POST <https://ip/dky-open-api/version-2.0.0/agentlogout?projectId=×tamp=&sign=>
4.2.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
agentId | String | 必选 | 根据 agentType 传入对应内容:坐席工号/客户 crmId(需要创建坐席时指定) |
agentType | Integer | 可选 | 坐席类型 0:系统坐席工号(默认) 1:客户 crmId |
4.2.4 请求体
json
{
"agentId": "6000100100001"
}
4.2.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-06-30 11:18:04"
}
4.3 座席状态设置
4.3.1 功能说明
用于设置座席的状态信息。比如:空闲、置忙等。
4.3.2 请求路径
POST <https://ip/dky-open-api/version-2.0.0/agentsetstate?projectId=×tamp=&sign=>
4.3.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
agentId | String | 必选 | 根据 agentType 传入对应内容:坐席工号/客户 crmId(需要创建坐席时指定) |
agentType | Integer | 可选 | 坐席类型 0:系统坐席工号(默认) 1:客户 crmId |
state | Integer | 必选 | 状态,2:空闲,3:忙碌设置为忙碌时,只影响接听电话,不影响外呼电话。 |
reason | String | 可选 | 空闲或忙碌的原因,空闲(默认值):ready忙碌(默认值):busy自定义置忙状态需在系统设置 |
4.3.4 请求体
json
{
"agentId": "6000100100001",
"state": 3,
"reason": "busy"
}
4.3.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-06-30 11:18:04"
}
4.4 查询坐席并发
4.4.1 功能说明
用于查询当前机构的坐席并发数。
4.4.2 请求路径
GET <https://ip/dky-open-api/version-2.0.0/agentConcurrent?projectId=×tamp=&sign=>
4.4.3 参数说明
无
4.4.4 请求体
无
4.4.5 响应参数说明
参数名 | 要求 | 类型 | 备注 |
---|---|---|---|
maxAgentConcurrent | 必传 | Integer | 最大坐席并发数 |
currentAgentConcurrent | 必传 | Integer | 当前坐席并发数 |
4.4.6 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {
"maxAgentConcurrent": 100,
"currentAgentConcurrent": 50
},
"timestamp": "2023-06-30 11:18:04"
}
5. 呼叫控制接口
5.1 电话呼叫
5.1.1 功能说明
座席外呼电话接口,接口采用异步方式提交请求到服务器。服务器先呼叫座席绑定的终端,座席接听后系统再呼叫客户的号码。
5.1.2 请求路径
POST <https://ip/dky-open-api/version-2.0.0/placecall?projectId=×tamp=&sign=>
5.1.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
agentId | String | 必选 | 根据 agentType 传入对应内容:坐席工号/客户 crmId(需要创建坐席时指定) |
agentType | Integer | 可选 | 坐席类型 0:系统坐席工号(默认) 1:客户 crmId |
callednum | String | 必选 | 被叫号码,如 13801234567 |
userfield | String | 可选 | 用户自定义数据,定制对接。255位长字符串 不含特殊符号 推荐 base64 |
tag | String | 可选 | 风控标签 |
mobileTelx | String | 可选 | 指定手机外显 (若指定外显 手机外显/固话外显/中继组集合外显/中继组 id 四个选项只能选一) |
fixedTelx | String | 可选 | 指定固话外显(若指定外显 手机外显/固话外显/中继组集合外显/中继组 id 四个选项只能选一) |
trunkNumberGroups | List | 可选 | 指定中继组集合外显(若指定外显 手机外显/固话外显/中继组集合外显/中继组 id 四个选项只能选一) |
callStrategy | Integer | 可选 | 指定中继组集合/中继组 id/号码组 ID 外显 呼叫策略 1-本地打本地 2-省会托底 3-随机(选择中继组/中继组 id/号码组 id 时需要配合该策略使用 默认本地打本地) 注:当只传递策略 不指定中继组或号码组时,按照策略匹配该机构下所有符合规则的号码 |
trunkNumberGroupId | Integer | 可选 | 指定中继组 id 外显 (若指定外显 手机外显/固话外显/中继组集合外显/中继组 id 四个选项只能选一) |
numberGroupId | Integer | 可选 | 号码组 ID 可单独指定 也可和中继组集合/中继组 ID 搭配使用 |
rasrPush | Integer | 可选 | 当前通话是否推送rasr 0:否 1:是 |
preSceneId | Integer | 可选 | 前置语音场景ID |
5.1.4 请求体
json
{
"agentId": "6000100100001",
"callednum": "15726384776"
}
5.1.5 正确响应包体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {
"linkedId": "通话唯一id"
},
"timestamp": "2023-06-30 11:18:04"
}
注:这是一个异步请求接口,“呼叫请求成功”不代表“呼叫成功”。
5.1.6 错误响应体(触发风控/黑名单)
触发风控响应信息:
json
{
"code": 26,
"status": "error",
"msg": "外呼号码触发风控",
"data": {
"unblockTime": "解除风控的时间戳"
},
"timestamp": "2023-06-30 11:18:04"
}
触发一小时限呼
Java
{
"code": 27,
"status": "error",
"msg": "同一被叫号码一小时内呼叫超频,请于2025-07-22 14:38:10再拨打",
"data": {
"unblockTime": "解除风控的时间戳"
},
"timestamp": "2023-06-30 11:18:04"
}
触发黑名单响应信息:
json
{
"code": 10000,
"status": "error",
"msg": "外呼号码为黑名单号码",
"data": {},
"timestamp": "2023-06-30 11:18:04"
}
5.2 电话挂断
5.2.1 功能说明
挂断接口,通过挂断接口挂断当前坐席的通话
5.2.2 请求路径
POST <https://ip/dky-open-api/version-2.0.0/hangup?projectId=×tamp=&sign=>
5.2.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
agentId | String | 必选 | 根据 agentType 传入对应内容:坐席工号/客户 crmId(需要创建坐席时指定) |
agentType | Integer | 可选 | 坐席类型 0:系统坐席工号(默认) 1:客户 crmId |
linkedId | String | 可选 | 指定通话 Id 进行挂断 |
5.2.4 请求体
json
{
"agentId": "6000100100001"
}
5.2.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-06-30 11:18:04"
}
5.3 电话咨询转接
5.3.1 功能说明
将 A 座席当前通话转接给其他坐席 B 或外线,在和其他转接侧交谈后,如果 A 座席选择挂断则客户和转接 B 座席实现通话;如果转接侧座席选择取消,则恢复客户与座席的通话。
5.3.2 请求路径
POST <https://ip/dky-open-api/version-2.0.0/atxfer?projectId=×tamp=&sign=>
5.3.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
agentId | String | 必选 | 根据 agentType 传入对应内容:坐席工号/客户 crmId(需要创建坐席时指定) |
agentType | Integer | 可选 | 坐席类型 0:系统坐席工号(默认) 1:客户 crmId |
atxferNumber | String | 必选 | mode 为 0 时 根据 atxferAgentType 传入对应转接内容:坐席工号/客户 crmId(需要创建坐席时指定),坐席必须登录 mode 为 1 时,传外线号码 |
atxferAgentType | Integer | 可选 | 坐席类型 0:系统坐席工号(默认) 1:客户 crmId |
mode | Integer | 可选 | 默认值 0:咨询内部坐席,坐席必须登录 1:咨询外线号码 |
preSceneId | Integer | 可选 | 前置语音场景ID |
5.3.4 请求体
json
{
"agentId": "6000100100001",
"mode": 0,
"atxferNumber": "6000100100006"
}
5.3.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-06-30 11:18:04"
}
5.4 电话咨询
5.4.1 功能说明
A 座席发起咨询其他坐席 B 或外线,在和被咨询侧交谈后,被咨询侧选择取消,则恢复客户与座席的通话。 坐席A可主动发起咨询接回来恢复和客户的通话
5.4.2 请求路径
POST <https://ip/dky-open-api/version-2.0.0/consult?projectId=×tamp=&sign=>
5.4.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
agentId | String | 必选 | 根据 agentType 传入对应内容:坐席工号/客户 crmId(需要创建坐席时指定) |
agentType | Integer | 可选 | 坐席类型 0:系统坐席工号(默认) 1:客户 crmId |
atxferNumber | String | 必选 | mode 为 0 时 根据 atxferAgentType 传入对应转接内容:坐席工号/客户 crmId(需要创建坐席时指定),坐席必须登录 mode 为 1 时,传外线号码 |
atxferAgentType | Integer | 可选 | 坐席类型 0:系统坐席工号(默认) 1:客户 crmId |
mode | Integer | 可选 | 默认值 0:咨询内部坐席,坐席必须登录 1:咨询外线号码 |
preSceneId | Integer | 可选 | 前置语音场景ID |
5.4.4 请求体
JSON
{
"agentId": "6000100100001",
"mode": 0,
"atxferNumber": "6000100100006"
}
5.4.5 正确响应体
JSON
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-06-30 11:18:04"
}
5.5 咨询接回
5.5.1 功能说明
当前 A 座席将咨询后的通话接回,恢复 A 座席和客户的通话
5.5.2 请求路径
POST <https://ip/dky-open-api/version-2.0.0/atxferHangup?projectId=×tamp=&sign=>
5.5.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
agentId | String | 必选 | 根据 agentType 传入对应内容:坐席工号/客户 crmId(需要创建坐席时指定) |
agentType | Integer | 可选 | 坐席类型 0:系统坐席工号(默认) 1:客户 crmId |
5.5.4 请求体
json
{
"agentId": "6000100100001"
}
5.5.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-06-30 11:18:04"
}
5.6 电话盲转
5.6.1 功能说明
将 A 座席当前通话直接转接给其他坐席或外线号码,调用接口转接后,转接侧响铃,当前 A 座席自动挂断。
5.6.2 请求路径
POST <https://ip/dky-open-api/version-2.0.0/blindfer?projectId=×tamp=&sign=>
5.6.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
agentId | String | 必选 | 根据 agentType 传入对应内容:坐席工号/客户 crmId(需要创建坐席时指定) |
agentType | Integer | 可选 | 坐席类型 0:系统坐席工号(默认) 1:客户 crmId |
transferNumber | String | 必选 | mode 为 0 时 根据 transferAgentType 传入对应转接的坐席 id/客户 crmId(需要创建坐席时指定),坐席必须登录 mode 为 1 时,传外线号码 mode 为 2 时,传 ivrId mode 为 3 时,传队列号 |
transferAgentType | Integer | 可选 | 转接坐席类型 0:系统坐席工号(默认) 1:客户 crmId |
mode | Integer | 可选 | 默认值 0:将电话转接给内部坐席,坐席必须登录,1:将电话转接给外部号码 2.转 ivr 3.转队列 |
ivrNodeId | String | 可选 | ivr 节点 id ivrNodeId 和 ivrNodeType 搭配使用两个参数不传 则默认当前 ivrId 起始位置播放两个参数传入 则从对应 ivr 节点开始播放 |
ivrNodeType | String | 可选 | ivr 节点类型 ivrNodeId 和 ivrNodeType 搭配使用两个参数不传 则默认当前 ivrId 起始位置播放两个参数传入 则从对应 ivr 节点开始播放 |
preSceneId | Integer | 可选 | 前置语音场景ID |
5.6.4 请求体
json
{
"agentId": "6000100100001",
"mode": 0,
"transferNumber": "6000100100006"
}
5.6.5 正确响应包体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-06-30 11:18:04"
}
5.7 呼叫保持/取消保持
5.7.1 功能说明
通过接口对坐席当前通话的客户侧播放等候音乐(此时客户听不到坐席侧声音),调用此接口,客户侧播放等候音乐。
如果想恢复通话,使用此接口的接回参数,停止播放音乐,双方恢复通话。
5.7.2 请求路径
POST <https://ip/dky-open-api/version-2.0.0/musiconhold?projectId=×tamp=&sign=>
5.7.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
agentId | String | 必选 | 根据 agentType 传入对应内容:坐席工号/客户 crmId(需要创建坐席时指定) |
agentType | Integer | 可选 | 坐席类型 0:系统坐席工号(默认) 1:客户 crmId |
mode | String | 必选 | 播放动作:hold(呼叫保持)/unhold(取消保持)。 |
5.7.4 请求体
json
{
"agentId": "6000100100001",
"mode": "hold/unhold"
}
5.7.5 正确响应包体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-06-30 11:18:04"
}
5.8 二次拨号
5.8.1 功能说明
座席在外呼到客户总机时,对方总机播放提示音:“直拨分机号码,查号请按0”。这时需要调用此接口,实现座席二次拨号功能。
5.8.2 请求路径
POST <https://ip/dky-open-api/version-2.0.0/playdtmf?projectId=×tamp=&sign=>
5.8.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
agentId | String | 必选 | 根据 agentType 传入对应内容:坐席工号/客户 crmId(需要创建坐席时指定) |
agentType | Integer | 可选 | 坐席类型 0:系统坐席工号(默认) 1:客户 crmId |
digit | String | 必选 | 按键 (1234567890#) |
5.8.4 请求体
json
{
"agentId": "6000100100001",
"digit": "123"
}
5.8.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-06-30 11:18:04"
}
5.9 班长监听
5.9.1 功能说明
当班长要监听某个座席当前的通话时,可以调用此接口。
根据参数不同,可以实现不同操作:
监听模式 (班长可以听到坐席和客户的声音,坐席及客户听不到班长的声音)
耳语模式(班长说话,只能座席听到)
强插模式(班长直接插入座席与客户的通话)
5.9.2 请求路径
POST <https://ip/dky-open-api/version-2.0.0/chanspy?projectId=×tamp=&sign=>
5.9.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
agentId | String | 必选 | 根据 agentType 传入对应内容:坐席工号/客户 crmId(需要创建坐席时指定) |
agentType | Integer | 可选 | 坐席类型 0:系统坐席工号(默认) 1:客户 crmId |
point | Integer | 可选 | 指定班长侧号码方式 0:默认 班长号为内部坐席 1: 班长号为外线号码 |
monitorNumber | String | 必选 | 班长的号码 point 为 0 时 根据 monitorAgentType 传班长坐席号/客户 crmId(需要创建坐席时指定) point 为 1 时传外线号码 |
monitorAgentType | Integer | 可选 | 班长坐席类型 0:系统坐席工号(默认) 1:客户 crmId |
mode | Integer | 必选 | 监听模式:0 - 耳语模式, 1 - 监听模式, 2-强插, 3-监听三方 |
preSceneId | Integer | 可选 | 前置语音场景ID |
5.9.4 请求体
json
{
"agentId": "6000100100001",
"monitorNumber": "6000100100006",
"mode": 0,
"point": 0
}
5.9.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-06-30 11:18:04"
}
5.10 咨询三方
5.10.1 功能说明
三方会议功能,坐席发起对另一个坐席或一条外线的三方咨询请求,接听后加入到当前三方通话中,进行通话
5.10.2 请求路径
POST <https://ip/dky-open-api/version-2.0.0/meet?projectId=×tamp=&sign=>
5.10.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
agentId | String | 必选 | 根据 agentType 传入对应内容:坐席工号/客户 crmId(需要创建坐席时指定) |
agentType | Integer | 可选 | 坐席类型 0:系统坐席工号(默认) 1:客户 crmId |
meetNumber | String | 必选 | 咨询号码 mode 为 0 时根据 meetAgentType 传坐席号/客户 crmId(需要创建坐席时指定) mode 为 1 时传外线号码 |
meetAgentType | Integer | 可选 | 三方坐席类型 0:系统坐席工号(默认) 1:客户 crmId |
mode | Integer | 必选 | 0:默认 咨询内部坐席 1: 咨询外线号码 |
preSceneId | Integer | 可选 | 前置语音场景ID |
5.10.4 请求体
json
{
"agentId": "6000100100001",
"meetNumber": "6000100100006",
"mode": 0
}
5.10.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-06-30 11:18:04"
}
5.11 满意度评价
5.11.1 功能说明
座席与客户通话结束后,座席通过调用此满意度评价接口,系统会自动给客户播放满意度评价录音,客户通过按键进行满意度评价。
5.11.2 请求路径
POST <https://ip/dky-open-api/version-2.0.0/servicelevel?projectId=×tamp=&sign=>
5.11.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
agentId | String | 必选 | 根据 agentType 传入对应内容:坐席工号/客户 crmId(需要创建坐席时指定) |
agentType | Integer | 可选 | 坐席类型 0:系统坐席工号(默认) 1:客户 crmId |
5.11.4 请求体
json
{
"agentId": "6000100100001"
}
5.11.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-06-30 11:18:04"
}
5.12 坐席静音/取消静音
5.12.1 功能说明
通过调用此接口实现座席侧静音/取消静音。
5.12.2 请求路径
POST <https://ip/dky-open-api/version-2.0.0/mute?projectId=×tamp=&sign=>
5.12.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
agentId | String | 必选 | 根据 agentType 传入对应内容:坐席工号/客户 crmId(需要创建坐席时指定) |
agentType | Integer | 可选 | 坐席类型 0:系统坐席工号(默认) 1:客户 crmId |
mode | String | 必选 | 播放动作:mute(坐席侧静音)unmute(坐席侧取消静音)。 |
5.12.4 请求体
json
{
"agentId": "6000100100001",
"mode": "mute/unmute"
}
5.12.5 正确响应包体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-06-30 11:18:04"
}
5.13 语音通知
5.13.1 功能说明
通过调用通知语音接口,实现系统自动呼叫客户,客户接听后,系统自动向用户播放 ivr 语音(语音通知)
5.13.2 请求路径
POST <https://ip/dky-open-api/version-2.0.0/placecallToApp?projectId=×tamp=&sign=>
5.13.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
agentId | String | 可选 | 根据 agentType 传入对应内容:坐席工号/客户 crmId(需要创建坐席时指定) |
agentType | Integer | 可选 | 坐席类型 0:系统坐席工号(默认) 1:客户 crmId |
callednum | String | 必选 | 被叫号码,如 13801234567 |
ivrId | Integer | 必选 | ivrId |
userfield | String | 可选 | 用户自定义数据,定制对接。255位长字符串 不含特殊符号 推荐 base64 |
params | Map<String,String> | 可选 | ivr 动态变量参数 map 中 key 为变量名 value 为 变量的值如:ivr 为 "{name}同学你好,请于{time}进入课堂上课" map 中参数为:params {"name":"张三","time":"上课时间"} |
tag | String | 可选 | 风控标签 |
mobileTelx | String | 可选 | 指定手机外显 (若指定外显 手机外显/固话外显/中继组集合外显/中继组 id 四个选项只能选一) |
fixedTelx | String | 可选 | 指定固话外显 (若指定外显 手机外显/固话外显/中继组集合外显/中继组 id 四个选项只能选一) |
trunkNumberGroups | String | 可选 | 指定中继组集合外显 (若指定外显 手机外显/固话外显/中继组集合外显/中继组 id 四个选项只能选一) |
callStrategy | Integer | 可选 | 指定中继组集合/中继组 id/号码组 id 外显 呼叫策略 1-本地打本地2-省会托底 3-随机(选择中继组/中继组 id/号码组 id 时需要配合该策略使用 默认本地打本地) 注:当只传递策略 不指定中继组或号码组时,按照策略匹配该机构下所有符合规则的号码 |
trunkNumberGroupId | Integer | 可选 | 指定中继组 id 外显 (若指定外显 手机外显/固话外显/中继组集合外显/中继组 id 四个选项只能选一) |
numberGroupId | Integer | 可选 | 号码组 ID 可单独指定 也可和中继组集合/中继组 ID 搭配使用 |
preSceneId | Integer | 可选 | 前置语音场景ID |
5.13.4 请求体
json
{
"callednum": "被叫号码",
"ivrId": "ivr语音id",
"params": {
"name": "张三",
"time": "上课时间"
}
}
5.13.5 正确响应包体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {
"linkedId": "通话唯一id"
},
"timestamp": "2023-06-30 11:18:04"
}
注:这是一个异步请求接口,“呼叫请求成功”不代表“呼叫成功”。
5.13.6 错误响应体
触发风控响应消息:
json
{
"code": 26,
"status": "error",
"msg": "外呼号码触发风控",
"data": {
"unblockTime": "解除风控的时间戳"
},
"timestamp": "2023-06-30 11:18:04"
}
触发一小时限呼
Java
{
"code": 27,
"status": "error",
"msg": "同一被叫号码一小时内呼叫超频,请于2025-07-22 14:38:10再拨打",
"data": {
"unblockTime": "解除风控的时间戳"
},
"timestamp": "2023-06-30 11:18:04"
}
触发黑名单响应消息:
json
{
"code": 10000,
"status": "error",
"msg": "外呼号码为黑名单号码",
"data": {},
"timestamp": "2023-06-30 11:18:04"
}
5.14 外呼手机号加解密
5.14.1 功能说明
对指定的外呼手机号进行加解密。
5.14.2 请求路径
POST <https://ip/dky-open-api/version-2.0.0/phoneNumberSecureV2?projectId=×tamp=&sign=>
5.14.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
callerid | String | 必选 | 加密或解密的手机号 |
号码加密隐藏支持字母方式,加密位置为号码中间4位。
如:18699995678,加密后中间四位是字母:186HJFA5678
5.14.4 请求体
json
{
"callerid": "18699995678"
}
或
json
{
"callerid": "186HJFA5678"
}
5.14.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {
"callerid": "15137251288",
"projectId": "20020001001",
"encodednum": "151CBCE1288",
"decodednum": "15137251288"
},
"timestamp": "2025-06-17 15:18:11"
}
5.15 双呼接口
5.15.1 功能说明
销售外呼电话接口,接口采用异步方式提交请求到服务器。服务器先呼叫销售的手机端,销售接听后系统再呼叫客户的号码。
5.15.2 请求路径
POST <https://ip/dky-open-api/version-2.0.0/webcall?projectId=×tamp=&sign=>
5.15.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
callednum | String | 必选 | 被叫号码,如 13801234567 |
salesNumber | String | 必选 | 销售号码 |
userfield | String | 可选 | 用户自定义数据,定制对接。255位长字符串 不含特殊符号 推荐 base64 |
tag | String | 可选 | 风控标签 |
mobileTelx | String | 可选 | 指定手机外显 (若指定外显 手机外显/固话外显/中继组集合外显/中继组 id 四个选项只能选一) |
fixedTelx | String | 可选 | 指定固话外显(若指定外显 手机外显/固话外显/中继组集合外显/中继组 id 四个选项只能选一) |
trunkNumberGroups | List | 可选 | 指定中继组集合外显(若指定外显 手机外显/固话外显/中继组集合外显/中继组 id 四个选项只能选一) |
callStrategy | Integer | 可选 | 指定中继组集合/中继组 id/号码组 id 外显呼叫策略 *1-本地打本地 2-省会托底 3-随机(选择中继组集合/中继组 id/号码组 id 时需要配合该策略使用 默认本地打本地) * 注:当只传递策略 不指定中继组或号码组时,按照策略匹配该机构下所有符合规则的号码 |
trunkNumberGroupId | Integer | 可选 | 指定中继组 id 外显 (若指定外显 手机外显/固话外显/中继组集合外显/中继组 id 四个选项只能选一) |
numberGroupId | Integer | 可选 | 号码组 ID 可单独指定 也可和中继组集合/中继组 ID 搭配使用 |
preSceneId | Integer | 可选 | 前置语音场景ID |
5.15.4 请求体
json
{
"salesNumber": "17600060587",
"callednum": "15726384776"
}
5.15.5 正确响应包体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {
"linkedId": "通话唯一id"
},
"timestamp": "2023-06-30 11:18:04"
}
注:这是一个异步请求接口,“呼叫请求成功”不代表“呼叫成功”。
5.15.6 错误响应体(触发风控/黑名单)
触发风控响应信息:
json
{
"code": 26,
"status": "error",
"msg": "外呼号码触发风控",
"data": {
"unblockTime": "解除风控的时间戳"
},
"timestamp": "2023-06-30 11:18:04"
}
触发一小时限呼
Java
{
"code": 27,
"status": "error",
"msg": "同一被叫号码一小时内呼叫超频,请于2025-07-22 14:38:10再拨打",
"data": {
"unblockTime": "解除风控的时间戳"
},
"timestamp": "2023-06-30 11:18:04"
}
触发黑名单响应信息:
json
{
"code": 10000,
"status": "error",
"msg": "外呼号码为黑名单号码",
"data": {},
"timestamp": "2023-06-30 11:18:04"
}
5.16 座席状态监控
5.16.1 功能说明
通过调用接口获取当指定座席的当前通话状态。
5.16.2 请求路径
POST <https://ip/dky-open-api/version-2.0.0/agent/monitor?projectId=×tamp=&sign=>
5.16.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
agentId | String | 必选 | 根据 agentType 传入对应内容:坐席工号/客户 crmId(需要创建坐席时指定) |
agentType | Integer | 可选 | 坐席类型 0:系统坐席工号(默认) 1:客户 crmId |
5.16.4 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
crmId | Integer | 客户 crmId |
agentNumber | string | 座席编号 |
agentName | string | 座席姓名 |
currentState | string | 当前座席状态(文字描述) |
currentStateTime | string | 当前状态持续时长(HH:mm:ss) |
telb | string | 客户号码 |
option | string | 呼叫指向(in:呼入;out:呼出;) |
loginTime | string | 登录时长(HH:mm:ss) |
currentExtension | string | 当前分机号 |
5.16.5 请求体
json
{
"agentId": "1001",
"agentType": 0
}
5.16.6 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {
"agentNumber": "1003",
"agentName": "示例",
"crmId": "1003yj",
"currentState": "空闲",
"currentStateTime": "02:02:03",
"telb": "",
"option": "out",
"loginTime": "04:51:44",
"currentExtension": "1003"
},
"timestamp": "2023-06-30 11:18:04"
}
5.17 咨询三方接回
5.17.1 功能说明
当前 A 座席将咨询三方后的通话接回,恢复 A 座席和客户的通话
5.17.2 请求路径
POST <https://ip/dky-open-api/version-2.0.0/meetHangup?projectId=&tamp=&sign=>
5.17.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
agentId | String | 必选 | 根据 agentType 传入对应内容:坐席工号/客户 crmId(需要创建坐席时指定) |
agentType | Integer | 可选 | 坐席类型 0:系统坐席工号(默认) 1:客户 crmId |
5.17.4 请求体
JSON
{
"agentId": "6000100100001"
}
5.17.5 正确响应体
JSON
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-06-30 11:18:04"
}
5.18 分页-座席状态监控
5.18.1 功能说明
通过调用接口分页获取座席状态信息。
5.18.2 请求路径
POST <https://ip/dky-open-api/version-2.0.0/agents/monitor?projectId=&tamp=&sign=>
5.18.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
pageNo | Integer | 可选 | 当前页码(默认1) |
pageSize | Integer | 可选 | 每页条数(默认10 最大100) |
agentStatus | int[] | 可选 | 座席状态:1-离线 2-空闲 3-置忙 4-整理 15-发起 13-振铃中 14-通话中支持传入单个或多个座席状态;若未指定,默认查询全部座席状态 |
agentNumbers | string[] | 可选 | 根据 agentType 传入对应内容:坐席工号/客户 crmId(需要创建坐席时指定)支持传入单个或多个座席工号;若未指定,默认查询全部座席 |
agentType | Integer | 可选 | 坐席类型 0:系统坐席工号(默认) 1:客户 crmId |
queueNumbers | string[] | 可选 | 队列号支持传入单个或多个队列号;若未指定,默认查询全部队列 |
5.18.4 响应参数说明
参数名 | 要求 | 类型 | 备注 |
---|---|---|---|
totalCount | 必选 | Int | 总记录数 |
pageSize | 必选 | Int | 每页记录数 |
totalPage | 必选 | Int | 总页数 |
currPage | 必选 | Int | 当前页码 |
list | 可选 | Array | 座席状态信息数组 |
座席状态信息
参数名 | 类型 | 备注 |
---|---|---|
customerNumber | string | 客户号码 |
agentName | string | 座席姓名 |
agentNumber | string | 座席工号 |
agentCrmNumber | string | 座席自定义工号 |
agentTelNumber | string | 座席电话 |
option | string | 呼叫指向 out-外呼 in-呼入 |
agentState | string | 座席状态 详情请前往目录 "数据字典" -> "坐席状态中文描述" 中查看 |
agentStateDuration | Date | 当前状态时长 HH:mm:ss |
loginDuration | Date | *登录时长 HH:mm😗ss |
queue | string[] | 所属队列 |
agentGroupId | Integer | 坐席组Id |
agentRole | Integer | 角色 1:普通; 2:班长 |
loginType | Integer | *登录方式 0:*api *1:*sdk |
agentArea | String | 所属区域(座席区号) |
incomingTotalCalls | Integer | 来电总数 |
outgoingTotalCalls | Integer | 外呼总数 |
outgoingTotalDuration | Date | 外呼通话时长 HH:mm:ss |
outgoingAnswerCount | Integer | 外呼接听总数 |
outgoingAvgDuration | Date | 外呼平均通话时长 HH:mm:ss |
5.18.5 请求体
JSON
{
"pageNo": 1,
"pageSize": 10
}
5.18.6 正确响应体
JSON
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {
"totalCount": 1,
"pageSize": 10,
"totalPage": 1,
"currPage": 1,
"list": [
{
"customerNumber": "13833783992" ,
"agentName": "座席姓名",
"agentNumber": "1001",
"agentCrmNumber": "1001",
"agentTelNumber": "1001" ,
"option": "out",
"agentState": "外呼通话中",
"agentStateDuration": "00:00:57",
"loginDuration": "00:51:34",
"queue": ["100","101"] ,
"agentGroup": 1,
"agentRole": 1,
"loginType": 0,
"agentArea": "010",
"incomingTotalCalls": 0,
"outgoingTotalCalls": 2,
"outgoingTotalDuration": "00:19:24",
"outgoingAnswerCount": 2,
"outgoingAvgDuration": "00:09:42"
}
]
},
"timestamp": "2023-06-30 11:18:04"
}
5.19 分页-座席工作量统计
5.19.1 功能说明
通过调用接口分页获取座席工作量统计信息。
5.19.2 请求路径
POST <https://ip/dky-open-api/version-2.0.0/agent/workload?projectId=&tamp=&sign=>
5.19.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
agentNumbers | string[] | 可选 | 根据 agentType 传入对应内容:坐席工号/客户 crmId(需要创建坐席时指定)支持传入单个或多个座席工号;若未指定,默认查询全部座席 |
agentType | Integer | 可选 | 坐席类型 0:系统坐席工号(默认) 1:客户 crmId |
agentStatus | int[] | 可选 | 座席状态:1-离线 2-空闲 3-置忙 4-整理 15-发起 13-振铃中 14-通话中支持传入单个或多个座席状态;若未指定,默认查询全部座席状态 |
pageNo | Integer | 可选 | 当前页码(默认1) |
pageSize | Integer | 可选 | 每页条数(默认10 最大100) |
5.19.4 响应参数说明
参数名 | 要求 | 类型 | 备注 |
---|---|---|---|
totalCount | 必选 | Int | 总记录数 |
pageSize | 必选 | Int | 每页记录数 |
totalPage | 必选 | Int | 总页数 |
currPage | 必选 | Int | 当前页码 |
list | 可选 | Array | 座席工作量信息数组 |
座席工作量信息
参数名 | 类型 | 备注 |
---|---|---|
agentNumber | string | 座席工号 |
agentName | string | 座席姓名 |
agentCrmNumber | string | 座席自定义工号 |
agentState | string | 座席状态详情请前往目录 "数据字典" -> "坐席状态中文描述" 中查看 |
agentStateDuration | Date | 当前状态时长 HH:mm:ss格式 |
outgoingTotalDuration | Date | 外呼通话时长 HH:mm:ss格式 |
outgoingTotalCalls | Integer | 外呼总数 |
outgoingAnswerCount | Integer | 外呼接听总数 |
agentStateIdleMax | Date | 最大空闲时长 HH:mm:ss格式 |
5.19.5 请求体
JSON
{
"pageNo": 1,
"pageSize": 10
}
5.19.6 正确响应体
JSON
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {
"totalCount": 2,
"pageSize": 10,
"totalPage": 1,
"currPage": 1,
"list": [
{
"agentNumber": "1001",
"agentName": "座席姓名",
"agentCrmNumber": "1001",
"agentState": "空闲",
"agentStateDuration": "00:01:00",
"outgoingTotalDuration": "00:15:53",
"outgoingTotalCalls": 10,
"outgoingAnswerCount": 9,
"agentStateIdleMax": "00:00:34"
},
{
"agentNumber": "1002",
"agentName": "座席姓名",
"agentCrmNumber": "1002",
"agentState": "置忙",
"agentStateDuration": "00:00:50",
"outgoingTotalDuration": "00:07:03",
"outgoingTotalCalls": 5,
"outgoingAnswerCount": 5,
"agentStateIdleMax": "00:00:23"
}
]
},
"timestamp": "2023-06-30 11:18:04"
}
6. 事件推送
6.1 响铃事件推送
由于事件推送为实时消息,推送成功需要客户端提供接口 http POST application/json utf-8 。
注释:返回标识为响应体只返回 success,其他认为失败,并且此条失败的事件不再推送。
6.1.1 功能说明
推送开始响铃事件(座席侧/客户侧),呼入只有座席侧事件。
6.1.2 请求路径
客户提供 <http://ip/url,POST方式,交由运营人员配置。>
6.1.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
requestId | String | 可选 | 请求id |
eventType | String | 可选 | 当前事件常量枚举:RINGING、ANSWERED、HANGUP |
eventTime | String | 可选 | 事件触发时间,yyyy-MM-dd hh:mm:ss |
linkedId | String | 可选 | 一通电话的通话唯一id |
callLeg | String | 可选 | 角色:坐席侧为agent, 客户为customer |
projectId | String | 可选 | 项目id(三级机构编号) |
agentTelNumber | String | 可选 | 坐席侧分机号码 |
agentNumber | String | 可选 | 坐席号 |
crmId | String | 可选 | crmId |
option | String | 可选 | 只对通过接口呼叫有效,通话方向in呼入, out呼出 |
callType | String | 可选 | 通话类型 |
originateUserField | String | 可选 | 只对通过接口呼叫有效,用户自定义字段 |
originateLocation | String | 可选 | 调用来源;1API,2SDK |
customerTelNumber | String | 可选 | 客户侧号码,若开启加密则为加密号码 |
customerDecodeTelNumber | String | 可选 | 真实来电号码字段,开启加密也是非加密号码 |
customerDisplayNumber | String | 可选 | 客户外显 |
customerTelCity | String | 可选 | 客户号码归属地 |
ivrInnerDigitsReceived | String | 可选 | 内部收号信息,一般为空 |
6.1.4 请求体
json
{
"agent": {
"forwardEvent": "0",
"linkedId": "1719978315258.100034",
"sipCallId": "264b7849-905c-44c5-a939-6ce2085b634c",
"callLeg": "agent",
"dialCode": "180",
"eventType": "RINGING",
"agentNumber": "700380010012001",
"callType": "0",
"customerDisplayNumber": "18199483103",
"crmId": "",
"customerTelNumber": "17615846069",
"agentTelNumber": "700380010012001",
"customerTelCity": "山东|济南",
"requestId": "264b7849-905c-44c5-a939-6ce2085b634c",
"eventTime": "2024-07-03 11:45:15",
"channelName": "PJSIP/regserver-0000001b",
"customerDecodeTelNumber": "17615846069",
"projectId": "70038001001",
"channelId": "1719978315258.100034",
"option": "out"
},
"customer": {
"forwardEvent": "0",
"linkedId": "1719978315258.100034",
"sipCallId": "f671f842-e990-4dca-93b1-02bbb686b023",
"callLeg": "customer",
"dialCode": "183",
"eventType": "RINGING",
"agentNumber": "700380010012001",
"callType": "0",
"customerDisplayNumber": "18199483103",
"crmId": "",
"customerTelNumber": "17615846069",
"agentTelNumber": "700380010012001",
"customerTelCity": "山东|济南",
"requestId": "2defa085a7b241dc9d64f80c6e1d0c15",
"eventTime": "2024-07-03 11:45:15",
"channelName": "PJSIP/gateway-0000001d",
"customerDecodeTelNumber": "17615846069",
"projectId": "70038001001",
"channelId": "1719978315.29",
"option": "out"
}
}
6.1.5 正确响应体
json
success
6.2 应答事件推送
由于事件推送为实时消息,推送成功需要客户端提供接口 http POST application/json utf-8 。
注释:返回标识为响应体只返回 success,其他认为失败,并且此条失败的事件不再推送。
6.2.1 功能说明
推送电话接通信息(座席侧/客户侧),呼入只有座席侧事件。
6.2.2 请求路径
客户提供 <http://ip/url,POST方式,请联系运营人员配置。>
6.2.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
requestId | String | 可选 | 请求id |
eventType | String | 可选 | 当前事件常量枚举:RINGING、ANSWERED、HANGUP |
eventTime | String | 可选 | 事件触发时间,yyyy-MM-dd hh:mm:ss |
linkedId | String | 可选 | 一通电话的通话唯一id |
callLeg | String | 可选 | 角色:坐席侧为agent, 客户为customer |
projectId | String | 可选 | 项目id(三级机构编号) |
agentTelNumber | String | 可选 | 坐席侧分机号码 |
agentNumber | String | 可选 | 坐席号 |
crmId | String | 可选 | crmId |
option | String | 可选 | 只对通过接口呼叫有效,通话方向in呼入, out呼出 |
callType | String | 可选 | 通话类型 |
originateUserField | String | 可选 | 只对通过接口呼叫有效,用户自定义字段 |
originateLocation | String | 可选 | 调用来源;1API,2SDK |
customerTelNumber | String | 可选 | 客户侧号码,若开启加密则为加密号码 |
customerDecodeTelNumber | String | 可选 | 真实来电号码字段,开启加密也是非加密号码 |
customerDisplayNumber | String | 可选 | 客户外显 |
customerTelCity | String | 可选 | 客户号码归属地 |
ivrInnerDigitsReceived | String | 可选 | 内部收号信息,一般为空 |
6.2.4 请求体
json
{
"agent": {
"forwardEvent": "0",
"linkedId": "1719978315258.100034",
"sipCallId": "264b7849-905c-44c5-a939-6ce2085b634c",
"callLeg": "agent",
"dialCode": "200",
"eventType": "ANSWERED",
"agentNumber": "700380010012001",
"callType": "0",
"customerDisplayNumber": "18199483103",
"crmId": "",
"customerTelNumber": "17615846069",
"agentTelNumber": "700380010012001",
"customerTelCity": "山东|济南",
"requestId": "264b7849-905c-44c5-a939-6ce2085b634c",
"eventTime": "2024-07-03 11:45:15",
"channelName": "PJSIP/regserver-0000001b",
"projectId": "70038001001",
"channelId": "1719978315258.100034",
"option": "out"
},
"customer": {
"forwardEvent": "0",
"linkedId": "1719978315258.100034",
"sipCallId": "f671f842-e990-4dca-93b1-02bbb686b023",
"callLeg": "customer",
"dialCode": "200",
"eventType": "ANSWERED",
"agentNumber": "700380010012001",
"callType": "0",
"customerDisplayNumber": "18199483103",
"crmId": "",
"customerTelNumber": "17615846069",
"agentTelNumber": "700380010012001",
"customerTelCity": "山东|济南",
"requestId": "2defa085a7b241dc9d64f80c6e1d0c15",
"eventTime": "2024-07-03 11:45:32",
"channelName": "PJSIP/gateway-0000001d",
"projectId": "70038001001",
"channelId": "1719978315.29",
"option": "out"
}
}
6.2.5 正确响应体
json
success
6.3 挂机事件推送
由于事件推送为实时消息,推送成功需要客户端提供接口 http POST application/json utf-8 。注释:返回标识为响应体只返回 success,其他认为失败,并且此条失败的事件不再推送。
6.3.1 功能说明
主叫双方或一方挂机后,推送挂机信息,呼入只有座席侧事件。
6.3.2 请求路径
客户提供 <http://ip/url,POST方式,交由运营人员配置。>
6.3.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
requestId | String | 可选 | 请求id |
eventType | String | 可选 | 当前事件常量枚举:RINGING、ANSWERED、HANGUP |
eventTime | String | 可选 | 事件触发时间,yyyy-MM-dd hh:mm:ss |
linkedId | String | 可选 | 一通电话的通话唯一id |
callLeg | String | 可选 | 角色:坐席侧为agent, 客户为customer |
projectId | String | 可选 | 项目id(三级机构编号) |
agentTelNumber | String | 可选 | 坐席侧分机号码 |
agentNumber | String | 可选 | 坐席号 |
crmId | String | 可选 | crmId |
option | String | 可选 | 只对通过接口呼叫有效,通话方向in呼入, out呼出 |
callType | String | 可选 | 通话类型 |
originateUserField | String | 可选 | 只对通过接口呼叫有效,用户自定义字段 |
originateLocation | String | 可选 | 调用来源;1API,2SDK |
hangupSource | String | 可选 | 挂机方,0坐席挂机,1客户挂机 |
dialCode | String | 可选 | sip 状态码,可找运营人员咨询相关文档 |
answerStatusCode | String | 可选 | 接听状态 呼出:1用户接听(双方接通) 2用户未接 呼入或预测外呼:3坐席接听(双方接通) 4坐席未接 |
customerNoAnsweredCause | String | 可选 | 外呼answerStatusCode=2 的情况下,返回具体的未接原因。"2004":客户空号"2005":客户拒接"2006":客户关机"2007":客户停机"":未识别到具体原因,参考dialCode字段(sip 状态码)自行评估 |
wrapupTime | String | 可选 | 整理时长 |
customerTelNumber | String | 可选 | 客户侧号码,若开启加密则为加密号码 |
customerDecodeTelNumber | String | 可选 | 真实来电号码字段,开启加密也是非加密号码 |
customerDisplayNumber | String | 可选 | 客户外显 |
customerTelCity | String | 可选 | 客户号码归属地 |
startTime | String | 可选 | 开始时间, 不同 callLeg 的各自时间 |
ringTime | String | 可选 | 响铃时间, 不同 callLeg 的各自时间 |
answerTime | String | 可选 | 应答时间, 不同 callLeg 的各自时间 |
endTime | String | 可选 | 结束时间, 不同 callLeg 的各自时间 |
billsec | int | 可选 | 接通时长(秒), 不同 callLeg 的各自时长 |
duration | int | 可选 | 通话时长(秒), 不同 callLeg 的各自时长 |
enterSatisfaction | String | 可选 | 是否进满意度:1 进满意度后挂机,默认空串"callLeg":"customer" 时有效 |
ivrInnerDigitsReceived | String | 可选 | 内部收号信息,一般为空 |
6.3.4 请求体
json
{
"agent": {
"answerTime": "2024-07-03 11:45:15",
"dialCode": "200",
"answerStatusCode": "1",
"callType": "0",
"customerDisplayNumber": "18199483103",
"duration": 43,
"customerTelCity": "山东|济南",
"eventTime": "2024-07-03 11:45:58",
"startTime": "2024-07-03 11:45:15",
"channelId": "1719978315258.100034",
"billsec": 43,
"forwardEvent": "0",
"linkedId": "1719978315258.100034",
"ringTime": "2024-07-03 11:45:15",
"sipCallId": "264b7849-905c-44c5-a939-6ce2085b634c",
"callLeg": "agent",
"enterSatisfaction": "1",
"eventType": "HANGUP",
"agentNumber": "700380010012001",
"wrapupTime": 30,
"crmId": "",
"customerTelNumber": "17615846069",
"agentTelNumber": "700380010012001",
"channelName": "PJSIP/regserver-0000001b",
"endTime": "2024-07-03 11:45:58",
"projectId": "70038001001",
"option": "out"
},
"customer": {
"answerTime": "2024-07-03 11:45:32",
"dialCode": "200",
"answerStatusCode": "1",
"callType": "0",
"customerDisplayNumber": "18199483103",
"duration": 70,
"customerTelCity": "山东|济南",
"eventTime": "2024-07-03 11:46:25",
"startTime": "2024-07-03 11:45:15",
"billsec": 53,
"channelId": "1719978315258.100034",
"forwardEvent": "1",
"linkedId": "1719978315258.100034",
"ringTime": "2024-07-03 11:45:15",
"sipCallId": "f671f842-e990-4dca-93b1-02bbb686b023",
"callLeg": "customer",
"enterSatisfaction": "1",
"eventType": "HANGUP",
"agentNumber": "700380010012001",
"wrapupTime": 30,
"crmId": "",
"customerTelNumber": "17615846069",
"agentTelNumber": "700380010012001",
"channelName": "PJSIP/gateway-0000001d",
"endTime": "2024-07-03 11:46:25",
"projectId": "70038001001",
"option": "out"
}
}
6.3.5 正确响应体
json
success
6.4 按键信息事件推送
由于事件推送为实时消息,推送成功需要客户端提供接口 http POST application/json utf-8 。注释:返回标识为响应体只返回 success,其他认为失败,并且此条失败的事件不再推送。
6.4.1 功能说明
按键结束后,推送按键信息。
6.4.2 请求路径
客户提供 http://ip/url,POST方式,交由运营人员配置。
6.4.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
linkedId | String | 可选 | 一通电话的通话唯一id |
projectId | String | 可选 | 项目id(三级机构编号) |
eventType | String | 可选 | 当前事件类型:KEYS_END |
eventTime | String | 可选 | 事件触发时间,yyyy-MM-dd hh:mm:ss |
customerTelNumber | String | 可选 | 客户侧号码 |
customerDisplayNumber | String | 可选 | 客户外显/热线号码 |
ivrId | String | 可选 | ivrId |
ivrType | String | 可选 | ivr类型,普通IVR:IVR**满意度:SATISFICING |
satisfactionId | String | 可选 | 满意度Id |
ivrNodeId | String | 可选 | ivr节点id |
ivrNodeType | String | 可选 | 节点类型,选择节点(单按键):menu收号节点(多按键):digits |
keys | String | 可选 | 按键信息 |
callType | String | 可选 | 通话类型 |
6.4.4 请求体
JSON
{
"linkedId": "devc2-1730278322.2358",
"ivrNodeId": "408",
"keys": "4",
"ivrType": "IVR",
"eventType": "KEYS_END",
"ivrNodeType": "menu",
"callType": "30",
"customerDisplayNumber": "18230236437",
"customerTelNumber": "13666666666",
"requestId": "e5340b9cc7bd71d7d74b9526252b4d62",
"eventTime": "2024-10-30 16:52:05",
"projectId": "20020001001",
"satisfactionId": "",
"ivrId": "2"
}
6.4.5 正确响应体
JSON
success
6.5 满意度事件推送
由于事件推送为实时消息,推送成功需要客户端提供接口 http POST application/json utf-8 。注释:返回标识为响应体只返回 success,其他认为失败,并且此条失败的事件不再推送。
6.5.1 功能说明
满意度结束后,推送信息。
6.5.2 请求路径
客户提供 http://ip/url,POST方式,交由运营人员配置。
6.5.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
linkedId | String | 可选 | 一通电话的通话唯一id |
projectId | String | 可选 | 项目id(三级机构编号) |
eventType | String | 可选 | 当前事件类型:IVR_SATISFACTION_END |
eventTime | String | 可选 | 事件触发时间,yyyy-MM-dd hh:mm:ss |
customerTelNumber | String | 可选 | 客户侧号码 |
customerDisplayNumber | String | 可选 | 外显号码/热线号码 |
ivrId | String | 可选 | ivrId |
ivrType | String | 可选 | ivr类型,满意度:SATISFICING |
satisfactionId | String | 可选 | 满意度Id |
keys | String | 可选 | 按键信息,如果配置多层级满意度评价,则按","分割如:1,2,2 |
callType | String | 可选 | 通话类型 |
agentNumber | String | 可选 | 最后坐席工号 |
startTime | String | 可选 | 开始时间,yyyy-MM-dd hh:mm:ss |
endTime | String | 可选 | 结束时间,yyyy-MM-dd hh:mm:ss |
6.5.4 请求体
JSON
{
"linkedId": "devc2-1730283488.2393",
"keys": "1",
"ivrType": "SATISFICING",
"eventType": "IVR_SATISFACTION_END",
"agentNumber": "200200010011007",
"callType": "31",
"customerDisplayNumber": "18230236437",
"customerTelNumber": "13666666666",
"requestId": "ce54dad1a18201e08177ce6fa81b8da0",
"eventTime": "2024-10-30 18:19:10",
"startTime": "2024-10-30 18:18:57",
"endTime": "2024-10-30 18:19:10",
"projectId": "20020001001",
"satisfactionId": "305",
"ivrId": "2"
}
6.5.5 正确响应体
JSON
success
6.6 IVR交互结束事件推送
由于事件推送为实时消息,推送成功需要客户端提供接口 http POST application/json utf-8 。注释:返回标识为响应体只返回 success,其他认为失败,并且此条失败的事件不再推送。
6.6.1 功能说明
进入IVR,需要动态http交互的,等待交互结束后,推送信息。
6.6.2 请求路径
客户提供 http://ip/url,POST方式,交由运营人员配置。
6.6.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
linkedId | String | 可选 | 一通电话的通话唯一id |
projectId | String | 可选 | 项目id(三级机构编号) |
eventType | String | 可选 | 当前事件类型:IVR_HTTP_END |
eventTime | String | 可选 | 事件触发时间,yyyy-MM-dd hh:mm:ss |
customerTelNumber | String | 可选 | 客户侧号码 |
customerDisplayNumber | String | 可选 | 客户外显/热线号码 |
ivrId | String | 可选 | ivrId |
ivrType | String | 可选 | ivr类型,普通IVR:IVR**满意度:SATISFICING |
satisfactionId | String | 可选 | 满意度Id |
ivrNodeId | String | 可选 | ivr节点id |
ivrNodeType | String | 可选 | 节点类型,交互节点为固定值:userjson |
httpRequestUrl | String | 可选 | 请求url |
httpRequestMethod | String | 可选 | 请求方法 |
httpRequestHeaders | Object | 可选 | 请求头 |
httpRequestBody | Object | 可选 | 请求体 |
httpResponse | Object | 可选 | 响应信息 |
6.6.4 请求体
JSON
{
"httpRequestHeaders": {
},
"httpRequestBody": {
"projectId": "20020001001"
},
"linkedId": "devc2-1730283338.2391",
"ivrNodeId": "1819",
"httpRequestUrl": "http://192.168.0.10:8400/inner-api/ael/queryFreeAgent?projectId=20020001001",
"ivrType": "IVR",
"eventType": "IVR_HTTP_END",
"ivrNodeType": "userjson",
"httpRequestMethod": "GET",
"customerDisplayNumber": "18230236437",
"customerTelNumber": "13666666666",
"requestId": "fff644e5eefe46d9801787fd954b0f89",
"eventTime": "2024-10-30 18:15:42",
"satisfactionId": "",
"httpResponse": {
"msg": "请求成功",
"code": 0,
"data": {
"agentId": "1007",
"count": 1
},
"timestamp": "2024-10-30 18:15:42"
},
"projectId": "20020001001",
"ivrId": "2"
}
6.6.5 正确响应体
JSON
success
6.7 机器人文本事件推送
由于事件推送为实时消息,推送成功需要客户端提供接口 http POST application/json utf-8 。注释:返回标识为响应体只返回 success,其他认为失败,并且此条失败的事件不再推送。
6.7.1 功能说明
机器人呼叫,转人工,坐席响铃时推送机器人事件。
6.7.2 请求路径
客户提供 http://ip/url,POST方式,交由运营人员配置(机器人系统配置)。
6.7.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
textSendData | obj | 可选 | 文本内容 |
textSendData.linkedId | String | 可选 | 一通电话的通话唯一id |
textSendData.projectId | String | 可选 | 项目id(三级机构编号) |
textSendData.eventType | String | 可选 | 当前事件类型:AISENDTEXT |
textSendData.eventTime | String | 可选 | 事件触发时间,yyyy-MM-dd hh:mm:ss |
textSendData.requestId | String | 可选 | 请求id |
textSendData.cvList | array | 可选 | 机器人、客户的文本对话 |
textSendData.cvList[0].botText | String | 可选 | 机器人文本 |
textSendData.cvList[0].userText | String | 可选 | 客户文本 |
textSendData.cvList[0].botTimestamp | String | 可选 | 机器人文本时间、yyyy-MM-dd hh:mm:ss |
textSendData.cvList[0].userTimestamp | String | 可选 | 客户文本时间、yyyy-MM-dd hh:mm:ss |
6.7.4 请求体
JSON
{
"textSendData": {
"linkedId": "devc2-1735545655231.100020",
"cvList": [
{
"botText": "喂,您好,这边是中华车险,本次致电呢,是可以给您设计一个专业的车险投保方案,您做个参考,好吧?",
"botTimestamp": "2024-12-30 16:01:01",
"userTimestamp": "2024-12-30 16:01:13",
"directVariables": [
],
"userText": "好的"
},
{
"botText": "",
"botTimestamp": "2024-12-30 16:01:13",
"userTimestamp": "",
"userText": ""
}
],
"requestId": "0af068a0266b4d628b51f06586e55f32",
"eventTime": "2024-12-30 16:01:13",
"eventType": "AISENDTEXT",
"projectId": "20020001001"
}
}
6.7.5 正确响应体
JSON
success
6.8 机器人标签事件推送
由于事件推送为实时消息,推送成功需要客户端提供接口 http POST application/json utf-8 。注释:返回标识为响应体只返回 success,其他认为失败,并且此条失败的事件不再推送。
6.8.1 功能说明
机器人呼叫,转人工,坐席响铃时推送机器人事件。
6.8.2 请求路径
客户提供 http://ip/url,POST方式,交由运营人员配置(机器人系统配置)。
6.8.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
labelsSendData | obj | 可选 | 标签内容 |
labelsSendData.linkedId | String | 可选 | 一通电话的通话唯一id |
labelsSendData.projectId | String | 可选 | 项目id(三级机构编号) |
labelsSendData.eventType | String | 可选 | 当前事件类型:AISENDLABEL |
labelsSendData.eventTime | String | 可选 | 事件触发时间,yyyy-MM-dd hh:mm:ss |
labelsSendData.requestId | String | 可选 | 请求id |
labelsSendData.customLabels | array | 可选 | 客户标签 |
labelsSendData.customLabels[0].labelValue | String | 可选 | 客户标签值 |
labelsSendData.customLabels[0].description | String | 可选 | 客户标签值描述 |
labelsSendData.intentLabels | String | 可选 | 内部标签 |
labelsSendData.intentLabels[0].labelValue | String | 可选 | 内部标签值 |
labelsSendData.intentLabels[0].description | String | 可选 | 内部标签值描述 |
6.8.4 请求体
JSON
{
"labelsSendData": {
"linkedId": "devc2-1735545655231.100020",
"requestId": "01f0ffb9cfdb4945999733d595af0952",
"customLabels": [
],
"eventTime": "2024-12-30 16:01:13",
"intentLabels": [
],
"eventType": "AISENDLABEL",
"projectId": "20020001001"
}
}
6.8.5 正确响应体
JSON
success
7. 话单管理
7.1 话单推送
由于话单推送为实时消息,推送成功需要客户端提供接口 http POST application/json utf-8 。注释:返回标识为响应体只返回 success,其他认为失败,并且此条失败的话单达到配置的重试次数后不再推送。
7.1.1 功能说明
挂机后开始实时推送话单。
7.1.2 请求路径
客户提供 <http://ip/url,POST方式,请联系运营人员配置。>
7.1.3 参数说明
POST body参数名
POST参数名 | 要求 | 类型 | 备注 |
---|---|---|---|
projectId | 必选 | string | 该机构的机构编码 |
agentId | 可选 | string | 座席工号 |
crmId | 可选 | string | 座席自定义工号 |
extension | 可选 | string | 座席号码(分机号/手机号) |
startDate | 必选 | string | 呼叫开始日期 (yyyy-MM-dd) |
startTime | 必选 | string | 开始时间(yyyy-MM-dd HH:mm:ss) |
ringTime | 可选 | string | 响铃时间(yyyy-MM-dd HH:mm:ss) |
answerTime | 可选 | string | 接听时间(yyyy-MM-dd HH:mm:ss) |
endTime | 必选 | string | 结束时间(yyyy-MM-dd HH:mm:ss) |
telX | 必选 | string | 外显号码 |
telB | 必选 | string | 被叫号码 |
encodeTelB | 可选 | string | 加密被叫号码 |
durationMs | 必选 | int | 总时长 (毫秒) |
answerMs | 必选 | int | 通话时长 (毫秒) |
satisfaction | 可选 | int | 满意度(-1为无满意度) |
agentIsAnswer | 必选 | int | 座席是否接听 (1:接听; 0:未接听; ) |
customerIsAnswer | 必选 | int | 客户是否接听 (1:接听; 0:未接听; ) |
callType | 必选 | int | 呼叫类型(1:呼出; 2:两端呼叫; 3:单端呼转接; ...) |
linkedId | 必选 | string | 通话唯一标识 |
recordUrl | 可选 | string | 通话录音地址 |
ivrId | 可选 | int | ivr的唯一标识 |
userField | 可选 | string | 用户自定义字段 |
hangupSide | 必选 | int | 挂机方(1:座席; 2:客户; 3:系统; ) |
hangupCauseCode | 可选 | string | Q850码 |
trunkNumberGroupId | 必选 | int | 中继号码组ID |
trunkNumberGroup | 必选 | string | 中继号码组名称 |
numberGroupId | 可选 | string | 自定义号码组ID |
numberGroupName | 可选 | string | 自定义号码组名称 |
ivrInnerDigitsReceived | 可选 | string | 内部收号信息,一般为空 |
callResult | 可选 | string | 呼叫结果: 详情请前往目录 "数据字典" -> "呼叫结果" 中查看 |
callProcess | 可选 | array | 呼叫座席明细 |
呼叫座席明细
POST参数名 | 要求 | 类型 | 备注 |
---|---|---|---|
agentId | 可选 | string | 座席工号 |
crmId | 可选 | string | 座席自定义工号 |
extension | 可选 | string | 座席号码 (分机号码/手机号码) |
transferNumber | 可选 | string | 转外线时的手机号码 |
startTime | 必选 | string | 开始时间(yyyy-MM-dd HH:mm:ss) |
answerTime | 可选 | string | 接听时间(yyyy-MM-dd HH:mm:ss) |
endTime | 必选 | string | 结束时间(yyyy-MM-dd HH:mm:ss) |
answerMs | 必选 | int | 通话时长 (毫秒) |
durationMs | 必选 | int | 总时长 (毫秒) |
7.1.4 请求体
json
{
"id": "123",
"projectId": "987654",
"agentId": "1001",
"crmId": "A1001",
"extension": "1001",
"startDate": "2023-10-01",
"startTime": "2023-10-01 10:00:00",
"answerTime": "2023-10-01 10:00:05",
"endTime": "2023-10-01 10:10:00",
"telX": "17600000000",
"telB": "17600000000",
"encodeTelB": "17612340000",
"durationMs": 600000,
"answerMs": 595000,
"satisfaction": 1,
"agentIsAnswer": 1,
"customerIsAnswer": 1,
"callType": 0,
"linkedId": "1561741161.0001",
"recordUrl": "http://example.com/recordings/123456789.mp3",
"callProcess": [
{
"agentId": "1001",
"crmId": "A1001",
"extension": "1001",
"startTime": "2023-10-01 10:00:00",
"answerTime": "2023-10-01 10:00:05Z",
"endTime": "2023-10-01 10:10:00Z",
"answerMs": 595000,
"durationMs": 600000
}
],
"ivrId": 10,
"userField": "",
"hangupSide": 1,
"hangupCauseCode": "480",
"trunkNumberGroupId": 1001,
"trunkNumberGroup": "xxx",
"numberGroupId": "",
"numberGroupName": ""
}
7.1.5 正确响应体
json
success
7.2 话单查询
7.2.1 功能说明
客户主动查询话单接口
7.2.2 请求路径
GET https://ip/dky-open-api/version-2.0.0/cdrlist?projectId=×tamp=&sign=
7.2.3 请求参数说明
参数名 | 类型 | 必选 | 备注 |
---|---|---|---|
pageNo | int | 否 | 当前页码 (默认1) |
pageSize | int | 否 | 每页条数 (默认10) |
linkedId | string | 否 | 通话唯一id(注:通话Id和开始时间+结束时间 必传其一 都传优先按通话Id查) |
callType | int | 否 | 呼叫类型 (1:呼出; 2:呼入; 3:预测; ) |
startTime | string | 否 | 开始时间 (yyyy-MM-dd HH:mm:ss) (注:通话Id和开始时间+结束时间 必传其一 都传优先按通话Id查) |
endTime | string | 否 | 结束时间 (yyyy-MM-dd HH:mm:ss) (注:通话Id和开始时间+结束时间 必传其一 都传优先按通话Id查) |
cdrCustomerDataIdStart | String | 否 | 开始id(202407113000) |
control | String | 否 | 是否加密(默认0-不加密、1-加密) |
trunkNumberGroupId | int | 否 | 中继号码组ID |
trunkNumberGroup | string | 否 | 中继号码组名称 |
numberGroupId | string | 否 | 自定义号码组ID |
numberGroupName | string | 否 | 自定义号码组名称 |
ivrId | Int | 否 | IVR ID(callType传入2可选) |
queueNumber | String | 否 | 队列号(callType传入2可选) |
7.2.4 请求体
无
7.2.5 响应参数说明
参数名 | 要求 | 类型 | 备注 |
---|---|---|---|
totalCount | 必选 | Int | 总记录数 |
pageSize | 必选 | Int | 每页记录数 |
totalPage | 必选 | Int | 总页数 |
currPage | 必选 | Int | 当前页码 |
list | 可选 | Array | 话单信息数组 |
话单信息
参数名 | 要求 | 类型 | 备注 |
---|---|---|---|
projectId | 必选 | string | 该机构的机构编码 |
agentNumber | 可选 | string | 座席工号 |
crmId | 可选 | string | 座席自定义工号 |
extension | 可选 | string | 座席使用的号码 (分机号/手机号) |
transferNumber | 可选 | string | 转外线时的手机号码 |
callType | 必选 | int | 呼叫类型 |
startTime | 必选 | string | 开始呼叫时间 |
ringTime | 可选 | string | 响铃时间 |
answerTime | 可选 | string | 接听时间 |
endTime | 必选 | string | 结束时间 |
telX | 必选 | string | 外显号码 |
telB | 必选 | string | 被叫号码 |
calledNumberAreaCode | 可选 | string | 被叫号码区号 |
calledNumberProvince | 可选 | string | 被叫号码省份 |
calledNumberCity | 可选 | string | 被叫号码城市 |
duration | 必选 | int | 总时长 |
answer | 必选 | int | 接听通话 |
agentIsAnswer | 必选 | int | 座席是否接听 |
customerIsAnswer | 必选 | int | 客户是否接听 |
satisfaction | 可选 | int | 满意度按键 |
satisfactionName | 可选 | string | 满意度名称 |
satisfactionStartTime | 可选 | string | 满意度开始时间 |
satisfactionEndTime | 可选 | string | 满意度结束时间 |
linkedId | 必选 | string | 通话唯一标识 |
recordUrl | 必选 | string | 通话录音地址 |
trunkNumberGroupId | 必选 | int | 中继号码组ID |
trunkNumberGroup | 必选 | string | 中继号码组名称 |
numberGroupId | 可选 | string | 自定义号码组ID |
numberGroupName | 可选 | string | 自定义号码组名称 |
callProcessList | 必选 | Array | 通话过程 |
userField | 可选 | string | 用户自定义字段 |
id | 必选 | String | 主键id |
ivrId | 可选 | int | IVR ID |
queueNumber | 可选 | String | 队列号 |
callResult | 必选 | String | 呼叫结果: 详情请前往目录 "数据字典" -> "呼叫结果" 中查看 |
hangupSide | 必选 | int | 挂机方 (1:座席; 2:客户; 3:系统; ) |
billingId | 可选 | string | 通话状态, 详情请前往目录 "数据字典" -> "通话状态" 中查看 |
通话过程
参数名 | 类型 | 备注 |
---|---|---|
agentNumber | string | 座席工号 |
crmId | string | 座席自定义工号 |
agentName | string | 座席姓名 |
extension | string | 分机号码 |
startTime | string | 开始时间 |
ringTime | string | 响铃时间 |
answerTime | string | 接听时间 |
endTime | string | 结束时间 |
answer | Int | 接听时长 |
duration | Int | 总时长 |
callType | string | 呼叫类型 |
callMemoryType | string | 主叫记忆类型 |
recordUrl | string | 录音地址 |
7.2.6 响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"timestamp": "2025-05-10 10:00:00",
"data": {
"totalCount": 1,
"pageSize": 10,
"totalPage": 1,
"currPage": 1,
"list": [
{
"projectId": "20020001001",
"agentNumber": "1003",
"crmId": "1003yj",
"extension": "1003",
"callType": 1,
"startTime": "2025-05-08 18:09:26",
"ringTime": "2025-05-08 18:09:29",
"answerTime": "2025-05-08 18:09:34",
"endTime": "2025-05-08 18:10:12",
"telX": "18945394283",
"telB": "18031924210",
"calledNumberAreaCode": "0311",
"calledNumberProvince": "河北",
"calledNumberCity": "石家庄",
"duration": 46,
"answer": 38,
"agentIsAnswer": 1,
"customerIsAnswer": 1,
"satisfaction": -1,
"satisfactionId": 305,
"satisfactionName": "测试多级满意度",
"satisfactionStartTime": "2025-05-08 18:09:26",
"satisfactionEndTime": "2025-05-08 18:10:12",
"recordUrl": "https://dkycc2-dev-uat.obs.cn-north-4.myhuaweicloud.com/20020001001/20250508/20020001001-20250508180926-0-18945394283-200200010011003-0-devc2-1746698966465.100001-gateway-00000001-doubleTrack-gateway-entire.mp3",
"linkedId": "devc2-1746698966465.100001",
"callProcessList": [
{
"agentNumber": "1003",
"crmId": "1003yj",
"agentName": "杨佳",
"extension": "1003",
"startTime": "2025-05-08 18:09:26",
"ringTime": "2025-05-08 18:09:26",
"answerTime": "2025-05-08 18:09:26",
"endTime": "2025-05-08 18:10:12",
"answer": "00:00:38",
"duration": "00:00:46",
"callType": "CALL_TO_CUSTOMER",
"callMemoryType": "out",
"recordUrl": "https://dkycc2-dev-uat.obs.cn-north-4.myhuaweicloud.com/20020001001/20250508/20020001001-20250508180934-0-18945394283-200200010011003-0-devc2-1746698966465.100001-regserver-00000000-doubleTrack.mp3"
}
],
"userField": "测试自定义",
"callResult": "BOTH_SIDES_ANSWER",
"hangupSide": 2,
"trunkNumberGroupId": 245,
"trunkNumberGroup": "TNCSV2UAT0001",
"numberGroupId": "153",
"numberGroupName": "测试号码组",
"ivrId": 10,
"queueNumber": "1004",
"id": 202505082,
"billingId": "1"
}
]
}
}
7.3 获取来电记录详情
7.3.1 功能说明
获取来电记录详情接口
7.3.2 请求路径
GET https://ip/dky-open-api/version-2.0.0/inprocess?projectId=×tamp=&sign=
7.3.3 请求参数说明
参数名 | 要求 | 类型 | 备注 |
---|---|---|---|
linkedId | 必选 | String | 通话唯一标识 |
7.3.4 请求体
无
7.3.5 响应参数说明
参数名 | 类型 | 说明 | 备注 |
---|---|---|---|
code | Int | 响应码 | "200" 成功,其它均为失败 |
status | String | 状态 | "success" 成功,其它均为失败 |
msg | String | 消息 | 失败信息 |
data | CdrDetail[] | 通话详情 |
CdrDetail参数说明
参数名 | 要求 | 类型 | 备注 |
---|---|---|---|
agentNumber | 可选 | String | 座席工号 |
crmId | 可选 | String | 自定义工号 |
agentName | 可选 | String | 座席姓名 |
callType | 必选 | String | 呼叫类型: ”详情请前往目录 "数据字典" -> "通话详情呼叫类型" 中查看 |
callMemoryType | 可选 | String | 主叫记忆:in:呼入记忆, out:呼出记忆 |
extension | 可选 | String | 座席电话:手机号/IP话机/WebRTC |
transferNumber | 可选 | string | 转外线时的手机号码 |
startTime | 必选 | String | 开始时间:yyyy-MM-dd HH:mm:ss |
ringTime | 可选 | String | 响铃时间:yyyy-MM-dd HH:mm:ss |
answerTime | 可选 | String | 接通时间:yyyy-MM-dd HH:mm:ss |
endTime | 必选 | String | 结束时间:yyyy-MM-dd HH:mm:ss |
answer | 必选 | String | 通话时长:HH:mm:ss |
duration | 必选 | String | 总时长:HH:mm:ss |
recordUrl | 可选 | String | 通话录音地址 |
callResult | 必选 | String | 呼叫结果:详情请前往目录 "数据字典" -> "通话详情呼叫结果" 中查看 |
7.3.6 响应体
JSON
{
"code": 200,
"status": "success",
"msg": "成功",
"data": [
{
"agentNumber": "1008",
"crmId": "0921",
"agentName": "张鹏一军",
"extension": "1008",
"transferNumber": "001278998521",
"startTime": "2025-01-06 15:07:28",
"ringTime": "2025-01-06 15:07:29",
"answerTime": "2025-01-06 15:07:30",
"endTime": "2025-01-06 15:07:30",
"answer": "00:00:00",
"duration": "00:00:02",
"callType": "CALL_TO_AGENT",
"callMemoryType": "out",
"callResult": "AGENT_NOT_ANSWER",
"recordUrl": "https://dkycc2-dev-uat.obs.cn-north-4.myhuaweicloud.com/20020001001/20250508/20020001001-20250508181232-0-18945394283-200200010011003-0-devc2-1746699144804.100003-regserver-00000002-doubleTrack.mp3"
}
]
}
7.4 获取IVR流程
7.4.1 功能说明
获取ivr流程接口
7.4.2 请求路径
GET https://ip/dky-open-api/version-2.0.0/ivrprocess?projectId=×tamp=&sign=
7.4.3 请求参数说明
参数名 | 要求 | 类型 | 备注 |
---|---|---|---|
linkedId | 必选 | String | 通话唯一标识 |
7.4.4 请求体
无
7.4.5 响应参数说明
参数名 | 类型 | 说明 | 备注 |
---|---|---|---|
code | Int | 响应码 | "200" 成功,其它均为失败 |
status | String | 状态 | "success" 成功,其它均为失败 |
msg | String | 消息 | 失败信息 |
data | CdrIvr[] | IVR 流程信息 |
CdrIvr参数说明
参数名 | 要求 | 类型 | 备注 |
---|---|---|---|
ivrId | String | IVR ID | |
ivrName | String | IVR 名称 | |
nodeId | String | 节点 ID | |
nodeName | String | 节点名称 | |
nodeType | String | 节点类型:详情请前往目录 "数据字典" -> "节点类型" 中查看 | |
nodeData | String | 节点数据:选择节点按键信息 | |
startTime | String | 开始时间:yyyy-MM-dd HH:mm:ss | |
endTime | String | 结束时间:yyyy-MM-dd HH:mm:ss | |
duration | Int | 总时长:秒 | |
nodeSort | Int | 节点顺序 |
7.4.6 响应体
JSON
{
"code": 200,
"status":"success",
"msg": "成功",
"data": [
{
"ivrId": "1",
"ivrName": "售后IVR",
"nodeId": "1",
"nodeName": "按键菜单节点",
"nodeType": "menu",
"nodeData": null,
"startTime": "2024-10-23 09:10:56",
"endTime": "2024-10-23 09:11:06",
"duration": 10,
"nodeSort": 1
},
{
"ivrId": "1",
"ivrName": "售后IVR",
"nodeId": "2",
"nodeName": "人工客服队列",
"nodeType": "queue",
"nodeData": null,
"startTime": "2024-10-23 09:11:10",
"endTime": "2024-10-23 09:12:38",
"duration": 88,
"nodeSort": 2
}
]
}
7.5获取满意度记录
获取满意度记录接口
7.5.1请求路径
GET https://ip/dky-open-api/version-2.0.0/satisfactionlist?projectId=×tamp=&sign=
7.5.2 请求参数说明
参数名 | 要求 | 类型 | 备注 |
---|---|---|---|
linkedId | 可选 | String | 通话唯一标识 |
startTime | 可选 | String | 满意度开始时间 |
endTime | 可选 | String | 满意度结束时间 |
pageNo | 可选 | Int | 当前页码:默认1 |
pageSize | 可选 | Int | 页面大小:默认10 |
7.5.3请求体
无
7.5.4 响应参数说明
参数名 | 要求 | 类型 | 备注 |
---|---|---|---|
code | Int | 响应码 | "200" 成功,其它均为失败 |
status | String | 状态 | "success" 成功,其它均为失败 |
msg | String | 消息 | 失败信息 |
data | Page | 分页信息 |
Page参数说明
参数名 | 要求 | 类型 | 备注 |
---|---|---|---|
currPage | 必选 | Int | 当前页码 |
pageSize | 必选 | Int | 页面大小 |
totalCount | 必选 | Int | 总数据量 |
totalPage | 必选 | Int | 总页码 |
list | 必选 | Satisfaction[] | 满意度信息 |
Satisfaction参数说明
参数 | 要求 | 类型 | 描述 | 备注 |
---|---|---|---|---|
linkedId | String | 通话唯一标识 | ||
satisfactionId | String | 满意度ID | ||
agentNumber | String | 座席工号 | ||
name | String | 满意度导航名称 | ||
customerDisplayNumber | String | 外显号码/热线号码 | ||
customerNumber | String | 客户号码 | ||
callType | String | 呼叫类型 | 详情请前往目录 "数据字典" -> "呼叫类型" 中查看 | |
satisfaction | String | 满意度按键 | -1: 未进入满意度0: 进入满意度未按键其他均为满意度按键值,如果配置多层级满意度评价,按 "," 分割 如: 1,2,3 | |
satisfactionStartTime | String | 满意度进入时间 | yyyy-MM-dd HH:mm:ss | |
satisfactionEndTime | String | 满意度结束时间 | yyyy-MM-dd HH:mm:ss | |
duration | Int | 总时长 | 秒 |
7.5.5 响应体
JSON
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {
"totalCount": 2,
"pageSize": 10,
"totalPage": 1,
"currPage": 1,
"list": [
{
"linkedId": "devc2-1747367015.200",
"callType": 7,
"satisfactionId": 305,
"satisfaction": "0",
"satisfactionStartTime": "2025-05-16 11:44:29",
"satisfactionEndTime": "2025-05-16 11:44:39",
"name": "测试多级满意度",
"agentNumber": "2050",
"customerDisplayNumber": "18945394283",
"customerNumber": "18911610325",
"duration": 10
},
{
"linkedId": "devc2-1747366057.166",
"callType": 7,
"satisfactionId": 305,
"satisfaction": "0",
"satisfactionStartTime": "2025-05-16 11:29:35",
"satisfactionEndTime": "2025-05-16 11:29:47",
"name": "测试多级满意度",
"agentNumber": "2050",
"customerDisplayNumber": "18945394283",
"customerNumber": "18911610325",
"duration": 12
}
]
}
}
7.6来电通话记录
获取来电通话记录接口
7.6.1请求路径
GET https://ip/dky-open-api/version-2.0.0/callLog?projectId=×tamp=&sign=
7.6.2 请求参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
pageNo | int | 可选 | 当前页码,默认1 |
pageSize | int | 可选 | 页面大小,默认10 |
status | string | 可选 | 接听状态,详情请前往目录 "数据字典" -> "呼叫结果" -> "呼入" 中查看 |
startTime | string | 可选 | 开始时间,yyyy-MM-dd HH:mm:ss |
endTime | string | 可选 | 结束时间,yyyy-MM-dd HH:mm:ss |
customerNumber | string | 可选 | 客户号码 |
hotline | string | 可选 | 热线号码 |
agentNumber | string[] | 可选 | 座席工号,支持多个座席工号传入 |
answerStart | int | 可选 | 通话时长起始值,秒 |
answerEnd | int | 可选 | 通话时长结束值,秒 |
hangupSide | int | 可选 | 挂机方 (1:座席; 2:客户; 3:系统; ) |
customerNumberProvince | string | 可选 | 客户号码省份 |
linkedId | string | 可选 | 通话唯一标识 |
7.6.3请求体
无
7.6.4 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
totalCount | int | 总记录数 |
pageSize | int | 每页记录数 |
totalPage | int | 总页数 |
currPage | int | 当前页码 |
list | Cdr[] | 通话记录 |
Cdr参数说明
参数名 | 类型 | 备注 |
---|---|---|
callType | string | 呼叫类型“呼入” |
status | string | 接听状态,详情请前往目录 "数据字典" -> "呼叫结果" -> "呼入" 中查看 |
customerNumber | string | 客户号码 |
customerNumberAreaCode | string | 客户号码区号 |
customerNumberProvince | string | 客户号码省份 |
customerNumberCity | string | 客户号码城市 |
hotline | string | 热线号码 |
calleeNumber | string | 座席电话 |
ivrId | int | IVR ID |
queueNumber | string | 队列号 |
queueName | string | 队列名称 |
startTime | string | 进线时间,yyyy-MM-dd HH:mm:ss |
answerTime | string | 座席接听时间,yyyy-MM-dd HH:mm:ss |
endTime | string | 结束时间,yyyy-MM-dd HH:mm:ss |
agentNumber | string | 座席工号 |
agentName | string | 座席名称 |
agentCrmNumber | string | 座席自定义工号 |
bridgeDuration | int | 通话时长,从座席开始接听到双方挂机endTime-answerTime |
totalDuration | int | 总通话时长,客户呼入到系统直到通话结束endTime-startTime |
hangupSide | int | 挂机方 (1:座席; 2:客户; 3:系统; ) |
recordUrl | string | 录音地址 |
linkedId | string | 通话唯一标识 |
sipCode | string | sip状态码 |
callMemoryType | string | 主叫记忆 (in:呼入; out:呼出; ) |
7.6.5 响应体
JSON
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {
"totalCount": 1,
"pageSize": 100,
"totalPage": 1,
"currPage": 1,
"list": [
{
"callType": "呼入",
"status": "AGENT_ANSWER",
"customerNumber": "15387533048",
"customerNumberAreaCode": "0731",
"customerNumberProvince": "湖南",
"customerNumberCity": "长沙",
"hotline": "01056016014",
"calleeNumber": "995",
"ivrId": 1,
"queueNumber": "1234",
"queueName": "测试队列1234",
"startTime": "2024-11-27 18:45:27",
"answerTime": "2024-11-27 18:45:42",
"endTime": "2024-11-27 18:46:42",
"agentNumber": "995",
"agentName": "赵颖",
"agentCrmNumber": "11",
"bridgeDuration": 60,
"totalDuration": 75,
"hangupSide": 3,
"recordUrl": "https://dkycc2-dev-uat.obs.cn-north-4.myhuaweicloud.com/70037001001/20241127/70037001001-20241127184527-15387533048---0-uatc1-1732704327.185-gateway-00000057-doubleTrack-gateway-entire.mp3",
"linkedId": "uatc1-1732704327.185",
"sipCode": "200",
"callMemoryType" : "out",
}
]
},
"timestamp": "2024-12-03 14:58:18"
}
7.7外呼通话记录
获取外呼通话记录接口
7.7.1请求路径
GET https://ip/dky-open-api/version-2.0.0/outboundCallLog?projectId=×tamp=&sign=
7.7.2 请求参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
pageNo | int | 可选 | 当前页码,默认1 |
pageSize | int | 可选 | 页面大小,默认10 |
startTime | string | 可选 | 开始时间,yyyy-MM-dd HH:mm:ss |
endTime | string | 可选 | 结束时间,yyyy-MM-dd HH:mm:ss |
status | string | 可选 | 接听状态,详情请前往目录 "数据字典" -> "呼叫结果" -> "外呼" 中查看 |
customerNumber | string | 可选 | 客户号码 |
customerNumberProvince | string | 可选 | 客户号码省份 |
displayNumber | string | 可选 | 外显号码 |
agentNumberList | string[] | 可选 | 座席工号 |
calleeNumber | string | 可选 | 座席分机号/手机号 |
hangupSide | int | 可选 | 挂机方 (1:座席; 2:客户; 3:系统; ) |
answerStart | int | 可选 | 通话时长起始值,秒 |
answerEnd | int | 可选 | 通话时长结束值,秒 |
linkedId | string | 可选 | 通话唯一标识 |
durationStart | int | 可选 | 总时长起始值,秒 |
durationEnd | int | 可选 | 总时长结束值,秒 |
7.7.3请求体
无
7.7.4 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
totalCount | int | 总记录数 |
pageSize | int | 每页记录数 |
totalPage | int | 总页数 |
currPage | int | 当前页码 |
list | Cdr[] | 通话记录 |
Cdr参数说明
参数名 | 类型 | 备注 |
---|---|---|
callType | string | 呼叫类型“外呼” |
status | string | 接听状态,详情请前往目录 "数据字典" -> "呼叫结果" -> "外呼" 中查看 |
customerNumber | string | 客户号码 |
customerNumberAreaCode | string | 客户号码区号 |
customerNumberProvince | string | 客户号码省份 |
customerNumberCity | string | 客户号码城市 |
agentNumber | string | 座席工号 |
agentName | string | 座席名称 |
agentCrmNumber | string | 座席自定义工号 |
calleeNumber | string | 座席电话 |
displayNumber | string | 外显号码 |
displayNumberProvince | string | 外显号码省份 |
displayNumberCity | string | 外显号码城市 |
startTime | string | 开始时间,yyyy-MM-dd HH:mm:ss |
ringTime | string | 响铃时间,yyyy-MM-dd HH:mm:ss |
answerTime | string | 客户接听时间,yyyy-MM-dd HH:mm:ss |
endTime | string | 结束时间,yyyy-MM-dd HH:mm:ss |
bridgeDuration | int | 通话时长,从座席开始接听到双方挂机endTime-answerTime |
totalDuration | int | 总通话时长,座席发起呼叫到双方挂机endTime-startTime |
hangupSide | int | 挂机方 (1:座席; 2:客户; 3:系统; ) |
recordUrl | string | 录音地址 |
linkedId | string | 通话唯一标识 |
trunkNumberGroup | string | 中继号码组中继号码组名称+ID |
customNumberGroup | string | 自定义号码组自定义号码组名称+ID |
sipCode | string | sip状态码 |
7.7.5 响应体
JSON
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {
"totalCount": 1,
"pageSize": 100,
"totalPage": 1,
"currPage": 1,
"list": [
{
"callType": "外呼",
"status": "CUSTOMER_NO_ANSWER",
"customerNumber": "15931037982",
"customerNumberAreaCode": "0310",
"customerNumberProvince": "河北",
"customerNumberCity": "邯郸",
"agentNumber": "1002",
"agentName": "温佳欣",
"agentCrmNumber": "xinxinzi",
"calleeNumber": "1002",
"displayNumber": "01056016014",
"displayNumberProvince": "北京",
"displayNumberCity": "北京",
"startTime": "2024-11-29 10:27:11",
"ringTime": "2024-11-29 10:27:11",
"answerTime": "2024-11-29 10:27:16",
"endTime": "2024-11-29 10:27:39",
"bridgeDuration": 23,
"totalDuration": 28,
"hangupSide": 1,
"recordUrl": "https://dkycc2-dev-uat.obs.cn-north-4.myhuaweicloud.com/70037001001/20241129/70037001001-20241129102712-15931037982-09912253822-700370010011002-0-uatc1-1732847231192.100041-gateway-00000126-doubleTrack-gateway-entire.mp3",
"linkedId": "uatc1-1732847231192.100041",
"trunkNumberGroup": "XJDX0003(6)",
"customNumberGroup": "外显号码组(运营)(79)",
"sipCode": "487"
}
]
},
"timestamp": "2024-12-03 14:57:42"
}
7.8webcall通话记录
获取webcall通话记录接口
7.8.1请求路径
GET https://ip/dky-open-api/version-2.0.0/webCallLog?projectId=×tamp=&sign=
7.8.2 请求参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
pageNo | int | 可选 | 当前页码,默认1 |
pageSize | int | 可选 | 页面大小,默认10 |
startTime | string | 可选 | 开始时间,yyyy-MM-dd HH:mm:ss |
endTime | string | 可选 | 结束时间,yyyy-MM-dd HH:mm:ss |
status | string | 可选 | 接听状态,详情请前往目录 "数据字典" -> "呼叫结果" -> "WebCall" 中查看 |
customerNumber | string | 可选 | 客户号码 |
displayNumber | string | 可选 | 外显号码 |
agentNumberList | string[] | 可选 | 座席工号 |
calleeNumber | string | 可选 | 座席分机号/手机号 |
linkedId | string | 可选 | 通话唯一标识 |
7.8.3请求体
无
7.8.4 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
totalCount | int | 总记录数 |
pageSize | int | 每页记录数 |
totalPage | int | 总页数 |
currPage | int | 当前页码 |
list | Cdr[] | 通话记录 |
Cdr参数说明
参数名 | 类型 | 备注 |
---|---|---|
callType | string | 呼叫类型“webcall” |
status | string | 接听状态,详情请前往目录 "数据字典" -> "呼叫结果" -> "WebCall" 中查看 |
customerNumber | string | 客户号码 |
customerNumberAreaCode | string | 客户号码区号 |
customerNumberProvince | string | 客户号码省份 |
customerNumberCity | string | 客户号码城市 |
displayNumber | string | 外显号码(呼叫客户侧) |
displayNumberAreaCode | string | 外显号码区号(呼叫客户侧) |
displayNumberProvince | string | 外显号码省份(呼叫客户侧) |
displayNumberCity | string | 外显号码城市(呼叫客户侧) |
ivrId | int | IVR ID |
queueNumber | string | 队列号 |
queueName | string | 队列名称 |
agentNumber | string | 座席工号 |
agentName | string | 座席名称 |
agentCrmNumber | string | 座席自定义工号 |
calleeNumber | string | 座席电话 |
hangupSide | int | 挂机方 (1:座席; 2:客户; 3:系统; ) |
startTime | string | 开始时间,yyyy-MM-dd HH:mm:ss |
ringTime | string | 客户响铃时间,yyyy-MM-dd HH:mm:ss |
answerTime | string | 客户接听时间,yyyy-MM-dd HH:mm:ss |
transferStartTime | string | 转接人工开始时间,yyyy-MM-dd HH:mm:ss |
transferAnswerTime | string | 转接人工接听时间,yyyy-MM-dd HH:mm:ss |
endTime | string | 结束时间,yyyy-MM-dd HH:mm:ss |
bridgeDuration | int | 通话时长,客户和座席的通话时长座席接听时间-结束时间 |
totalDuration | int | 总通话时长,客户接听电话到双方挂机客户接听时间-结束时间 |
recordUrl | string | 录音地址 |
linkedId | string | 通话唯一标识 |
trunkNumberGroup | string | 中继号码组中继号码组名称+ID |
customNumberGroup | string | 自定义号码组自定义号码组名称+ID |
sipCode | string | sip状态码 |
7.8.5 响应体
JSON
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {
"totalCount": 1,
"pageSize": 10,
"totalPage": 1,
"currPage": 1,
"list": [
{
"callType": "webcall",
"status": "BOTH_SIDES_ANSWER",
"customerNumber": "18730382427",
"customerNumberAreaCode": "0313",
"customerNumberProvince": "河北",
"customerNumberCity": "张家口",
"displayNumber": "01056016014",
"displayNumberAreaCode": "010",
"displayNumberProvince": "北京",
"displayNumberCity": "北京",
"ivrId": 22,
"queueNumber": "188",
"queueName": "测试队列",
"agentNumber": "1002",
"agentName": "温佳欣",
"agentCrmNumber": "xinxinzi",
"calleeNumber": "1002",
"hangupSide": 2,
"startTime": "2024-12-03 11:22:05",
"ringTime": "2024-12-03 11:22:15",
"answerTime": "2024-12-03 11:22:15",
"transferStartTime": "2024-12-03 11:22:27",
"transferAnswerTime": "2024-12-03 11:22:28",
"endTime": "2024-12-03 11:22:36",
"bridgeDuration": 21,
"totalDuration": 31,
"recordUrl": "https://dkycc2-dev-uat.obs.cn-north-4.myhuaweicloud.com/70037001001/20241203/70037001001-20241203112215----0-uatc1-1733196125205.100103-gateway-00000393-doubleTrack.mp3",
"linkedId": "uatc1-1733196125205.100103",
"trunkNumberGroup": "XJDX0003(6)",
"customNumberGroup": "",
"sipCode": "200"
}
]
},
"timestamp": "2024-12-03 14:55:56"
}
7.9预测外呼通话记录
获取预测外呼通话记录接口
7.9.1请求路径
GET https://ip/dky-open-api/version-2.0.0/predictionOutboundCallLog?projectId=×tamp=&sign=
7.9.2 请求参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
pageNo | int | 可选 | 当前页码,默认1 |
pageSize | int | 可选 | 页面大小,默认10 |
startTime | string | 可选 | 开始时间,yyyy-MM-dd HH:mm:ss |
endTime | string | 可选 | 结束时间,yyyy-MM-dd HH:mm:ss |
status | string | 可选 | 接听状态,详情请前往目录 "数据字典" -> "呼叫结果" -> "预测外呼" 中查看 |
customerNumber | string | 可选 | 客户号码 |
displayNumber | string | 可选 | 外显号码 |
agentNumberList | string[] | 可选 | 座席工号 |
calleeNumber | string | 可选 | 座席分机号/手机号 |
linkedId | string | 可选 | 通话唯一标识 |
answerStart | int | 可选 | 通话时长起始值,秒 |
answerEnd | int | 可选 | 通话时长结束值,秒 |
durationStart | int | 可选 | 总时长起始值,秒 |
durationEnd | int | 可选 | 总时长结束值,秒 |
hangupSide | int | 可选 | 挂机方 (1:座席; 2:客户; 3:系统; ) |
customerNumberProvince | string | 可选 | 客户号码省份 |
7.9.3请求体
无
7.9.4 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
callType | string | 呼叫类型“预测外呼” |
status | string | 接听状态,详情请前往目录 "数据字典" -> "呼叫结果" -> "预测外呼" 中查看 |
preCallName | string | 预测外呼任务名称 |
customerNumber | string | 客户号码 |
customerNumberAreaCode | string | 客户号码区号 |
customerNumberProvince | string | 客户号码省份 |
customerNumberCity | string | 客户号码城市 |
displayNumber | string | 外显号码 |
displayNumberAreaCode | string | 外显号码区号 |
displayNumberProvince | string | 外显号码省份 |
displayNumberCity | string | 外显号码城市 |
agentNumber | string | 座席工号 |
calleeNumber | string | 座席电话 |
agentName | string | 座席名称 |
agentCrmNumber | string | 座席自定义工号 |
queueNumber | string | 队列号(溢出到队列) |
startTime | string | 开始时间,yyyy-MM-dd HH:mm:ss |
ringTime | string | 响铃时间,yyyy-MM-dd HH:mm:ss |
answerTime | string | 客户接听时间,yyyy-MM-dd HH:mm:ss |
agentanswerTime | string | 转接座席接听时间 |
endTime | string | 结束时间,客户挂机时间 yyyy-MM-dd HH:mm:ss |
bridgeDuration | int | 通话时长,双方通话时长,客户和座席的通话时长座席接听时间-结束时间 |
totalDuration | int | 总通话时长,客户接听电话到电话挂机包含:没转接座席,客户在队列中主动挂断客户接听时间-结束时间 |
hangupSide | int | 挂机方 (1:座席; 2:客户; 3:系统; ) |
recordUrl | string | 录音地址 |
linkedId | string | 通话唯一标识 |
trunkNumberGroup | string | 中继号码组中继号码组名称+ID |
sipCode | string | sip状态码 |
Cdr参数说明
7.9.5 响应体
JSON
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {
"totalCount": 1,
"pageSize": 10,
"totalPage": 1,
"currPage": 1,
"list": [
{
"callType": "预测外呼",
"status": "BOTH_SIDES_ANSWER",
"preCallName": "预测外呼任务名称-(526)(146)",
"customerNumber": "15617193209",
"customerNumberAreaCode": "0373",
"customerNumberProvince": "河南",
"customerNumberCity": "新乡",
"displayNumber": "17339945293",
"displayNumberAreaCode": "0935",
"displayNumberProvince": "甘肃",
"displayNumberCity": "武威",
"agentNumber": "1121",
"calleeNumber": "1121",
"agentName": "温佳欣",
"agentCrmNumber": "1121",
"queueNumber": "100",
"startTime": "2024-11-27 08:02:00",
"ringTime": "2024-11-27 08:02:00",
"answerTime": "2024-11-27 08:02:11",
"agentanswerTime": "2024-11-27 08:02:42",
"endTime": "2024-11-27 08:04:18",
"bridgeDuration": 127,
"totalDuration": 139,
"hangupSide": 2,
"recordUrl": "https://dkycc2-dev-uat.obs.cn-north-4.myhuaweicloud.com/70037001001/20241127/70037001001-20241127080211-15617193209-17339945293--0-uatc1-1732665720121.100002-gateway-000005d1-doubleTrack.mp3",
"linkedId": "uatc1-1732665720121.100002",
"trunkNumberGroup": "tncs2-hengyu-ceshi0001(57)",
"sipCode": "200"
}
]
},
"timestamp": "2024-12-03 14:56:48"
}
7.10机器人外呼通话记录
获取机器人外呼通话记录接口
7.10.1请求路径
GET https://ip/dky-open-api/version-2.0.0/robotCallLog?projectId=×tamp=&sign=
7.10.2 请求参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
pageNo | int | 可选 | 当前页码,默认1 |
pageSize | int | 可选 | 页面大小,默认10 |
startTime | string | 可选 | 开始时间,yyyy-MM-dd HH:mm:ss |
endTime | string | 可选 | 结束时间,yyyy-MM-dd HH:mm:ss |
status | string | 可选 | 接听状态,详情请前往目录 "数据字典" -> "呼叫结果" -> "机器人外呼" 中查看 |
customerNumber | string | 可选 | 客户号码 |
displayNumber | string | 可选 | 外显号码 |
agentNumberList | string[] | 可选 | 座席工号 |
calleeNumber | string | 可选 | 座席分机号/手机号 |
linkedId | string | 可选 | 通话唯一标识 |
answerStart | int | 可选 | 通话时长起始值,秒 |
answerEnd | int | 可选 | 通话时长结束值,秒 |
durationStart | int | 可选 | 总时长起始值,秒 |
durationEnd | int | 可选 | 总时长结束值,秒 |
hangupSide | int | 可选 | 挂机方 (1:座席; 2:客户; 3:系统; ) |
customerNumberProvince | string | 可选 | 客户号码省份 |
7.10.3请求体
无
7.10.4 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
callType | string | 呼叫类型“机器人外呼” |
status | string | 接听状态,详情请前往目录 "数据字典" -> "呼叫结果" -> "机器人外呼" 中查看 |
customerNumber | string | 客户号码 |
customerNumberAreaCode | string | 客户号码区号 |
customerNumberProvince | string | 客户号码省份 |
customerNumberCity | string | 客户号码城市 |
displayNumber | string | 外显号码 |
displayNumberAreaCode | string | 外显号码区号 |
displayNumberProvince | string | 外显号码省份 |
displayNumberCity | string | 外显号码城市 |
agentNumber | string | 座席工号 |
calleeNumber | string | 座席电话 |
agentName | string | 座席名称 |
agentCrmNumber | string | 座席自定义工号 |
startTime | string | 开始时间,yyyy-MM-dd HH:mm:ss |
ringTime | string | 响铃时间,yyyy-MM-dd HH:mm:ss |
answerTime | string | 客户接听时间,yyyy-MM-dd HH:mm:ss |
endTime | string | 结束时间,客户挂机时间 yyyy-MM-dd HH:mm:ss |
answer | int | 客户通话时长客户接听时间-结束时间 |
bridgeDuration | int | 双方通话时长,客户和座席的通话时长座席接听时间-结束时间 |
totalDuration | int | 总通话时长,客户开始电话到电话挂机 |
hangupSide | int | 挂机方 (1:座席; 2:客户; 3:系统; ) |
recordUrl | string | 录音地址 |
linkedId | string | 通话唯一标识 |
trunkNumberGroup | string | 中继号码组中继号码组名称+ID |
sipCode | string | sip状态码 |
ivrId | int | IVR id |
ivrName | string | IVR 名称 |
robotTaskName | string | 机器人任务名称 |
robotAppName | string | 机器人场景名称 |
transferAgent | int | 是否转人工(0否 1是) |
transferAgentStartTime | string | 转人工开始时间,yyyy-MM-dd HH:mm:ss |
transferAgentAnswerTime | string | 转人工接听时间,yyyy-MM-dd HH:mm:ss |
Cdr参数说明
7.10.5 响应体
JSON
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {
"totalCount": 1,
"pageSize": 10,
"totalPage": 1,
"currPage": 1,
"list": [
{
"callType": "机器人外呼",
"status": "ROBOT_ANSWER",
"ivrId": 2,
"ivrName": "邯郸前置语音导航",
"robotTaskName": "robot测试",
"robotAppName": "中华车险",
"customerNumber": "13520465120",
"customerNumberAreaCode": "010",
"customerNumberProvince": "北京",
"customerNumberCity": "北京",
"displayNumber": "13308924769",
"displayNumberAreaCode": "0892",
"displayNumberProvince": "西藏",
"displayNumberCity": "日喀则",
"agentNumber": "9008",
"calleeNumber": "0552784031",
"agentName": "webrtc测试",
"agentCrmNumber": "888888",
"startTime": "2024-12-27 17:06:19",
"ringTime": "2024-12-27 17:06:19",
"answerTime": "2024-12-27 17:06:26",
"transferAgent": 1,
"transferStartTime": "2024-12-03 11:22:27",
"transferAnswerTime": "2024-12-03 11:22:28",
"endTime": "2024-12-27 17:06:43",
"bridgeDuration": 17,
"totalDuration": 24,
"answer": 14,
"hangupSide": 2,
"recordUrl": "https://dkycc2-dev-uat.obs.cn-north-4.myhuaweicloud.com/70037001001/20241127/70037001001-20241127080211-15617193209-17339945293--0-uatc1-1732665720121.100002-gateway-000005d1-doubleTrack.mp3",
"linkedId": "devc2-1735290379523.100020",
"trunkNumberGroup": "tncs0003(229)",
"sipCode": "200"
}
]
},
"timestamp": "2024-12-30 12:26:26"
}
8. 座席管理接口
8.1 新增座席接口
8.1.1 功能说明
通过接口新增座席,并完成座席关联配置。
8.1.2 请求路径
POST https://ip/dky-open-api/version-2.0.0/agentadd?projectId=×tamp=&sign=
8.1.3 参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
agentNumber | String | 必填 | 座席编号 |
crmId | String | 客户crmId | |
agentName | String | 必填 | 座席姓名 |
agentPassword | String | 必填 | 座席密码 |
areaCode | String | 必填 | 座席区号 |
agentRole | Int | 座席角色 (1:普通; 2:班长; ) | |
agentGroupId | Int | 座席组ID | |
agentEnable | Int | 座席启用状态 (0:禁用; 1:启用; ) | |
arrangeDuration | Int | 整理时长 (秒) | |
callEnable | Int | 外呼权限 (0:禁用; 1:启用; ) | |
callLimit | Int | 外呼限制 (1:无限制; 2:国内; 3:国际; ) | |
callTimeStart | String | 外呼时间段开始 (HH:mm) | |
callTimeEnd | String | 外呼时间段结束 (HH:mm) | |
callInRecordingEnable | Int | 启用呼入录音 (0:禁用; 1:启用; ) | |
callOutRecordingEnable | Int | 启用呼出录音 (0:禁用; 1:启用; ) | |
displayNumberType | Int | 必填 | 外显规则 (1:指定; 2:随机; 3:动态; ) |
timedOffline | Int | 定时下线时间 (HH:mm) | |
remark | String | 备注 | |
skillList | Array | 技能列表 | |
displayRuleSetting | Object | 必填 | 外显规则设置 |
技能参数明细
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
skillId | Int | 必填 | 技能ID |
skillNumber | Int | 必填 | 技能值 |
外显规则设置参数明细
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
displayNumberIdList | List | 外显号码ID集合(外显号码ID请使用 10.1 接口获取) | |
dynamicDisplayRandomEnable | Int | 动态外显-启用随机外显 (0:禁用; 1:启用; ) | |
dynamicDisplayProvinceEnable | Int | 动态外显-启用省会外显 (0:禁用; 1:启用; ) | |
dynamicDisplayRegularNumberIdList | List | 动态外显-固定外显号码ID集合 |
8.1.4 请求体
json
{
"agentEnable": 1,
"agentGroupId": 1,
"agentName": "李四",
"agentNumber": "5001",
"agentRole": 1,
"areaCode": "010",
"arrangeDuration": 20,
"callEnable": 1,
"callLimit": 1,
"displayNumberType": 3,
"displayRuleSetting": {
"displayNumberIdList": [1, 2],
"dynamicDisplayRegularNumberIdList": [1, 2, 3]
},
"skillIdList": [4]
}
8.1.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-10-30 10:00:00"
}
8.2 修改座席
8.2.1 功能说明
通过接口调用,用于修改座席配置信息。包括:基本信息、技能信息、外呼配置信息、座席角色等。
8.2.2 请求路径
POST https://ip/dky-open-api/version-2.0.0/agentupdate?projectId=×tamp=&sign=
**8.2.3 **参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
id | Int | 座席ID和座席编号二选一传入 | 座席ID |
agentNumber | String | 座席ID和座席编号二选一传入 | 座席编号,座席编号不支持修改,仅用于条件 |
crmId | String | 客户crmId | |
agentName | String | 必填 | 座席姓名 |
agentPassword | String | 座席密码 | |
areaCode | String | 必填 | 座席区号 |
agentRole | Int | 座席角色 (1:普通; 2:班长; ) | |
agentGroupId | Int | 座席组ID | |
agentEnable | Int | 座席启用状态 (0:禁用; 1:启用; ) | |
arrangeDuration | Int | 整理时长 (秒) | |
callEnable | Int | 外呼权限 (0:禁用; 1:启用; ) | |
callLimit | Int | 外呼限制 (1:无限制; 2:国内; 3:国际; ) | |
callTimeStart | String | 外呼时间段开始 (HH:mm) | |
callTimeEnd | String | 外呼时间段结束 (HH:mm) | |
callInRecordingEnable | Int | 启用呼入录音 (0:禁用; 1:启用; ) | |
callOutRecordingEnable | Int | 启用呼出录音 (0:禁用; 1:启用; ) | |
displayNumberType | Int | 必填 | 外显规则 (1:指定; 2:随机; 3:动态; ) |
timedOffline | Int | 定时下线时间 (HH:mm) | |
remark | String | 备注 | |
skillList | Array | 技能列表 | |
displayRuleSetting | Object | 必填 | 外显规则设置 |
技能参数明细
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
skillId | Int | 必填 | 技能ID |
skillNumber | Int | 必填 | 技能值 |
外显规则设置参数明细
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
displayNumberIdList | List | 外显号码ID集合(外显号码ID请使用 10.1 接口获取) | |
dynamicDisplayRandomEnable | Int | 动态外显-启用随机外显 (0:禁用; 1:启用; ) | |
dynamicDisplayProvinceEnable | Int | 动态外显-启用省会外显 (0:禁用; 1:启用; ) | |
dynamicDisplayRegularNumberIdList | List | 动态外显-固定外显号码ID集合(外显号码ID请使用 10.1 接口获取) |
8.2.4 请求体
json
{
"id": 1,
"agentEnable": 1,
"agentGroupId": 1,
"agentName": "李四",
"agentNumber": "5001",
"agentRole": 1,
"areaCode": "010",
"arrangeDuration": 20,
"callEnable": 1,
"callLimit": 1,
"displayNumberType": 3,
"displayRuleSetting": {
"displayNumberIdList": [1, 2],
"dynamicDisplayRegularNumberIdList": [1, 2, 3]
},
"skillIdList": [4]
}
8.2.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-10-30 10:00:00"
}
8.3 删除座席
8.3.1 功能说明
通过接口调用删除座席
8.3.2 请求路径
POST https://ip/dky-open-api/version-2.0.0/agentdelete?projectId=×tamp=&sign=
8.3.3 参数说明
请求体内传座席ID数组即可,参照请求体示例
8.3.4 请求体
json
[1, 2, 3]
8.3.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-10-30 10:00:00"
}
8.4 分页查询座席信息
8.4.1 功能说明
查询座席信息,支持分页查询座席信息(客户指定页码以及一页展示多少条数,返回对应页码的数据)
8.4.2 请求路径
POST https://ip/dky-open-api/version-2.0.0/agentlist?projectId=×tamp=&sign=
8.4.3 参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
pageNo | Int | 当前页码(默认1) | |
pageSize | Int | 每页条数(默认10) | |
projectId | String | 项目编码,只能传登录机构或者登录机构的子机构 | |
agentNumber | String | 座席编号 | |
crmId | String | 客户crmId | |
agentName | String | 座席姓名 (模糊查询) | |
areaCode | String | 座席区号 | |
agentRole | Int | 座席角色 (1:普通; 2:班长; ) | |
agentGroupId | Int | 座席组ID | |
agentEnable | Int | 座席启用状态 (0:禁用; 1:启用; ) | |
displayNumberType | Int | 外显规则 (1:指定; 2:随机; 3:动态; ) | |
agentSkillIdList | List | 座席技能ID集合 | |
isEncrypt | Int | 座席密码是否密文返回0:否(默认); 1:是 |
8.4.4 请求体
json
{
"pageNo": 1,
"pageSize": 10,
"projectId": "10001001001",
"agentNumber": "1001",
"agentSkillIdList": [1, 2]
}
8.4.5 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
id | int | 主键 |
agentNumber | string | 座席编号 |
agentName | string | 座席姓名 |
areaCode | string | 座席区号 |
agentRole | int | 座席角色 (1:普通; 2:班长; ) |
currentState | int | 当前状态 (1:离线; 2:空闲; 3:置忙; ) |
currentStateRemark | string | 当前状态说明 |
currentQueue | string | 当前队列号 |
currentExtension | string | 当前分机号 |
lastLoginTime | string | 最后登录时间 (yyyy-MM-dd HH:mm:ss) |
agentEnable | int | 座席启用状态(0:禁用; 1:启用; ) |
arrangeDuration | int | 整理时长 (秒) |
callEnable | int | 外呼权限 (0:禁用; 1:启用; ) |
callLimit | int | 外呼限制 (1:无限制; 2:国内; 3:国际; ) |
callTimeStart | string | 外呼时间段开始 (HH:mm) |
callTimeEnd | string | 外呼时间段结束 (HH:mm) |
callInRecordingEnable | int | 启用呼入录音(0:禁用; 1:启用; ) |
callOutRecordingEnable | int | 启用呼出录音 (0:禁用; 1:启用; ) |
displayNumberType | int | 外显规则 (1:指定; 2:随机; 3:动态; ) |
timedOffline | string | 定时下线时间 (HH:mm) |
remark | string | 备注 |
agentPassword | string | 座席密码 根据查询参数isEncrypt 返回明文/密文 |
8.4.6 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {
"totalCount": 1,
"pageSize": 10,
"totalPage": 1,
"currPage": 1,
"list": [
{
"id": 52010,
"agentNumber": "9008",
"agentName": "webrtc测试",
"areaCode": "010",
"agentRole": 2,
"currentState": 2,
"currentStateRemark": "ready",
"currentQueue": "100",
"currentExtension": "9008",
"lastLoginTime": "2025-06-16 16:03:49",
"agentEnable": 1,
"arrangeDuration": 60,
"callEnable": 1,
"callLimit": 1,
"callTimeStart": "09:30:00",
"callTimeEnd": "18:30:00",
"callInRecordingEnable": 1,
"callOutRecordingEnable": 1,
"displayNumberType": 3,
"timedOffline": "18:35",
"remark": "webrtc测试",
"agentPassword": "123456"
}
]
},
"timestamp": "2025-06-16 16:13:02"
}
8.5 查询座席详细信息
8.5.1 功能说明
查询某个座席的详细信息,包括:座席工号、姓名、区域、角色、状态等信息。
8.5.2 请求路径
GET https://ip/dky-open-api/version-2.0.0/agentinfo?projectId=×tamp=&sign=
8.5.3 参数说明
Query 传参
示例:https://ip/dky-open-api/version-2.0.0/agentinfo?id=1&projectId=×tamp=&sign=
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
id | Int | 可选座席ID和座席编号二选一传入 | 座席ID |
agentNumber | String | 可选座席ID和座席编号二选一传入 | 座席编号 |
isEncrypt | Int | 可选 | 座席密码是否密文返回 0:否(默认); 1:是 |
8.5.4 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
id | int | 主键 |
agentNumber | string | 座席编号 |
agentName | string | 座席姓名 |
areaCode | string | 座席区号 |
agentRole | int | 座席角色 (1:普通; 2:班长; ) |
currentState | int | 当前状态 (1:离线; 2:空闲; 3:置忙; ) |
currentStateRemark | string | 当前状态说明 |
currentQueue | string | 当前队列号 |
currentExtension | string | 当前分机号 |
lastLoginTime | string | 最后登录时间 (yyyy-MM-dd HH:mm:ss) |
agentEnable | int | 座席启用状态(0:禁用; 1:启用; ) |
arrangeDuration | int | 整理时长 (秒) |
callEnable | int | 外呼权限 (0:禁用; 1:启用; ) |
callLimit | int | 外呼限制 (1:无限制; 2:国内; 3:国际; ) |
callTimeStart | string | 外呼时间段开始 (HH:mm) |
callTimeEnd | string | 外呼时间段结束 (HH:mm) |
callInRecordingEnable | int | 启用呼入录音(0:禁用; 1:启用; ) |
callOutRecordingEnable | int | 启用呼出录音 (0:禁用; 1:启用; ) |
displayNumberType | int | 外显规则 (1:指定; 2:随机; 3:动态; ) |
dynamicDisplayRandomEnable | int | 动态外显-启用随机外显 (0:禁用; 1:启用; ) |
dynamicDisplayProvinceEnable | int | 动态外显-启用省会外显(0:禁用; 1:启用; ) |
dynamicDisplayRegularNumberIdList | array | 动态外显-固定外显号码ID集合 |
timedOffline | string | 定时下线时间 (HH:mm) |
remark | string | 备注 |
skillList | array | 技能信息列表 |
agentPassword | string | 座席密码 根据查询参数isEncrypt 返回明文/密文 |
技能信息
参数名 | 类型 | 备注 |
---|---|---|
skillId | int | 技能ID |
skillName | string | 技能名称 |
skillNumber | int | 技能值 |
8.5.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {
"id": 52010,
"agentNumber": "9008",
"agentName": "webrtc测试",
"areaCode": "010",
"agentRole": 2,
"currentState": 2,
"currentStateRemark": "ready",
"currentQueue": "100",
"currentExtension": "9008",
"lastLoginTime": "2025-06-16 14:45:10",
"agentEnable": 1,
"arrangeDuration": 30,
"callEnable": 1,
"callLimit": 1,
"callTimeStart": "09:30",
"callTimeEnd": "18:30",
"callInRecordingEnable": 1,
"callOutRecordingEnable": 1,
"displayNumberType": 3,
"dynamicDisplayRandomEnable": 0,
"dynamicDisplayProvinceEnable": 0,
"dynamicDisplayRegularNumberIdList": [
375
],
"timedOffline": "18:35",
"remark": "webrtc测试",
"agentPassword": "123456",
"skillList": [
{
"skillId": 160,
"skillName": "2.1示例技能一",
"skillNumber": 1
}
]
},
"timestamp": "2025-06-16 14:45:12"
}
8.6 批量新增座席
8.6.1 功能说明
通过接口进行批量新增座席,并完成相关配置信息的批量操作
8.6.2 请求路径
POST https://ip/dky-open-api/version-2.0.0/agentbatchadd?projectId=×tamp=&sign=
8.6.3 参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
agentNumberStart | Int | 必选 | 座席起始编号 |
agentNumberEnd | Int | 必选 | 座席结束起始编号 |
areaCode | String | 座席区号 | |
agentPassword | String | 座席密码 (默认: 123456) | |
agentRole | Int | 座席角色 (1:普通; 2:班长; ) | |
agentGroupId | Int | 座席组ID | |
agentEnable | Int | 座席启用状态 (0:禁用; 1:启用; ) | |
arrangeDuration | Int | 整理时长 (秒) | |
callEnable | Int | 外呼权限 (0:禁用; 1:启用; ) | |
callLimit | Int | 外呼限制 (1:无限制; 2:国内; 3:国际; ) | |
callTimeStart | String | 外呼时间段开始 (HH:mm) | |
callTimeEnd | String | 外呼时间段结束 (HH:mm) | |
callInRecordingEnable | Int | 启用呼入录音 (0:禁用; 1:启用; ) | |
callOutRecordingEnable | Int | 启用呼出录音 (0:禁用; 1:启用; ) | |
displayNumberType | Int | 必填 | 外显规则 (1:指定; 2:随机; 3:动态; ) |
timedOffline | String | 定时下线时间 (HH:mm) | |
remark | String | 备注 | |
skillList | Array | 技能列表 | |
displayRuleSetting | Object | 必填 | 外显规则设置 |
技能参数明细
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
skillId | Int | 必填 | 技能ID |
skillNumber | Int | 必填 | 技能值 |
外显规则设置参数明细
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
displayNumberIdList | List | 外显号码ID集合 | |
dynamicDisplayRandomEnable | Int | 动态外显-启用随机外显 (0:禁用; 1:启用; ) | |
dynamicDisplayProvinceEnable | Int | 动态外显-启用省会外显 (0:禁用; 1:启用; ) | |
dynamicDisplayRegularNumberIdList | List | 动态外显-固定外显号码ID集合 |
8.6.4 请求体
json
{
"agentNumberStart": 100,
"agentNumberEnd": 110,
"agentEnable": 1,
"agentGroupId": 1,
"agentRole": 1,
"areaCode": "010",
"arrangeDuration": 20,
"callEnable": 1,
"callLimit": 1,
"displayNumberType": 3,
"displayRuleSetting": {
"displayNumberIdList": [1, 2],
"dynamicDisplayRegularNumberIdList": [1, 2, 3]
},
"skillIdList": [4]
}
8.6.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-10-30 10:00:00"
}
8.7 增加坐席绑定终端接口
8.7.1 功能说明
通过接口进行终端绑定
8.7.2 请求路径
POST https://ip/dky-open-api/version-2.0.0/earlyBind?projectId=×tamp=&sign=
8.7.3 参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
agentId | String | 必选 | 根据agentType 传入对应内容:坐席工号/客户crmId(需要创建坐席时指定) |
agentType | Integer | 可选 | 坐席类型 0:系统坐席工号(默认) 1:客户crmId |
terminal | String | 可选 | 终端 (分机/手机) |
8.7.4 请求体
json
{
"agentId": "10086",
"terminal": "10086"
}
8.7.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-10-30 10:00:00"
}
8.8 删除座席
8.8.1 功能说明
通过接口调用删除座席
8.8.2 请求路径
POST https://ip/dky-open-api/version-2.0.0/agentdeletebyagentnumber?projectId=×tamp=&sign=
8.8.3 参数说明
请求体内传座席编号数组即可
8.8.4 请求体
json
["1001", "1002", "1003"]
8.8.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-10-30 10:00:00"
}
9. 技能管理接口
9.1 技能分页列表
9.1.1 功能说明
查询技能列表,分页返回,客户指定页码以及一页展示多少条数,返回对应页码的数据。
9.1.2 请求路径
GET https://ip/dky-open-api/version-2.0.0/skill/list?projectId=×tamp=&sign=
9.1.3 请求参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
pageNo | Integer | 可选 | 页码 默认1 |
pageSize | Integer | 可选 | 每页条数 默认10 |
skillName | String | 可选 | 技能名称 |
description | String | 可选 | 技能描述 |
9.1.4 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
totalCount | Integer | 总条数 |
pageSize | Integer | 每页条数 |
totalPage | String | 总页数 |
currPage | String | 当前页 |
list | List | 技能信息列表 |
技能信息列表参数说明
参数名 | 类型 | 备注 |
---|---|---|
id | Integer | 技能id |
projectId | String | 机构id |
skillName | String | 技能名称 |
description | String | 技能描述 |
9.1.5 请求体
GET https://ip/dky-open-api/version-2.0.0/skill/list?skillName=示&description=示&pageNo=1&pageSize=10&projectId=×tamp=&sign=
9.1.6 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {
"totalCount": 1,
"pageSize": 10,
"totalPage": 1,
"currPage": 1,
"list": [
{
"id": 160,
"projectId": "20020009999",
"skillName": "示例技能一",
"description": "示例技能一"
}
]
},
"timestamp": "2023-10-30 10:00:00"
}
9.2 根据技能id获取座席
9.2.1 功能说明
查询技能列表,分页返回(客户指定页码以及一页展示多少条数,返回对应页码的数据)。
9.2.2 请求路径
GET https://ip/dky-open-api/version-2.0.0/skill/getAgentById?projectId=×tamp=&sign=
9.2.3 请求参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
id | Integer | 必选 | 技能id |
9.2.4 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
agentNumber | Integer | 座席编号 |
agentName | String | 座席姓名 |
9.2.5 请求体
GET https://ip/dky-open-api/version-2.0.0/skill/getAgentById?id=160&projectId=×tamp=&sign=
9.2.6 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": [
{"agentNumber": 1007, "agentName": "示例1"},
{"agentNumber": 1008, "agentName": "示例2"}
],
"timestamp": "2023-10-30 10:00:00"
}
9.3 新增技能
9.3.1 功能说明
通过接口进行新增技能的创建。
9.3.2 请求路径
POST https://ip/dky-open-api/version-2.0.0/skill/save?projectId=×tamp=&sign=
9.3.3 参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
skillName | String | 必选 | 技能名称 |
description | String | 可选 | 技能描述 |
9.3.4 请求体
json
{
"skillName": "示例",
"description": "示例"
}
9.3.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-10-30 10:00:00"
}
9.4 修改技能
9.4.1 功能说明
修改技能配置信息。
9.4.2 请求路径
POST https://ip/dky-open-api/version-2.0.0/skill/update?projectId=×tamp=&sign=
9.4.3 参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
id | Integer | 必选 | 技能id |
skillName | String | 必选 | 技能名称 |
description | String | 可选 | 技能描述 |
9.4.4 请求体
json
{
"id": 160,
"skillName": "示例",
"description": "示例"
}
9.4.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-10-30 10:00:00"
}
9.5 删除技能
9.5.1 功能说明
用于删除技能使用。
9.5.2 请求路径
GET https://ip/dky-open-api/version-2.0.0/skill/delete?projectId=×tamp=&sign=
9.5.3 参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
id | Integer | 必选 | 技能id |
9.5.4 请求体
GET https://ip/dky-open-api/version-2.0.0/skill/delete?id=160&projectId=×tamp=&sign=
9.5.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-10-30 10:00:00"
}
10. 队列管理接口
10.1 队列分页列表
10.1.1 功能说明
查询队列列表,分页返回(客户指定页码以及一页展示多少条数,返回对应页码的数据)。
10.1.2 请求路径
GET https://ip/dky-open-api/version-2.0.0/queue/list?projectId=×tamp=&sign=
10.1.3 请求参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
pageNo | Integer | 可选 | 页码 默认1 |
pageSize | Integer | 可选 | 每页条数 默认10 |
queueNumber | String | 可选 | 队列号 |
queueName | String | 可选 | 队列名 |
10.1.4 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
totalCount | Integer | 总条数 |
pageSize | Integer | 每页条数 默认10 |
totalPage | String | 总页数 |
currPage | String | 当前页 |
list | List | 队列信息列表 |
队列信息列表参数说明
参数名 | 类型 | 备注 |
---|---|---|
id | Integer | id |
projectId | String | 机构id |
queueNumber | String | 队列号 |
queueName | String | 队列名 |
maxWaitCount | Integer | 最大等待数 |
agentTimeout | Integer | 坐席超时时间 |
queueTimeout | Integer | 队列超时时间 |
callStrategy | Integer | 呼叫策略 1:顺序 2:轮询 5:随机 |
skillId | Integer | 技能id |
skillValue | Integer | 技能值 |
queuePriority | Integer | 队列优先级 |
wrapupTime | Integer | 整理时间 |
nextAgentDelay | Integer | 坐席无应答时呼叫下一坐席的延迟秒数 |
reportAgentNumber | Integer | 是否报坐席号 (0:否; 1:是; ) |
vipSupport | Integer | 是否支持VIP级别 (0:否; 1:是; ) |
waitAnnouncementSetting | String | 等待播报设置 0关闭,1播放语音(安慰音请稍后),2播放位置(排队位置) |
agentUnavailableStatus | String | 坐席不可用状态 1:离线; 2:空闲; 3:置忙 |
createTime | Date | 创建时间 |
updateTime | Date | 修改时间 |
10.1.5 请求体
GET https://ip/dky-open-api/version-2.0.0/queue/list?queueName=示&queueNumber=10&pageNo=1&pageSize=10&projectId=×tamp=&sign=
10.1.6 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {
"totalCount": 1,
"pageSize": 10,
"totalPage": 1,
"currPage": 1,
"list": [
{
"id": 132,
"projectId": "20020001999",
"queueNumber": "100",
"queueName": "示例",
"maxWaitCount": 0,
"agentTimeout": 10,
"queueTimeout": 300,
"callStrategy": 2,
"skillId": 160,
"skillValue": 1,
"queuePriority": 1,
"wrapupTime": 15,
"nextAgentDelay": 5,
"reportAgentNumber": 0,
"vipSupport": 0,
"waitAnnouncementSetting": "2",
"agentUnavailableStatus": "3,1",
"createTime": "2023-06-30 15:44:25",
"updateTime": "2023-11-10 10:29:39"
}
]
},
"timestamp": "2023-10-30 10:00:00"
}
10.2 获取队列详情
10.2.1 功能说明
获取队列详情。包括:队列号、队列名称、最大等待数、分配策略等。
10.2.2 请求路径
GET https://ip/dky-open-api/version-2.0.0/queue/getInfo?projectId=×tamp=&sign=
10.2.3 请求参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
id | Integer | 必选 | 队列id |
10.2.4 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
id | Integer | id |
projectId | String | 机构id |
queueNumber | String | 队列号 |
queueName | String | 队列名 |
maxWaitCount | Integer | 最大等待数 |
agentTimeout | Integer | 坐席超时时间 |
queueTimeout | Integer | 队列超时时间 |
callStrategy | Integer | 呼叫策略 1:顺序 2:轮询 5:随机 |
skillId | Integer | 技能id |
skillValue | Integer | 技能值 |
queuePriority | Integer | 队列优先级 |
wrapupTime | Integer | 整理时间 |
nextAgentDelay | Integer | 坐席无应答时呼叫下一坐席的延迟秒数 |
reportAgentNumber | Integer | 是否报坐席号 (0:否; 1:是; ) |
vipSupport | Integer | 是否支持VIP级别 (0:否; 1:是; ) |
waitAnnouncementSetting | String | 等待播报设置 0关闭,1播放语音(安慰音请稍后),2播放位置(排队位置) |
agentUnavailableStatus | String | 坐席不可用状态 1:离线; 2:空闲; 3:置忙 |
createTime | Date | 创建时间 |
updateTime | Date | 修改时间 |
10.2.5 请求体
GET https://ip/dky-open-api/version-2.0.0/queue/getInfo?id=132&projectId=×tamp=&sign=
10.2.6 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {
"id": 132,
"projectId": "20020001001",
"queueNumber": "100",
"queueName": "2.1测试勿动",
"maxWaitCount": 0,
"agentTimeout": 10,
"queueTimeout": 300,
"callStrategy": 2,
"skillId": 160,
"skillValue": 1,
"queuePriority": 1,
"wrapupTime": 15,
"nextAgentDelay": 5,
"reportAgentNumber": 1,
"vipSupport": 1,
"waitAnnouncementSetting": "2",
"agentUnavailableStatus": "3,1",
"createTime": "2023-06-30 15:44:25",
"updateTime": "2023-11-10 10:29:39"
},
"timestamp": "2023-10-30 10:00:00"
}
10.3 获取当前队列的座席信息
10.3.1 功能说明
获取当前队列的座席的信息。包括:座席姓名、座席编号。
10.3.2 请求路径
GET https://ip/dky-open-api/version-2.0.0/queue/getAgentByQueueId?projectId=×tamp=&sign=
10.3.3 请求参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
id | Integer | 必选 | 队列id |
10.3.4 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
agentNumber | Integer | 座席编号 |
agentName | String | 座席姓名 |
10.3.5 请求体
GET https://ip/dky-open-api/version-2.0.0/queue/getAgentByQueueId?id=132&projectId=×tamp=&sign=
10.3.6 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": [
{"agentNumber": 1007, "agentName": "示例1"},
{"agentNumber": 1008, "agentName": "示例2"}
],
"timestamp": "2023-10-30 10:00:00"
}
10.4 新增队列
10.4.1 功能说明
创建队列,并完成相关队列配置信息。包括:队列号、队列名称、最大等待数、呼叫策略、技能信息等。
10.4.2 请求路径
POST https://ip/dky-open-api/version-2.0.0/queue/save?projectId=×tamp=&sign=
10.4.3 参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
queueNumber | String | 必选 | 队列号 |
queueName | String | 必选 | 队列名 |
maxWaitCount | Integer | 必选 | 最大等待数 |
agentTimeout | Integer | 必选 | 坐席超时时间 |
queueTimeout | Integer | 必选 | 队列超时时间 |
callStrategy | Integer | 必选 | 呼叫策略 1:顺序 2:轮询 5:随机 |
skillId | Integer | 必选 | 技能id |
skillValue | Integer | 必选 | 技能值 |
queuePriority | Integer | 必选 | 队列优先级 |
wrapupTime | Integer | 必选 | 整理时间 |
nextAgentDelay | Integer | 必选 | 坐席无应答时呼叫下一坐席的延迟秒数 |
reportAgentNumber | Integer | 可选 | 是否报坐席号 (0:否; 1:是; ) |
vipSupport | Integer | 可选 | 是否支持VIP级别 (0:否; 1:是; ) |
waitAnnouncementSetting | String | 可选 | 等待播报设置 0关闭,1播放语音(安慰音请稍后),2播放位置(排队位置) |
agentUnavailableStatus | String | 可选 | 坐席不可用状态 1:离线; 2:空闲; 3:置忙 |
10.4.4 请求体
json
{
"queueNumber": "300",
"queueName": "示例1",
"maxWaitCount": 0,
"agentTimeout": 10,
"queueTimeout": 300,
"callStrategy": 2,
"skillId": 160,
"skillValue": 1,
"queuePriority": 2,
"wrapupTime": 15,
"nextAgentDelay": 5,
"reportAgentNumber": 1,
"vipSupport": 1,
"waitAnnouncementSetting": "2",
"agentUnavailableStatus": "3,1"
}
10.4.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-10-30 10:00:00"
}
10.5 修改队列
10.5.1 功能说明
修改队列配置信息,包括:队列号、队列名称、最大等待数、座席超时时间等。
10.5.2 请求路径
POST https://ip/dky-open-api/version-2.0.0/queue/update?projectId=×tamp=&sign=
10.5.3 参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
id | Integer | 必选 | 队列id |
queueNumber | String | 必选 | 队列号 |
queueName | String | 必选 | 队列名 |
maxWaitCount | Integer | 必选 | 最大等待数 |
agentTimeout | Integer | 必选 | 坐席超时时间 |
queueTimeout | Integer | 必选 | 队列超时时间 |
callStrategy | Integer | 必选 | 呼叫策略 1:顺序 2:轮询 5:随机 |
skillId | Integer | 必选 | 技能id |
skillValue | Integer | 必选 | 技能值 |
queuePriority | Integer | 必选 | 队列优先级 |
wrapupTime | Integer | 必选 | 整理时间 |
nextAgentDelay | Integer | 必选 | 坐席无应答时呼叫下一坐席的延迟秒数 |
reportAgentNumber | Integer | 可选 | 是否报坐席号 (0:否; 1:是; ) |
vipSupport | Integer | 可选 | 是否支持VIP级别 (0:否; 1:是; ) |
waitAnnouncementSetting | String | 可选 | 等待播报设置 0关闭,1播放语音(安慰音请稍后),2播放位置(排队位置) |
agentUnavailableStatus | String | 可选 | 坐席不可用状态:3:置忙;14:通话中;13:振铃;11:分机不可用;4:整理; |
10.5.4 请求体
json
{
"id": 133,
"projectId": "20020001001",
"queueNumber": "300",
"queueName": "修改示例1",
"maxWaitCount": 0,
"agentTimeout": 10,
"queueTimeout": 300,
"callStrategy": 2,
"skillId": 160,
"skillValue": 1,
"queuePriority": 2,
"wrapupTime": 15,
"nextAgentDelay": 5,
"reportAgentNumber": 0,
"vipSupport": 0,
"waitAnnouncementSetting": "2",
"agentUnavailableStatus": "3,1"
}
10.5.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-10-30 10:00:00"
}
10.6 删除队列
10.6.1 功能说明
用于删除队列配置信息。
10.6.2 请求路径
GET https://ip/dky-open-api/version-2.0.0/queue/delete?projectId=×tamp=&sign=
10.6.3 参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
id | Integer | 必选 | 队列id |
10.6.4 请求体
GET https://ip/dky-open-api/version-2.0.0/queue/delete?id=133&projectId=×tamp=&sign=
10.6.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-10-30 10:00:00"
}
11. 预测外呼管理接口
11.1 获取中继组列表
11.1.1 功能说明
新增任务时需要传递的号码中继组列表。
11.1.2 请求路径
GET https://ip/dky-open-api/version-2.0.0/precall/task/getTrunkNumberGroup?projectId=×tamp=&sign=
11.1.3 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
id | Int | ID |
name | String | 中继组名称 |
11.1.4 返回示例
json
{
"code": 0,
"status": "success",
"msg": "请求成功",
"data": [
{
"id": 213,
"name": "HHGH0002"
},
{
"id": 229,
"name": "tncs0003"
},
{
"id": 198,
"name": "BJDX0001"
}
],
"timestamp": "2024-05-16 16:45:04"
}
11.2 获取机构下队列
11.2.1 功能说明
新增任务时需要传递的队列信息列表,且所选座席需要存在于当前所选队列。
11.2.2 请求路径
参考 “[10.1 队列分页列表](#10.1 队列分页列表)”
11.2.3 请求体
参考 “[10.1 队列分页列表](#10.1 队列分页列表)”
11.2.4 返回体
参考 “[10.1 队列分页列表](#10.1 队列分页列表)”
11.3 新增任务
11.3.1 功能说明
新增预测外呼任务(所选座席需要在所选队列下)。
11.3.2 请求路径
POST https://ip/dky-open-api/version-2.0.0/precall/task?projectId=×tamp=&sign=
11.3.3 参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
projectId | String | 必传 | 机构编码 |
name | String | 必传 | 任务名称 |
description | String | 非必传 | 任务描述 |
forever | int | 必传 | 是否永久任务:0.否 1.是 |
agentList | List | 必传 | 任务座席 |
agentList.agentId | int | 必传 | 座席ID |
agentList.agentNumber | String | 必传 | 座席号 |
agentList.crmId | String | 非必传 | 自定义工号 |
queueId | int | 必传 | 队列ID |
numbers | List | 必传 | 任务号码 |
numbers.number | String | 必传 | 任务号码 |
numbers.userField | String | 非必传 | 自定义字段 |
queueNumber | String | 必传 | 队列号 |
startdate | date | 非必传 | yyyy-MM-dd 开始年月日,非永久任务时必传 |
enddate | date | 非必传 | yyyy-MM-dd 结束年月日,非永久任务时必传 |
timePeriodList | List | 必传 | 任务时间 |
timePeriodList.starttime | date | 必传 | 开始时间,HH:mm:ss格式 |
timePeriodList.endtime | date | 必传 | 结束时间,HH:mm:ss格式 |
trunkNames | List | 必传 | 中继组名称列表 |
customerDisplayType | int | 必传 | 客户侧外显类型:0.从号码组中随机外显 1.按照客户号码归属地外显 |
minAgentCount | int | 可选 默认值为5 | 最小座席数(登录座席少于此值 任务自动暂停) |
minAnswerRate | int | 可选 默认值为10 | 最小接通率(接通率低于此值 任务自动暂停) |
harass | int | 可选 默认值为15 | 骚扰阈值(低于阈值 任务自动暂停) |
precallCount | int | 必传 | 试呼数据条数 建议为参与任务座席数25倍以上 |
preAnswerRate | int | 必传 | 预估接听率 |
preHarass | int | 可选 默认值5 | 骚扰率预设值(客户接听 但是没有可分配的空闲座席 溢出到队列的呼叫数量/呼叫客户正常接通数量) |
precallDateList | List | 可传 | 指定任务执行日期 List<String> 时间格式:yyyy-MM-dd 永久类型任务必传 |
11.3.4 请求体示例
json
{
"projectId": "xxxx",
"name": "xxx",
"description": "xxx",
"forever": 0,
"agentList": [
{"agentId": 111, "agentNumber": "1111", "crmId": "1111xz"},
{"agentId": 55, "agentNumber": "111111", "crmId": "111111xz"}
],
"queueId": 40,
"timePeriodList": [
{"starttime": "09:00:00", "endtime": "18:00:00"}
],
"numbers": [
{"number": "12CGJA8910", "userField": "erqawqar"}
],
"queueNumber": "1231234",
"startdate": "2022-12-01",
"enddate": "2022-12-02",
"trunkNames": [
"Trunk 1",
"Trunk 2"
],
"customerDisplayType": 0,
"minAgentCount": 5,
"minAnswerRate": 80,
"harass": 10,
"precallCount": 1000,
"preAnswerRate": 70,
"preHarass": 5
}
11.3.5 响应体示例
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2024-05-29 15:16:34"
}
11.4 获取任务配置详情
11.4.1 功能说明
获取配置的任务详情。
11.4.2 请求路径
GET https://ip/dky-open-api/version-2.0.0/precall/task/getById?projectId=×tamp=&sign=
11.4.3 参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
id | int | 必传 | 任务id |
11.4.4 响应体示例
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {
"id": 110,
"projectId": "20020001001",
"name": "060414",
"description": "",
"agentList": [
{
"agentId": 44058,
"agentNumber": "1005",
"crmId": "z1005"
}
],
"queueId": 132,
"queueNumber": "100",
"startdate": "2024-06-04",
"enddate": "2024-06-04",
"minAgentCount": 0,
"minAnswerRate": 10,
"harass": 15,
"precallCount": 5,
"preAnswerRate": 50,
"preHarass": 5,
"forever": 0,
"precallDateList": [
"2024-06-04"
],
"timePeriodList": [
{
"starttime": "01:00:00",
"endtime": "22:00:00",
}
]
},
"timestamp": "2025-06-13 18:10:21"
}
11.4.5 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
id | int | 任务ID |
projectId | String | 机构编码 |
name | String | 任务名称 |
description | String | 任务描述 |
forever | int | 是否永久任务:0.否 1.是 |
startdate | date | yyyy-MM-dd 开始年月日,非永久任务时必传 |
enddate | date | yyyy-MM-dd 结束年月日,非永久任务时必传 |
timePeriodList | List | 任务时间 |
timePeriodList.starttime | date | 开始时间,HH:mm:ss格式 |
timePeriodList.endtime | date | 结束时间,HH:mm:ss格式 |
minAgentCount | int | 最小座席数 |
minAnswerRate | int | 最小接通率 |
harass | int | 骚扰阈值 |
precallCount | int | 试呼数据条数 |
preAnswerRate | int | 预估接听率 |
preHarass | int | 骚扰率预设值(客户接听 但是没有可分配的空闲座席 溢出到队列的呼叫数量/呼叫客户正常接通数量) |
agentList | List | 任务座席 |
agentList.agentId | int | 座席ID |
agentList.agentNumber | String | 座席号 |
agentList.crmId | String | 自定义工号 |
queueId | int | 队列ID |
queueNumber | String | 队列号 |
precallDateList | List | 指定任务执行日期 List<String> 时间格式:yyyy-MM-dd 永久类型任务必传 |
11.5 修改任务配置
11.5.1 功能说明
修改已配置的任务,仅暂停/未开始状态可进行修改。
11.5.2 请求路径
PUT https://ip/dky-open-api/version-2.0.0/precall/task?projectId=×tamp=&sign=
11.5.3 请求参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
id | int | 必传 | 任务ID |
projectId | String | 必传 | 机构编码 |
name | String | 必传 | 任务名称 |
description | String | 非必传 | 任务描述 |
forever | int | 必传 | 是否永久任务:0.否 1.是 |
startdate | date | 非必传 | yyyy-MM-dd 开始年月日,非永久任务时必传 |
enddate | date | 非必传 | yyyy-MM-dd 结束年月日,非永久任务时必传 |
timePeriodList | List | 必传 | 任务时间 |
timePeriodList.starttime | date | 必传 | 开始时间,HH:mm:ss格式 |
timePeriodList.endtime | date | 必传 | 结束时间,HH:mm:ss格式 |
customerDisplayType | int | 必传 | 客户侧外显类型:0.从号码组中随机外显 1.按照客户号码归属地外显 |
minAgentCount | int | 可选 默认值为5 | 最小座席数(登录座席少于此值 任务自动暂停) |
minAnswerRate | int | 可选 默认值为10 | 最小接通率(接通率低于此值 任务自动暂停) |
harass | int | 可选 默认值为15 | 骚扰阈值(低于阈值 任务自动暂停) |
precallCount | int | 必传 | 试呼数据条数 建议为参与任务座席数25倍以上 |
preAnswerRate | int | 必传 | 预估接听率 |
preHarass | int | 可选 默认值5 | 骚扰率预设值(客户接听 但是没有可分配的空闲座席 溢出到队列的呼叫数量/呼叫客户正常接通数量) |
agentList | List | 必传 | 任务座席 |
agentList.agentId | int | 必传 | 座席ID |
agentList.agentNumber | String | 必传 | 座席号 |
agentList.crmId | String | 非必传 | 自定义工号 |
queueId | int | 必传 | 队列ID |
queueNumber | String | 必传 | 队列号 |
precallDateList | List | 非必传 | 永久类型任务指定执行日期 List<String> 时间格式:yyyy-MM-dd |
11.5.4 请求体示例
json
{
"id": 80,
"projectId": "xx",
"name": "xxx",
"description": "修改xxxx",
"agentList": [
{"agentId": 111, "agentNumber": "1111", "crmId": "1111xz"},
{"agentId": 55, "agentNumber": "111111", "crmId": "111111xz"}
],
"queueId": 40,
"timePeriodList": [
{"starttime": "09:00:00", "endtime": "18:00:00"}
],
"queueNumber": "1231234",
"startdate": "2022-12-01",
"starttime": "09:00:00",
"enddate": "2022-12-02",
"endtime": "18:00:00",
"trunkNames": [
"Trunk 1",
"Trunk 2"
],
"customerDisplayType": 0,
"minAgentCount": 5,
"minAnswerRate": 80,
"harass": 10,
"precallCount": 1000,
"preAnswerRate": 70,
"preHarass": 5
}
11.5.5 响应体示例
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2024-05-16 19:16:23"
}
11.6 删除任务
11.6.1 功能说明
删除创建的预测外呼任务。
11.6.2 请求路径
DELETE https://ip/dky-open-api/version-2.0.0/precall/task?projectId=×tamp=&sign=
11.6.3 参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
id | int | 必传 | 任务Id |
11.6.4 响应体示例
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2024-05-16 19:18:28"
}
11.7 启动任务
11.7.1 功能说明
启动创建的预测外呼任务。
11.7.2 请求路径
GET https://ip/dky-open-api/version-2.0.0/precall/task/start?projectId=×tamp=&sign=
11.7.3 参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
id | int | 必传 | 任务Id |
11.7.4 响应体示例
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2024-05-16 19:43:30"
}
11.8 暂停任务
11.8.1 功能说明
暂停预测外呼任务。
11.8.2 请求路径
DELETE https://ip/dky-open-api/version-2.0.0/precall/task/stop?projectId=×tamp=&sign=
11.8.3 参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
id | int | 必传 | 任务Id |
11.8.4 响应体示例
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2024-05-16 19:44:35"
}
11.9 任务分页列表
11.9.1 功能说明
用于展示已创建的任务分页列表。
11.9.2 请求路径
POST https://ip/dky-open-api/version-2.0.0/precall/task/pageList?projectId=×tamp=&sign=
11.9.3 请求参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
projectId | String | 必传 | 机构编码 |
name | String | 非必传 | 任务名称 |
state | int | 非必传 | 任务状态 0.初始 1.进行中 2.已完成 3.已暂停 |
11.9.4 请求体示例
json
{
"pageNo": 1,
"pageSize": 10,
"projectId": "xxx",
"state": 3
}
11.9.5 响应体参数说明
参数名 | 类型 | 备注 |
---|---|---|
id | int | 任务ID |
name | String | 任务名称 |
count | int | 本次任务号码总数 |
startdate | date | yyyy-MM-dd 开始年月日 |
enddate | date | yyyy-MM-dd 结束年月日 |
forever | int | 是否永久任务:0.否 1.是 |
timePeriod | string | 任务时间 |
state | int | 任务状态 0.初始 1.进行中 2.已完成 3.已暂停 |
stateDescription | String | 任务状态描述 |
calledCount | int | 已呼叫数量 |
answerCount | int | 客户已接听数量 |
summaryData | object | 任务汇总数据 |
summaryData.time | String | 任务执行时间 |
summaryData.taskCount | int | 任务号码总数 |
summaryData.totalCallCount | int | 当前呼叫总数量 |
summaryData.totalAnswerCount | int | 总客户接通量 |
individualData | Object | 任务拆分数据 |
individualData.data | List | 任务拆分数据 |
Metadata.time | String | 任务执行时间 |
Metadata.todayTotalCallCount | int | 当日已呼叫总数量 |
Metadata.todayTotalAnswerCount | int | 当前客户接听数 |
Metadata.executionDate | date | 任务执行日期(年月日) |
Metadata.startTime | date | 任务开始执行日期(时分秒) |
Metadata.endTime | date | 任务结束执行日期(时分秒) |
11.9.6 响应体示例
json
{
"code": 0,
"status": "success",
"msg": "请求成功",
"data": {
"totalCount": 7,
"pageSize": 10,
"totalPage": 1,
"currPage": 1,
"list": [
{
"id": 177,
"name": "061101",
"count": 100,
"startdate": "2024-06-11",
"enddate": "2024-06-11",
"forever": 0,
"timePeriod": "08:00:00-17:00:00",
"state": 3,
"stateDescription": "手动暂停",
"calledCount": 0,
"answerCount": 0,
"summaryData": {
"time": "2024-06-11 07:00:00-20:03:00",
"taskCount": 100,
"totalCallCount": 0,
"totalAnswerCount": 0
},
"individualData": {
"data": [
{
"time": "2024-06-11 19:08:32-19:10:15",
"todayTotalCallCount": 16,
"todayTotalAnswerCount": 1,
"executionDate": "2024-06-11",
"startTime": "19:08:32",
"endTime": "19:10:15"
}
]
}
}
]
},
"timestamp": "2024-06-11 18:55:03"
}
11.10 获取任务号码详情
11.10.1 功能说明
查看任务号码详情。
11.10.2 请求路径
POST https://ip/dky-open-api/version-2.0.0/precall/task/getDetail?projectId=×tamp=&sign=
11.10.3 请求参数
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
projectId | String | 必传 | 机构Id |
name | String | 非必传 | 任务名称 |
state | int | 非必传 | 号码执行状态 0.未开始 1.进行中 2.已完成 3.已暂停 |
id | int | 非必传 | 任务ID |
agentNumbers | List | 非必传 | 座席号列表 |
number | String | 非必传 | 客户号码 |
displaynum | String | 非必传 | 外显号码 |
transferMethod | int | 非必传 | 转接方式:0.缺省 1.预测分配 2.队列分配 |
hangupParty | int | 非必传 | 挂机方 0.系统 1.客户 2.座席 |
startTime | date | 非必传 | 开始时间(yyyy-MM-dd HH:mm) |
endTime | date | 非必传 | 结束时间(yyyy-MM-dd HH:mm) |
pageNo | int | 必传 | 当前页 |
pageSize | int | 必传 | 每页条数 |
11.10.4 请求示例
json
{
"id": 63,
"projectId": "xxxx",
"name": "测试六",
"agentNumbers": ["12345"],
"number": "xxx",
"displaynum": "xxx",
"transferMethod": 1,
"hangupParty": 2,
"state": 1,
"startTime": "2024-05-20 14:22:38",
"endTime": "2024-06-12 12:00:00",
"pageNo": 1,
"pageSize": 10
}
11.10.5 响应参数
参数名 | 类型 | 备注 |
---|---|---|
name | String | 任务名称 |
precallId | Int | 任务ID |
number | String | 客户号码 |
displaynum | String | 外显号码 |
encryptionNumber | String | 加密号码 |
userField | String | 自定义字段 |
dialTime | Date | 呼叫客户时间 |
answerTime | Date | 客户接通时间 |
agentNumber | String | 座席工号 |
agentName | String | 座席名称 |
crmId | String | 自定义工号 |
state | int | 号码执行状态 0.未开始 1.进行中 2.已完成 3.已暂停 |
agentAnswerTime | Date | 座席应答时间 |
duration | int | 总通话通话时长(客户接通到挂断的时长) |
agentDuration | int | 座席通话时长(座席接通和最终挂断的) |
transferMethod | int | 转接方式:0.缺省 1.预测分配 2.队列分配 |
recordUrl | String | 录音地址 |
satisfaction | int | 满意度(-1为 无满意度) |
isAbandoned | int | 是否放弃 0否 1是 |
hangupParty | int | 挂机方:0.系统 1.客户 2.座席 |
11.10.6 响应参数示例
json
{
"code": 0,
"status": "success",
"msg": "请求成功",
"data": {
"totalCount": 2,
"pageSize": 10,
"totalPage": 1,
"currPage": 1,
"list": [
{
"name": "测试",
"precallId": 1,
"number": "15301636644",
"displaynum": "13012345678",
"encryptionNumber": "15301636644",
"userField": "",
"dialTime": "2024-05-23 11:54:53",
"answerTime": "2024-05-23 11:54:59",
"agentNumber": "10086",
"agentName": "杨福亚",
"crmId": "0001",
"state": 0,
"agentAnswerTime": "2024-05-23 11:55:01",
"duration": 3,
"agentDuration": 1,
"transferMethod": 1,
"recordUrl": "https://dkycc2.obs.cn-north-4.myhuaweicloud.com/20020001001/20240523/20020001001-20240523115459-15301636644-13012345678--0-1716436493258.100119-gateway-00000016-normal.mp3",
"satisfaction": -1,
"isAbandoned": 0,
"hangupParty": 2
}
]
},
"timestamp": "2024-06-12 10:20:27"
}
11.11 追加预测外呼号码
11.11.1 功能说明
用于追加已创建的预测外呼任务号码。
11.11.2 请求路径
POST https://ip/dky-open-api/version-2.0.0/precall/task/superAddition?projectId=×tamp=&sign=
11.11.3 请求参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
projectId | String | 必传 | 机构id |
precallId | int | 必传 | 任务ID |
numbers | List | 必传 | 任务号码列表 修改需要重新传递号码 |
numbers.number | String | 必传 | 任务号码 |
numbers.userField | String | 非必传 | 自定义字段 |
11.11.4 请求体示例
json
{
"projectId": "xxxx",
"precallId": 87,
"numbers": [
{"number": "5551234567", "userField": "field1"},
{"number": "5559876543", "userField": "field2"},
{"number": "5555555555", "userField": "field3"}
]
}
11.11.5 响应体示例
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2024-06-11 15:33:45"
}
12. 分机管理接口
12.1 新增分机
12.1.1 功能说明
新增分机
12.1.2 请求路径
POST https://ip/dky-open-api/version-2.0.0/extensionadd?projectId=×tamp=&sign=
12.1.3 参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
extensionNo | string | 必选 | 分机号 |
password | String | 必选 | 分机密码 |
status | Int | 必选 | 分机状态 (0:未启用; 1:启用; 2:停用; ) |
extensionType | Int | 必选 | 分机类型 (1:SIP; 2:WebRTC; ) |
description | String | 可选 | 备注 |
callRecording | Int | 必选 | 来电录音 (1:开启; 0:关闭; ) |
isEncrypt | Int | 可选 | 分机密码是否加密(0否;1是) |
12.1.4 请求体
json
{
"extensionNo": "101",
"password": "123456",
"status": 1,
"extensionType": 1,
"callRecording": 1
}
12.1.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-10-30 10:00:00"
}
12.2 修改分机
12.2.1 功能说明
修改分机信息
12.2.2 请求路径
POST https://ip/dky-open-api/version-2.0.0/extensionupdate?projectId=×tamp=&sign=
12.2.3 参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
id | Int | 可选 | 分机ID 分机ID和分机号必须传入一个 |
extensionNo | string | 可选 | 分机号,不支持修改,仅作为条件 分机ID和分机号必须传入一个 |
password | String | 必选 | 分机密码 |
status | Int | 必选 | 分机状态 (0:未启用; 1:启用; 2:停用; ) |
extensionType | Int | 必选 | 分机类型 (1:SIP; 2:WebRTC; ) |
description | String | 可选 | 备注 |
callRecording | Int | 必选 | 来电录音 (1:开启; 0:关闭; ) |
isEncrypt | Int | 可选 | 分机密码是否加密(0否1是) |
12.2.4 请求体
json
{
"id": 1,
"extensionNo": "101",
"password": "123456",
"status": 1,
"extensionType": 1,
"callRecording": 1
}
12.2.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-10-30 10:00:00"
}
12.3 删除分机
12.3.1 功能说明
删除分机
12.3.2 请求路径
POST https://ip/dky-open-api/version-2.0.0/extensiondelete?projectId=×tamp=&sign=
12.3.3 参数说明
分机ID数组
12.3.4 请求体
json
[1, 2, 3]
12.3.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-10-30 10:00:00"
}
12.4 分机详情
12.4.1 功能说明
查询分机详情信息
12.4.2 请求路径
GET https://ip/dky-open-api/version-2.0.0/extensioninfo?projectId=×tamp=&sign=
12.4.3 参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
id | Int | 可选 | 分机ID 分机ID和分机号必须传入一个 |
extensionNo | string | 可选 | 分机号,不支持修改,仅作为条件 分机ID和分机号必须传入一个 |
isEncrypt | Int | 可选 | 分机密码是否加密(0否;1是) |
12.4.4 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
id | Int | 分机ID |
projectId | String | 机构编码 |
extensionNo | string | 分机号 |
password | String | 分机密码 |
extensionType | Int | 必选 |
status | Int | 分机状态 (0:未启用; 1:启用; 2:停用; ) |
description | String | 说明 |
callRecording | Int | 来电录音 (0:开启; 1:关闭; ) |
lastRegistrationTime | String | 最后注册时间 (yyyy-MM-dd HH:mm:ss) |
12.4.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"timestamp": "2023-10-30 10:00:00",
"data": {
"id": 1,
"projectId": "10001001001",
"extensionNo": "1001",
"password": "123456",
"status": 1,
"extensionType": 1,
"description": "SIP分机"
}
}
12.5 分机列表
12.5.1 功能说明
查询分机列表
12.5.2 请求路径
GET https://ip/dky-open-api/version-2.0.0/extensionlist?projectId=×tamp=&sign=
12.5.3 参数说明
参数名 | 类型 | 备注 |
---|---|---|
pageNo | Int | 当前页码 (默认1) |
pageSize | Int | 每页条数 (默认10) |
extensionNo | string | 分机编号 |
extensionNoStart | Int | 分机编号起始 |
extensionNoEnd | Int | 分机编号结束 |
status | Int | 分机状态 (0:未启用; 1:启用; 2:停用; ) |
isEncrypt | Int | 分机密码是否加密(0否;1是) |
12.5.4 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
totalCount | Int | 总记录数 |
pageSize | Int | 每页记录数 |
totalPage | Int | 总页数 |
currPage | Int | 当前页码 |
list | Array | 分机信息数组 |
分机信息
参数名 | 类型 | 备注 |
---|---|---|
id | Int | 分机ID |
projectId | String | 机构编码 |
extensionNo | string | 分机号 |
password | String | 分机密码 |
status | Int | 分机状态 (0:未启用; 1:启用; 2:停用; ) |
extensionType | Int | 必选 |
description | String | 说明 |
callRecording | Int | 来电录音 (0:开启; 1:关闭; ) |
lastRegistrationTime | String | 最后注册时间 (yyyy-MM-dd HH:mm:ss) |
12.5.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"timestamp": "2023-10-30 10:00:00",
"data": {
"totalCount": 100,
"pageSize": 10,
"totalPage": 10,
"currPage": 1,
"list": [
{
"id": 3448,
"projectId": "20020001001",
"extensionNo": "9009",
"password": "123456",
"status": 1,
"extensionType": 1,
"description": "SIP话机测试"
},
{
"id": 2597,
"projectId": "20020001001",
"extensionNo": "909090",
"password": "123456",
"status": 1,
"extensionType": 2,
"description": "WebRTC测试"
}
]
}
}
12.6 根据分机号删除分机
12.6.1 功能说明
删除分机
12.6.2 请求路径
POST https://ip/dky-open-api/version-2.0.0/extensiondeletebyno?projectId=×tamp=&sign=
12.6.3 参数说明
分机号数组
12.6.4 请求体
json
["1001", "1002", "1003"]
12.6.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-10-30 10:00:00"
}
13. 号码管理
13.1 号码信息列表
13.1.1 功能说明
查询所有外显号码
13.1.2 请求路径
GET https://ip/dky-open-api/version-2.0.0/numberList?projectId=×tamp=&sign=
13.1.3 参数说明
参数名 | 类型 | 必选 | 备注 |
---|---|---|---|
displayNumber | string | 否 | 外显号码 |
type | int | 否 | 号码类型(1:SIP-X手机; 2:SIP-X固话; 3:热线号码; ) |
province | string | 否 | 省份 |
city | string | 否 | 城市 |
areaCode | string | 否 | 区号 |
operator | string | 否 | 号码运营商(移动; 电信; 联通; ) |
status | int | 否 | 状态(1:未启用; 2:启用; 3:故障; 4:停用; 5:退号; ) |
13.1.4 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
totalCount | int | 总记录数 |
pageSize | int | 每页记录数 |
totalPage | int | 总页数 |
currPage | int | 当前页码 |
list | array | 号码信息列表 |
号码信息列表
参数名 | 类型 | 备注 |
---|---|---|
id | int | 主键 |
displayNumber | string | 外显号码 |
type | int | 号码类型(1:SIP-X手机; 2:SIP-X固话; 3:热线号码; ) |
province | string | 省份 |
city | string | 城市 |
areaCode | string | 区号 |
operator | string | 号码运营商(移动; 电信; 联通; ) |
status | int | 状态(1:未启用; 2:启用; 3:故障; 4:停用; 5:退号; ) |
todayCallCount | int | 否 |
trunkNumberGroup | string | 所属的中继号码组 |
trunkNumberGroupId | int | 中继号码组ID |
numberGroupId | int | 自定义号码组ID |
numberGroupName | string | 自定义号码组名称 |
13.1.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"timestamp": "2023-01-01 10:00:00",
"data": {
"totalCount": 100,
"pageSize": 10,
"totalPage": 10,
"currPage": 1,
"list": [
{
"id": 113,
"displayNumber": "17319447410",
"type": 3,
"province": "北京",
"city": "北京",
"areaCode": "010",
"operator": "电信",
"status": 4,
"todayCallCount": 0,
"trunkNumberGroup": "T0003",
"trunkNumberGroupId": 203,
"numberGroupId": 154,
"numberGroupName": "测试号码组"
},
{
"id": 112,
"displayNumber": "18319442804",
"type": 3,
"province": "北京",
"city": "北京",
"areaCode": "010",
"operator": "电信",
"status": 4,
"todayCallCount": 0,
"trunkNumberGroup": "T0003",
"trunkNumberGroupId": 203,
"numberGroupId": 153,
"numberGroupName": "邯郸前置-测试号码组"
}
]
}
}
13.2 查询号码资源剩余用量
13.2.1 功能说明
查询号码资源剩余用量
13.2.2 请求路径
GET https://ip/dky-open-api/version-2.0.0/getRemainingDialCount?projectId=×tamp=&sign=
13.2.3 参数说明
13.2.4 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
localRemaining | array(剩余用量) | 本地打本地策略剩余用量 |
provinceRemaining | array(剩余用量) | 省会策略剩余用量 |
defaultRemaining | array(剩余用量) | 托底策略剩余用量 |
剩余用量
参数名 | 类型 | 备注 |
---|---|---|
province | string | 省份 |
city | string | 城市 |
areaCode | string | 区号 |
remaining | int | 剩余次数 |
13.2.5 正确响应体
JSON
{
"code":200,
"status":"success",
"msg":"成功",
"data":{
"localRemaining":[
{
"province": "北京",
"city": "海北京",
"areaCode": "010",
"remaining": 20
}
],
"provinceRemaining":[
{
"province":"北京",
"city":"北京",
"areaCode":"010",
"remaining":300
}
],
"defaultRemaining":[
{
"province":"北京",
"city":"北京",
"areaCode":"010",
"remaining":150
}
]
},
"timestamp":"2025-01-23 16:52:25"
}
13.3 被叫号码风控频次剩余查询接口
13.3.1 功能说明
24小时内被叫号码风控频次剩余查询接口
13.3.2 请求路径
GET https://ip/dky-open-api/version-2.0.0/queryDailyRiskControl?projectId=×tamp=&sign=
13.3.3 参数说明
参数名 | 类型 | 备注 |
---|---|---|
calledNum | String | 被叫号码(必选) |
tag | String | 风控标签 (可选) |
13.3.4 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
calleeDailyRemaining | int | 被叫每日剩余呼叫次数 |
isInHourlyLimit | boolean | 该部门对该被叫号码是否处于1小时限呼true 冻结期,不支持呼叫。false 非冻结期,表示该号码可继续呼叫。 |
13.3.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {
"calleeDailyRemaining": 1508,
"isInHourlyLimit": false
},
"timestamp": "2025-05-13 19:28:50"
}
14. 中继组管理
14.1 获取中继组列表
14.1.1 功能说明
每个号码都有自己的所属中继组,当进行外呼时可以指定使用某个中继组里面的号码资源。
14.1.2 请求路径
GET https://ip/dky-open-api/version-2.0.0/trunkNumberGroupList?projectId=×tamp=&sign=
14.1.3 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
id | Int | 中继组ID |
name | String | 中继组名称 |
14.1.4 返回示例
json
{
"code": 0,
"status": "success",
"msg": "请求成功",
"data": [
{
"id": 230,
"name": "BJDX0004"
},
{
"id": 203,
"name": "T0003"
}
],
"timestamp": "2024-05-16 16:45:04"
}
14.2 获取中继组下号码明细列表
14.2.1 功能说明
根据中继组ID查询该中继组下所有的的号码明细列表
14.2.2 请求路径
GET https://ip/dky-open-api/version-2.0.0/trunkNumberDetailList?projectId=×tamp=&sign=
14.2.3 参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
pageNo | int | 必选 | 当前页面 |
pageSize | int | 必选 | 每页条数 |
trunkNumberGroupId | int | 必选 | 中继组ID |
14.2.4 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
id | int | 号码ID |
displayNumber | string | 外显号码 |
type | int | 号码类型(1:SIP-X手机; 2:SIP-X固话; 3:热线号码; ) |
province | string | 省份 |
city | string | 城市 |
areaCode | string | 区号 |
operator | string | 号码运营商(移动; 电信; 联通; ) |
status | int | 状态(1:未启用; 2:启用; 3:故障; 4:停用; 5:退号; ) |
todayCallCount | int | 当日使用次数 |
trunkNumberGroup | string | 中继组名称 |
trunkNumberGroupId | int | 中继组ID |
numberGroupId | int | 自定义号码组ID |
numberGroupName | string | 自定义号码组名称 |
14.2.5 返回示例
JSON
{
"code": 200,
"status": "success",
"msg": "成功",
"data": [
{
"id": 91,
"displayNumber": "17702502584",
"type": 3,
"province": "江苏",
"city": "南京",
"areaCode": "025",
"operator": "电信",
"status": 4,
"todayCallCount": 0,
"trunkNumberGroup": "T0003",
"trunkNumberGroupId": 203,
"numberGroupId": 153,
"numberGroupName": "邯郸前置-测试号码组"
},
{
"id": 92,
"displayNumber": "18702507429",
"type": 3,
"province": "江苏",
"city": "南京",
"areaCode": "025",
"operator": "电信",
"status": 4,
"todayCallCount": 0,
"trunkNumberGroup": "T0003",
"trunkNumberGroupId": 203,
"numberGroupId": 153,
"numberGroupName": "邯郸前置-测试号码组"
}
],
"timestamp": "2025-06-12 15:05:43"
}
15. 自定义号码组管理
15.1 获取自定义号码组列表
15.1.1 功能说明
当想让多个号码自定义的组成一组时调用该功能
15.1.2 请求路径
GET https://ip/dky-open-api/version-2.0.0/numberGroupList?projectId=×tamp=&sign=
15.1.3 参数说明
参数名 | 类型 | 必选 | 备注 |
---|---|---|---|
pageNo | int | 是 | 当前页面 |
pageSize | int | 是 | 每页条数 |
15.1.4 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
totalCount | int | 总记录数 |
pageSize | int | 每页记录数 |
totalPage | int | 总页数 |
currPage | int | 当前页码 |
list | Array | 号码组信息数组 |
号码组信息
参数名 | 类型 | 备注 |
---|---|---|
numberGroupId | int | 号码组ID |
numberGroupName | String | 号码组名称 |
numberCount | int | 号码数量 |
remark | String | 备注 |
15.1.5 返回示例
json
{
"code": 200,
"status": "success",
"msg": "成功",
"timestamp": "2024-01-01 10:00:00",
"data": {
"totalCount": 1,
"pageSize": 10,
"totalPage": 1,
"currPage": 1,
"list": [
{
"numberGroupId": 154,
"numberGroupName": "测试号码组",
"numberCount": 3,
"remark": "测试号码组"
}
]
}
}
15.2 新增自定义号码组
15.2.1 功能说明
当想让多个号码自定义的组成一组时调用该功能
15.2.2 请求路径
POST https://ip/dky-open-api/version-2.0.0/numberGroup?projectId=×tamp=&sign=
15.2.3 参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
numberGroupId | string | 可选 | 号码组ID(支持数字+字母),不传时默认生成 |
numberGroupName | String | 必选 | 号码组名称 |
remark | string | 可选 | 备注 |
numberList | List | 必选 | 号码集合 |
15.2.4 请求体
json
{
"numberGroupId": 1,
"numberGroupName": "自定义号码组",
"remark": "自定义号码组",
"numberList": [
"13888888888",
"18888888888"
]
}
15.2.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2024-01-01 10:00:00"
}
15.3 修改自定义号码组
15.3.1 功能说明
修改自定义号码组信息
15.3.2 请求路径
POST https://ip/dky-open-api/version-2.0.0/updateNumberGroup?projectId=×tamp=&sign=
15.3.3 参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
numberGroupId | string | 可选 | 号码组ID(支持数字+字母),不传时默认生成 |
numberGroupName | String | 必选 | 号码组名称 |
remark | string | 可选 | 备注 |
numberList | List | 必选 | 号码集合,会根据新的号码列表进行更新,原有的号码不存在该集合时会删除库中的号码 |
15.3.4 请求体
json
{
"numberGroupId": 1,
"numberGroupName": "自定义号码组",
"remark": "自定义号码组",
"numberList": [
"13888888888",
"18888888888"
]
}
15.3.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2023-10-30 10:00:00"
}
15.4 删除自定义号码组
15.4.1 功能说明
删除自定义号码组
15.4.2 请求路径
POST https://ip/dky-open-api/version-2.0.0/deleteNumberGroup?projectId=×tamp=&sign=
15.4.3 参数说明
号码组ID数组
15.4.4 请求体
json
[1, 2, 3]
15.4.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2024-01-01 10:00:00"
}
15.5 自定义号码组明细
15.5.1 功能说明
查看自定义号码组明细
15.5.2 请求路径
GET https://ip/dky-open-api/version-2.0.0/numberGroupDetailList?projectId=×tamp=&sign=
15.5.3 参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
pageNo | int | 必选 | 当前页面 |
pageSize | int | 必选 | 每页条数 |
numberGroupId | Int | 必选 | 号码组ID |
15.5.4 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
id | int | 号码ID |
displayNumber | string | 外显号码 |
type | int | 号码类型(1:SIP-X手机; 2:SIP-X固话; 3:热线号码; ) |
province | string | 省份 |
city | string | 城市 |
areaCode | string | 区号 |
operator | string | 号码运营商(移动; 电信; 联通; ) |
status | int | 状态(1:未启用; 2:启用; 3:故障; 4:停用; 5:退号; ) |
todayCallCount | int | 当日使用次数 |
trunkNumberGroup | string | 中继组名称 |
trunkNumberGroupId | int | 中继组ID |
numberGroupId | int | 自定义号码组ID |
numberGroupName | string | 自定义号码组名称 |
15.5.5 正确响应体
json
{
"code": 200,
"status": "success",
"msg": "成功",
"timestamp": "2024-01-01 10:00:00",
"data": [
{
"id": 1,
"displayNumber": "1388888888",
"type": 1,
"province": "北京",
"city": "北京",
"areaCode": "010",
"operator": "联通",
"status": 1,
"todayCallCount": 0,
"trunkNumberGroup": "T0003",
"trunkNumberGroupId": 203,
"numberGroupId": 153,
"numberGroupName": "邯郸前置-测试号码组"
},
{
"id": 2,
"displayNumber": "1888888888",
"type": 1,
"province": "北京",
"city": "北京",
"areaCode": "010",
"operator": "联通",
"status": 1,
"todayCallCount": 0,
"trunkNumberGroup": "T0003",
"trunkNumberGroupId": 203,
"numberGroupId": 153,
"numberGroupName": "邯郸前置-测试号码组"
}
]
}
16. RASR实时推送
16.1 实时语音文本推送 http 方式
由于推送为实时消息,推送成功需要客户端提供接口 http POST application/json utf-8 。
注释:返回标识为响应体只返回 success,其他认为失败,并且此条失败的事件不再推送。
16.1.1 功能说明
座席外呼客户双方接通后,推送语音文本(座席侧/客户侧)。
16.1.2 请求路径
客户提供 <http://ip/url,POST方式,交由运营人员配置。>
16.1.3 参数说明
POST body参数名
POST参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
linkedId | String | 可选 | 一通电话的通话唯一id |
callLeg | String | 可选 | 角色:坐席侧为agent, 客户为customer |
projectId | String | 可选 | 项目id(三级机构编号) |
agentTelNumber | String | 可选 | 坐席侧分机号码 |
agentNumber | String | 可选 | 坐席号 |
option | String | 可选 | 只对通过接口呼叫有效,通话方向in呼入, out呼出 |
callType | String | 可选 | 通话类型 |
customerTelNumber | String | 可选 | 客户侧号码 |
text | String | 可选 | 语音文本 |
timestamp | Long | 可选 | 时间戳 |
16.1.4 请求体
json
{
"agentTelNumber": "700370010011002",
"callLeg": "agent",
"customerTelNumber": "15931037982",
"linkedId": "cti1-1725499061743.100012",
"projectId": "70037001001",
"text": "我看看有没有传过来信息。",
"timestamp": 1725499109552
}
{
"agentTelNumber": "700370010011002",
"callLeg": "customer",
"customerTelNumber": "15931037982",
"linkedId": "cti1-1725499061743.100012",
"projectId": "70037001001",
"text": "我,我开着呢,我正打电话。",
"timestamp": 1725499113179
}
16.1.5 正确响应体
json
success
17. 闪信
17.1 获取闪信配置
17.1.1 功能说明
获取闪信配置的接口。
17.1.2 请求路径
GET https://ip/dky-open-api/version-2.0.0/flashConfig/configList?projectId=×tamp=&sign=
17.1.3 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
id | Integer | 模板ID |
projectId | String | 机构ID |
projectName | String | 机构名称 |
name | String | 模板名称 |
content | String | 模板内容 |
shlsCode | String | 闪信代码 |
params | String | 参数 |
templateType | Integer | 模板类型 |
passTime | Date | 审核通过时间 |
submitTime | Date | 提交时间 |
createTime | Date | 创建时间 |
createBy | String | 创建人 |
updateTime | Date | 修改时间 |
updateBy | String | 修改人 |
auditStatus | Integer | 审核状态 |
startType | Integer | 启用状态 |
17.1.4 返回示例
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": [
{
"id": 30,
"projectId": "70037001001",
"projectName": "uat测试机构3级",
"name": "测试010",
"content": "测试010",
"shlsCode": "shls2022000001344",
"params": "name",
"templateType": 1,
"passTime": "2024-08-16 12:57:28",
"submitTime": "2024-08-16 12:56:31",
"createTime": "2024-08-16 10:36:41",
"createBy": "superAdmin",
"updateTime": "2025-05-26 10:02:25",
"updateBy": "superAdmin",
"auditStatus": 2,
"startType": 3
}
],
"timestamp": "2025-05-26 17:09:46"
}
17.2 获取闪信发送记录
17.2.1 功能说明
获取闪信发送记录的接口。
17.2.2 请求路径
GET https://ip/dky-open-api/version-2.0.0/flashSms/list?projectId=×tamp=&sign=
17.2.3 参数说明
参数名 | 类型 | 必选 | 备注 |
---|---|---|---|
mobile | string | 否 | 手机号 |
modeId | int | 否 | 模版ID |
modeName | string | 否 | 模版名称 |
projectId | string | 是 | 机构ID |
requestStatus | int | 否 | 请求状态 |
sendStatus | Int | 否 | 发送状态 |
startTime | string | 否 | 开始时间 |
endTime | string | 否 | 结束时间 |
type | int | 否 | 时间类型(今天-today,昨天-yesterday,本周-week,本月-month,上月-lastMonth) |
17.2.4 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
projectId | String | 机构ID |
mobile | String | 手机号 |
areaCode | String | 区号 |
modeId | int | 模版ID |
modeName | string | 模版名称 |
requestTime | int | 请求时间 |
requestStatus | int | 请求状态 |
sendStatus | int | 发送状态 |
17.2.5 返回示例
json
{
"code": 0,
"status": "success",
"msg": "请求成功",
"data": {
"totalCount": 100,
"pageSize": 10,
"totalPage": 10,
"currPage": 1,
"list": [
{
"projectId": "70000001001",
"mobile": "13333333333",
"areaCode": "1001",
"modeId": 1,
"modeName": "测试模版",
"requestTime": 3,
"requestStatus": 3,
"sendStatus": 2
}
]
},
"timestamp": "2024-05-16 16:45:04"
}
17.3 发送闪信接口
17.3.1 功能说明
发送闪信接口。
17.3.2 请求路径
POST https://ip/dky-open-api/version-2.0.0/flashSms/send?projectId=×tamp=&sign=
17.3.3 参数说明
参数名 | 类型 | 备注 |
---|---|---|
modeId | Int | 模版ID |
projectId | String | 机构ID |
mobile | String | 手机号 |
paramsJson | JSONObject | 模版参数 |
17.3.4 返回示例
json
{
"code": 200,
"status": "success",
"msg": "成功",
"data": {},
"timestamp": "2024-08-22 18:43:21"
}
18. RASR实时推送
18.1 实时语音文本推送 http 方式
由于推送为实时消息,推送成功需要客户端提供接口 http POST application/json utf-8 。
注释:返回标识为响应体只返回 success,其他认为失败,并且此条失败的事件不再推送。
18.1.1 功能说明
座席外呼客户双方接通后,推送语音文本(座席侧/客户侧)。
18.1.2 请求路径
客户提供 http://ip/url,POST方式,交由运营人员配置。
18.1.3 参数说明
POST body参数名
post参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
linkedId | String | 可选 | 一通电话的通话唯一id |
callLeg | String | 可选 | 角色:坐席侧为agent, 客户为customer |
projectId | String | 可选 | 项目id(三级机构编号) |
agentTelNumber | String | 可选 | 坐席侧分机号码 |
agentNumber | String | 可选 | 坐席号 |
option | String | 可选 | 只对通过接口呼叫有效,通话方向in呼入, out呼出 |
callType | String | 可选 | 通话类型 |
customerTelNumber | String | 可选 | 客户侧号码 |
text | String | 可选 | 语音文本 |
timestamp | Long | 可选 | 时间戳 |
18.1.4 请求体
Java
{
"agentTelNumber": "700370010011002",
"callLeg": "agent",
"customerTelNumber": "15931037982",
"linkedId": "cti1-1725499061743.100012",
"projectId": "70037001001",
"text": "我看看有没有传过来信息。",
"timestamp": 1725499109552
}
{
"agentTelNumber": "700370010011002",
"callLeg": "customer",
"customerTelNumber": "15931037982",
"linkedId": "cti1-1725499061743.100012",
"projectId": "70037001001",
"text": "我,我开着呢,我正打电话。",
"timestamp": 1725499113179
}
18.1.5 正确响应体
Java
success
18.2 实时语音文本推送 ws 方式
18.2.1 功能说明
座席外呼客户双方接通后,推送语音文本(座席侧/客户侧)。
18.2.2 请求路径
客户提供 ws//ip/url,交由运营人员配置
如:ws://ip:port/ws/callTest?linkedId=cti2-1726286133699.100003&projectId=20020001001&callLeg=agent&agentTelNumber=200200010011007&customerTelNumber=17612346069
请求时的 url 附加请求参数:
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
linkedId | String | 可选 | 一通电话的通话唯一id |
callLeg | String | 可选 | 角色:坐席侧为agent, 客户为customer |
projectId | String | 可选 | 项目id(三级机构编号) |
token | String | 可选 | 分配的 token |
agentNumber | String | 可选 | 发起通话的坐席号 |
agentTelNumber | String | 可选 | 坐席侧分机号码 |
customerTelNumber | String | 可选 | 客户侧号码 |
18.2.3 推送参数说明
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
linkedId | String | 可选 | 一通电话的通话唯一id |
callLeg | String | 可选 | 角色:坐席侧为agent, 客户为customer |
projectId | String | 可选 | 项目id(三级机构编号) |
agentTelNumber | String | 可选 | 坐席侧分机号码 |
agentNumber | String | 可选 | 坐席号 |
option | String | 可选 | 只对通过接口呼叫有效,通话方向in呼入, out呼出 |
callType | String | 可选 | 通话类型 |
customerTelNumber | String | 可选 | 客户侧号码 |
text | String | 可选 | 语音文本 |
timestamp | Long | 可选 | 时间戳 |
18.2.4 请求体
Java
{
"agentTelNumber": "700370010011002",
"callLeg": "agent",
"customerTelNumber": "15931037982",
"linkedId": "cti1-1725499061743.100012",
"projectId": "70037001001",
"text": "我看看有没有传过来信息。",
"timestamp": 1725499109552
}
{
"agentTelNumber": "700370010011002",
"callLeg": "customer",
"customerTelNumber": "15931037982",
"linkedId": "cti1-1725499061743.100012",
"projectId": "70037001001",
"text": "我,我开着呢,我正打电话。",
"timestamp": 1725499113179
}
18.2.5 正确响应体
Plain
无
18.3 实时语音流推送 ws 方式
18.3.1 功能说明
座席外呼客户双方接通后,推送语音流(座席侧/客户侧)。
18.3.2 请求路径
客户提供 ws//ip/url,交由运营人员配置
如:ws://ip:port/ws/callTest?linkedId=cti2-1726286133699.100003&projectId=20020001001&callLeg=agent&agentTelNumber=200200010011007&customerTelNumber=17612346069
请求时的 url 附加请求参数:
参数名 | 类型 | 要求 | 备注 |
---|---|---|---|
linkedId | String | 可选 | 一通电话的通话唯一id |
callLeg | String | 可选 | 角色:坐席侧为agent, 客户为customer |
projectId | String | 可选 | 项目id(三级机构编号) |
token | String | 可选 | 分配的 token |
agentNumber | String | 可选 | 发起通话的坐席号 |
agentTelNumber | String | 可选 | 坐席侧分机号码 |
customerTelNumber | String | 可选 | 客户侧号码 |
18.3.3 推送参数说明
语音流,字节
18.3.4 请求体
Java
字节流
18.3.5 正确响应体
Plain
无
数据字典
节点类型 (nodeType)
值 | 类型名 |
---|---|
play | 播放节点 |
start | 开始节点 |
answer | 应答节点 |
ivr | 收号节点 |
menu | 选择节点 |
userjson | http交互节点 |
varcondition | 判断节点 |
area | 地区节点 |
time | 时间节点 |
voicemail | 留言节点 |
hangup | 挂机节点 |
setvar | 变量节点 |
autosatisfaction | 自动满意度 |
dial | 直呼节点 |
queue | 队列节点 |
branch | 分支节点 |
robot | 机器人节点 |
推送事件呼叫类型 (callType)
值 | 类型名 |
---|---|
0 | 单呼(座席绑定分机号,客户手机号) |
2 | 两端呼(座席绑定手机号,客户手机号) |
4 | 预测外呼 |
5 | webcall(IVR语音通知) |
7 | webcall(双呼,没有座席的概念) |
8 | 监听 |
9 | 强插 |
10 | 耳语 |
11 | 转座席 |
12 | 转外线 |
13 | 转IVR |
14 | 转队列 |
15 | 咨询转座席 |
16 | 咨询转外线 |
17 | 咨询三方 |
18 | 监听三方 |
19 | 咨询座席 |
20 | 咨询外线 |
21 | 强拆 |
22 | 电话告警 |
23 | 号码拨测 |
24 | 机器人外呼 |
25 | 实时对话 |
29 | 来电呼入 |
30 | 直呼节点 |
31 | 进队列 |
32 | 预测外呼溢出到队列 |
呼叫类型 (callType)
值 | 类型名 |
---|---|
1 | 呼出 |
2 | 两端呼叫 |
3 | 单端呼盲转 |
4 | 两端呼盲转 |
5 | WebCall |
6 | IVR语音 |
7 | 呼入 |
8 | 预测外呼 |
9 | 预测外呼溢出队列 |
24 | 机器人外呼 |
通话详情呼叫类型 (callType)
值 | 类型名 |
---|---|
CALL_TO_AGENT | 呼转座席 |
CALL_TO_CUSTOMER | 呼转客户 |
TRANSFER | 转移 |
CONSULT | 咨询 |
CONSULT_TRANSFER | 咨询转接 |
TRANSFER_QUEUE | 转移队列 |
TRANSFER_IVR | 转移IVR |
CHANSPY | 监听 |
WHISPER | 耳语 |
JOIN | 强插 |
ATXFER_TRIPARTITE | 咨询三方 |
CHANSPY_TRIPARTITE | 监听三方 |
ATXFER_AGENT | 咨询座席 |
ATXFER_PSTN | 咨询外部电话 |
BAT | 预测分配 |
BAT_QUEUE | 预测外呼溢出队列 |
TRANSFER_PSTN | 转接外部电话 |
CONSULT_PSTN | 咨询外部电话 |
CONSULT_TRANSFER_PSTN | 咨询转外部电话 |
ATXFER_TRIPARTITE_PSTN | 咨询三方外部电话 |
CALL_TO_PSTN | 呼转外线 |
呼叫结果 (callResult)
不同的呼叫类型有着不同的呼叫结果
呼出 (呼出、两端呼叫、单端呼盲转、两端呼盲转)
值 | 类型名 |
---|---|
AGENT_NO_ANSWER | 座席未接 |
CUSTOMER_NO_ANSWER | 客户未接 |
BOTH_SIDES_ANSWER | 双方接听 |
RESOURCE_ERROR | 资源异常 |
RISKY_BLACKLIST | 风控黑名单 |
CALLED_RISKY | 风控拦截 |
SYSTEM_BLACK | 黑名单-A |
YKT_BLACK | 黑名单-P |
NO_NUMBER_A | 未获取号码资源-A |
NO_NUMBER_C | 未获取号码资源-C |
NO_ANSWERED_REJECT | 客户拒接 |
NO_ANSWERED_POWER_OFF | 客户关机 |
NO_ANSWERED_SUSPEND | 客户停机 |
NO_ANSWERED_INVALID_NUMBER | 客户空号 |
RESOURCE_LIMIT | 资源限呼 |
RISKCONTROL_INTERCEPTION_100 | 风控拦截-100 |
RISKCONTROL_INTERCEPTION_101 | 风控拦截-101 |
RISKCONTROL_INTERCEPTION_200 | 风控拦截-200 |
RISKCONTROL_INTERCEPTION_201 | 风控拦截-201 |
RISKCONTROL_INTERCEPTION_202 | 风控拦截-202 |
RISKCONTROL_INTERCEPTION_203 | 风控拦截-203 |
呼入
值 | 类型名 |
---|---|
SYSTEM_NO_ANSWER | 系统未应答 |
SYSTEM_ANSWER | 系统应答 |
AGENT_NO_ANSWER | 人工未接听 |
AGENT_ANSWER | 人工接听 |
CUSTOMER_QUICK_HANGUP | 客户速挂 |
NO_NUMBER_A | 未获取号码资源-A |
NO_NUMBER_C | 未获取号码资源-C |
WebCall
AGENT_NO_ANSWER | 座席未接 |
---|---|
CUSTOMER_NO_ANSWER | 客户未接 |
CUSTOMER_ANSWER | 客户接听 |
BOTH_SIDES_ANSWER | 双方接听 |
RESOURCE_ERROR | 资源异常 |
RISKY_BLACKLIST | 风控黑名单 |
CALLED_RISKY | 风控拦截 |
SYSTEM_BLACK | 黑名单-A |
YKT_BLACK | 黑名单-P |
NO_NUMBER_A | 未获取号码资源-A |
NO_NUMBER_C | 未获取号码资源-C |
NO_ANSWERED_REJECT | 客户拒接 |
NO_ANSWERED_POWER_OFF | 客户关机 |
NO_ANSWERED_SUSPEND | 客户停机 |
NO_ANSWERED_INVALID_NUMBER | 客户空号 |
RESOURCE_LIMIT | 资源限呼 |
RISKCONTROL_INTERCEPTION_100 | 风控拦截-100 |
RISKCONTROL_INTERCEPTION_101 | 风控拦截-101 |
RISKCONTROL_INTERCEPTION_200 | 风控拦截-200 |
RISKCONTROL_INTERCEPTION_201 | 风控拦截-201 |
RISKCONTROL_INTERCEPTION_202 | 风控拦截-202 |
RISKCONTROL_INTERCEPTION_203 | 风控拦截-203 |
预测外呼
值 | 类型名 |
---|---|
BOTH_SIDES_ANSWER | 双方接听 |
CUSTOMER_REFUSE | 客户拒接 |
CUSTOMER_NO_ANSWER | 客户未接 |
CUSTOMER_GIVE_UP | 客户放弃 |
NO_ANSWERED_REJECT | 客户拒接 |
NO_ANSWERED_POWER_OFF | 客户关机 |
NO_ANSWERED_SUSPEND | 客户停机 |
NO_ANSWERED_INVALID_NUMBER | 客户空号 |
RISKY_BLACKLIST | 风控黑名单 |
CALLED_RISKY | 风控拦截 |
SYSTEM_BLACK | 黑名单-A |
YKT_BLACK | 黑名单-P |
NO_NUMBER_C | 未获取号码资源-C |
RESOURCE_ERROR | 资源异常 |
RESOURCE_LIMIT | 资源限呼 |
RISKCONTROL_INTERCEPTION_100 | 风控拦截-100 |
RISKCONTROL_INTERCEPTION_101 | 风控拦截-101 |
RISKCONTROL_INTERCEPTION_200 | 风控拦截-200 |
RISKCONTROL_INTERCEPTION_201 | 风控拦截-201 |
RISKCONTROL_INTERCEPTION_202 | 风控拦截-202 |
RISKCONTROL_INTERCEPTION_203 | 风控拦截-203 |
机器人外呼
值 | 类型名 |
---|---|
BOTH_SIDES_ANSWER | 双方接听 |
CUSTOMER_REFUSE | 客户拒接 |
CUSTOMER_NO_ANSWER | 客户未接 |
CUSTOMER_GIVE_UP | 客户放弃 |
NO_ANSWERED_REJECT | 客户拒接 |
NO_ANSWERED_POWER_OFF | 客户关机 |
NO_ANSWERED_SUSPEND | 客户停机 |
NO_ANSWERED_INVALID_NUMBER | 客户空号 |
RISKY_BLACKLIST | 风控黑名单 |
CALLED_RISKY | 风控拦截 |
SYSTEM_BLACK | 黑名单-A |
YKT_BLACK | 黑名单-P |
NO_NUMBER_C | 未获取号码资源-C |
ROBOT_ANSWER | 机器人应答 |
ROBOT_ERROR | 机器人异常 |
ROBOT_CONCURRENT_LIMIT | 机器人超并发 |
RESOURCE_LIMIT | 资源限呼 |
RISKCONTROL_INTERCEPTION_100 | 风控拦截-100 |
RISKCONTROL_INTERCEPTION_101 | 风控拦截-101 |
RISKCONTROL_INTERCEPTION_200 | 风控拦截-200 |
RISKCONTROL_INTERCEPTION_201 | 风控拦截-201 |
RISKCONTROL_INTERCEPTION_202 | 风控拦截-202 |
RISKCONTROL_INTERCEPTION_203 | 风控拦截-203 |
通话详情呼叫结果 (CallResult)
值 | 类型名 |
---|---|
ANSWER | 呼叫成功 |
AGENT_NOT_ANSWER | 座席未接 |
CUSTOMER_QUICK_HANGUP | 客户速挂 |
RESOURCE_ERROR | 资源异常 |
NO_NUMBER | 无号码资源 |
INVALID_NUMBER | 外线空号 |
REJECT | 外线拒接 |
POWER_OFF | 外线关机 |
SUSPEND | 外线停机 |
YKT_BLACK | 黑名单-P |
SYSTEM_BLACK | 黑名单-A |
CALLED_RISKY | 风控拦截 |
PSTN_NOT_ANSWER | 外线未接 |
RESOURCE_LIMIT | 资源限呼 |
坐席状态中文描述(agentState)
Plain
空闲
置忙
整理
离线
外呼发起
外呼振铃中
外呼通话中
外呼通话保持中
咨询发起中
发起咨询振铃中
被发起咨询振铃中
咨询转移发起中
发起咨询转移振铃中
被发起咨询转移振铃中
咨询通话中
被咨询通话中
咨询转移通话中
被咨询转移通话中
咨询三方发起中
发起咨询三方振铃中
被发起咨询三方振铃中
咨询三方通话中
被咨询三方通话中
监听发起中
监听振铃中
监听通话中
强插发起中
强插振铃中
强插通话中
耳语发起中
耳语振铃中
耳语通话中
监听三方发起中
监听三方振铃中
监听三方通话中
来电振铃中
来电通话中
来电通话保持中