1. 使用说明
欢迎使用“AICC” API 服务。您可以直接通过标准化的 HTTPS 接口,快速实现平台与自有系统的集成,管理平台的数据配置、呼叫控制、通话记录等资源。我们同时还提供了 开发者工具套件(SDK),对 API接口调用进行了封装,您也可选择使用 SDK 进行系统集成。 (注:部分历史版本接口已进入维护阶段,开发者参考最新文档进行集成。)
2. 接口规范
2.1. 调用方式
2.1.1. 系统接入
通信协议
出于安全考虑,平台只提供 HTTPS 协议访问,只支持服务端调用,不支持浏览器访问。
字符编码
请求及返回结果都使用 UTF-8 字符集编码。
接入地址
-
公有云平台:
-
北京平台:https://api-bj.clink.cn
-
上海平台:https://api-sh.clink.cn
-
-
其它平台: 请咨询技术支持
2.1.2. 公共参数
公共请求参数
每个 API 接口都需要以 URL Parameter 的形式携带公共请求参数,对请求进行鉴权。
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
AccessKeyId |
String |
true |
客服云平台颁发给客户端的访问密钥 ID。 |
Expires |
String |
true |
签名的有效时间(秒),最小值为 1,最大值为 86400(24 小时)。 |
Timestamp |
String |
true |
签名的时间戳,格式遵循 ISO 8601 标准,按照格式 “ yyyy-MM-ddTHH:mm:ssZ ” 进行格式化。示例:2018-01-01T12:00:00Z表示北京时间2018年01月01日20点00分00秒 |
Signature |
String |
true |
根据请求参数和访问密钥计算的签名。 |
请求示例
https://api-bj.clink.cn/xxxxxx?
&AccessKeyId=b1fcdc6c62be261cf97b00b25be6a2af
&Expires=60
&Timestamp=2018-09-11T12:02:34Z
&Signature=A4GDuUoWiFj59wQ0Bfq%2FJnB%2BSRU%3D
...
公共返回参数
名称 | 类型 | 说明 |
---|---|---|
requestId |
String |
请求 ID。无论请求 API 服务是否成功,客服云平台都会返回每个请求的唯一 ID 到客户端。 |
2.1.3. 签名机制
签名(Signature)的计算需要使用访问密钥对:AccessKeyId/AccessKeySecret。访问密钥对可以通过登录系统管理后台,在【系统管理-系统对接-接口密钥】模块自助生成。每个访问密钥对可以设置不同的接口访问控制权限。
签名算法
签名(Signature)用于对 API 请求进行身份认证和鉴权,每个请求必须具有唯一的签名。 签名的具体实现是以 AccessKeySecret 为密钥,使用 hmac-sha1 算法对用户请求参数(QueryString)、访问密钥ID(AccessKeyId)、签名有效时间(Expires)、签名当前时间戳(Timestamp)做哈希计算。 具体步骤如下:
1. GET示例:
https://api-bj.clink.cn/cc/list_clients?
AccessKeyId=b1fcdc6c62be261cf97b00b25be6a2af
&Expires=60
&Timestamp=2018-10-12T10:18:12Z
&limit=10
&offset=0
&qno=0000
&cnos[0]=0000
&cnos[1]=0001
拼接要加密的字符串规则:请求方法(GET)+ 请求域名(api-bj.clink.cn)+ 请求参数。其中,访问密钥ID(AccessKeyId)、签名有效时间(Expires)、签名时间戳(Timestamp)分别与上面的公共请求参数相对应,请求参数具体拼接规则为:
-
首先对用户请求参数的 name 进行字典排序
AccessKeyId,Expires,Timestamp,cnos[0],cnos[1],limit,offset,qno
-
通过&符号连接用户请求参数的 name 和 value
AccessKeyId=b1fcdc6c62be261cf97b00b25be6a2af&Expires=60&Timestamp=2018-10-12T10:18:12Z&&cnos[0]=0000&cnos[1]=0001&limit=10&offset=0&qno=0000
-
Timestamp为UTC时间格式,所有请求参数都要进行UrlEncode
2018-10-12T10:18:12Z => 2018-10-12T10%3A18%3A12Z
cnos[0] => cnos%5B0%5D
cnos[1] => cnos%5B1%5D
-
参数urlParam结果
GETapi-bj.clink.cn/cc/list_clients?AccessKeyId=b1fcdc6c62be261cf97b00b25be6a2af&Expires=60&Timestamp=2018-10-12T10%3A18%3A12Z&cnos%5B0%5D=0000&cnos%5B1%5D=0001&limit=10&offset=0&qno=0000
-
计算Signature
Signature = URLEncode(base64(hmac-sha1(AccessKeySecret, urlParam)))
-
最终请求地址
https://api-bj.clink.cn/cc/list_clients?
AccessKeyId=b1fcdc6c62be261cf97b00b25be6a2af
&Expires=60
&Timestamp=2018-10-12T10%3A18%3A12Z
&limit=10
&offset=0
&qno=0000
&cnos%5B0%5D
&cnos%5B1%5D
&Signature=pDS5pcYkw3SqQV0zk312iCaQJpg%3D
2. POST示例:
https://api-bj.clink.cn/cc/online?
AccessKeyId=b1fcdc6c62be261cf97b00b25be6a2af
&Expires=60
&Timestamp=2018-10-12T10:18:12Z
请求体
{
"qno":"0000",
"cnos":["0000","0001"],
"bindTel":"138xxxx8888",
"bindType":1,
"status":1
}
拼接要加密的字符串规则:请求方法(POST)+ 请求域名(api-bj.clink.cn)+ 请求参数(由于POST方法URL中只有公共参数,其他参数通过请求体传递,所以计算签名时只需考虑公共参数)。其中,访问密钥ID(AccessKeyId)、签名有效时间(Expires)、签名时间戳(Timestamp)分别与上面的公共请求参数相对应,请求参数具体拼接规则为:
-
首先对用户请求参数的 name 进行字典排序
AccessKeyId,Expires,Timestamp
-
通过&符号连接用户请求参数的 name 和 value
AccessKeyId=b1fcdc6c62be261cf97b00b25be6a2af&Expires=60&Timestamp=2018-10-12T10:18:12Z
-
Timestamp为UTC时间格式,所有请求参数都要进行URL转码
2018-10-12T10:18:12Z => 2018-10-12T10%3A18%3A12Z
-
参数urlParam结果
POSTapi-bj.clink.cn/cc/online?AccessKeyId=b1fcdc6c62be261cf97b00b25be6a2af&Expires=60&Timestamp=2018-10-12T10%3A18%3A12Z
-
计算Signature
Signature = URLEncode(base64(hmac-sha1(AccessKeySecret, urlParam)))
-
最终请求地址
https://api-bj.clink.cn/cc/online?
AccessKeyId=b1fcdc6c62be261cf97b00b25be6a2af
&Expires=60
&Timestamp=2018-10-12T10%3A18%3A12Z
&Signature=pDS5pcYkw3SqQV0zk312iCaQJpg%3D
|
2.2. 返回结果
API 的返回结果统一为 JSON 格式,使用 UTF-8 字符集编码。为了方便阅读,文中的示例有换行和缩进处理,实际返回结果无换行和缩进处理。
正常返回示例
接口调用成功后,会返回接口调用结果和请求 ID(requestId),HTTP 状态码为 2xx。
示例
{
"requestId": "c4bc3588-29bd-44be-91d4-d846c8eea64f"
}
分页示例:
{
"requestId": "77efcfd8-db8c-4f5c-bdb8-d804cfce7423",
"pageNumber": 1,
"pageSize": 10,
"totalCount": 2,
"objects": [
{
"field1":"value1",
"field2":"value2"
},
{
"field3":"value3",
"field4":"value4"
}
]
}
异常返回示例
接口调用失败或出错后,会返回错误码、错误信息和请求 ID,HTTP 状态码为 4xx 或 5xx。
您可以根据接口错误码和错误信息排查错误。当您无法排查错误时,可以联系我们的技术支持,并提供 requestId。
示例
{
"requestId": "778a71c5-7f62-4bbf-b5c2-383a71227b67",
"error": {
"code": "ResourceNotFound",
"message": "指定的资源不存在"
}
}
2.3. IP白名单
您可以在【系统管理-系统对接-IP白名单】模块中设置对接系统的 IP 白名单,进一步提高数据安全性。如果设置了 IP 白名单,系统只会对指定的 IP 提供 API 服务。系统支持两种 IP 格式:
-
指定 IP 地址,如:10.10.1.1 。
-
指定 IP 地址段,如:10.10.1.* - 10.10.2.* 。
2.4. 错误码说明
错误码分为两种类型:
-
客户端错误:该类型错误由客户端引起,例如无效的请求参数、用户没有权限访问资源等。
-
服务器错误:该类型错误在服务端产生,由系统异常引起,没有固定的类型。
示例
{
"requestId": "842ab2a6-3732-4c03-8ab7-c7f83180fb0c",
"error": {
"code": "ResourceNotFound",
"message": "指定的资源不存在"
}
}
2.4.1. 客户端错误
本节列出了所有操作都可能返回的常见客户端错误。
code | HTTP Status | message |
---|---|---|
AuthFailure |
401 |
身份验证失败。 |
InvalidParameter |
400 |
请求中指定的参数无效,不受支持或无法使用。 返回的消息提供了错误值的说明。 |
MissingParameter |
400 |
请求缺少必需参数。 |
ResourceNotFound |
404 |
请求资源不存在。 |
MissingRequestBody |
400 |
缺少请求body。 |
MissingAuthenticationToken |
400 |
请求必须包含有效的访问密钥ID。 |
HttpMediaTypeNotSupported |
400 |
HttpMediaType不支持,只支持application/json |
HttpRequestMethodNotSupported |
405 |
HTTP方法不支持。 |
UnauthorizedOperation |
403 |
您无权执行此操作。请确认您的密钥ID有此权限 |
UnknownParameter |
400 |
提供了未知或未识别的参数。 |
SignaturesExpired |
403 |
签名过期 |
TooManyRequests |
429 |
请求超限 |
2.4.2. 服务器错误
code | HTTP Status | message |
---|---|---|
InternalError |
500 |
发生内部错误。 重试您的请求,但如果问题仍然存在,请联系技术支持。 |
2.5. 通用字段
2.5.1. 通话记录
onHookSource - 挂断方
通话过程中主动结束通话的一方
字段值 | 说明 |
---|---|
1000 |
首叫挂断(呼入场景指客户,预览外呼场景指座席) |
1001 |
被叫挂断(呼入场景指座席,预览外呼场景指客户) |
1002 |
系统挂断 |
1003 |
设备挂断(如浏览器刷新、手机挂机、IP话机挂机) |
1004 |
强拆挂断 |
callType - 呼叫类型
首叫侧通话记录的呼叫类型
字段值 | 说明 |
---|---|
1 |
呼入 |
2 |
网上回呼(webcall) |
4 |
预览外呼 |
5 |
预测外呼 |
6 |
主叫外呼 |
9 |
内部呼叫 |
detailCallType - 呼叫类型
转接侧通话记录的呼叫类型
呼叫类型 | 字段值 | 说明 |
---|---|---|
呼入 |
101 |
呼转座席 |
102 |
转移 |
|
103 |
咨询 |
|
104 |
三方 |
|
105 |
监听 |
|
106 |
耳语 |
|
107 |
强插 |
|
108 |
抢线 |
|
109 |
呼转电话 |
|
外呼 |
201 |
呼转座席 |
202 |
转移 |
|
203 |
咨询 |
|
204 |
三方 |
|
205 |
监听 |
|
206 |
耳语 |
|
207 |
强插 |
|
208 |
呼转客户 |
|
209 |
呼转电话 |
status - 接听状态
通话接听状态
呼叫类型 | 字段值 | 说明 |
---|---|---|
呼入 |
1 |
双方接听 |
2 |
已呼座席,座席未接听 |
|
3 |
系统接听 |
|
4 |
系统未接-IVR配置错误 |
|
5 |
系统未接-停机 |
|
6 |
系统未接-欠费 |
|
7 |
系统未接-企业限呼 |
|
8 |
系统未接-未注册 |
|
9 |
系统未接-彩铃 |
|
10 |
系统未接-网上400未接受 |
|
11 |
系统未接-超出并发限制 |
|
12 |
系统未接-客户提前挂机 |
|
13 |
其它错误 |
|
14 |
系统未接-企业限呼 |
|
网上回呼(webcall) |
20 |
TTS合成失败 |
21 |
首叫未接听 |
|
22 |
首叫接听 |
|
23 |
已呼转 |
|
24 |
双方接听 |
|
预览外呼 |
30 |
座席未接听 |
31 |
座席接听 |
|
32 |
客户未接听 |
|
33 |
双方接听 |
|
预测外呼-自动外呼 |
40 |
客户未接听 |
41 |
客户接听 |
|
42 |
已呼转 |
|
43 |
双方接听 |
|
预测外呼-自动外呼 |
50 |
座席接听 |
51 |
客户未接听 |
|
52 |
双方接听 |
|
内部呼叫 |
60 |
座席未接听 |
61 |
座席接听 |
|
62 |
已呼转 |
|
63 |
双方接听 |
2.5.2. 数据推送变量定义
变量名 | 说明 |
---|---|
cdr_enterprise_id |
企业ID |
cdr_number_trunk |
中继号码 |
cdr_hotline |
热线号码 |
cdr_main_unique_id |
通话唯一标识 |
cdr_x_number |
虚拟小号 |
cdr_customer_number |
客户号码 |
cdr_customer_area_code |
客户号码区号 |
cdr_customer_city |
客户号码所属城市 |
cdr_customer_province |
客户号码所属省份 |
cdr_customer_number_type |
客户号码类型 |
cdr_callee_number |
被叫号码 |
cdr_status |
接听状态 |
cdr_call_type |
呼叫类型 |
cdr_callee_cno/cdr_cno |
座席号 |
cdr_start_time |
呼叫开始时间 |
cdr_answer_time |
客户接听时间 |
cdr_up_time |
当前通道接听时间 |
cdr_bridge_time |
双方接听时间 |
cdr_end_time |
通话结束时间 |
cdr_detail_ringing_time |
转接方响铃时间(运营商返回180/183的时间) |
cdr_on_hook_source |
挂断方 |
cdr_record_file_1 |
录音文件名称 |
2.5.3. SIP响应码
响应码 | 描述 | 说明 |
---|---|---|
180 |
Ringing |
振铃 |
183 |
Session Progress |
应答用于提示建立对话的进度信息 |
200 |
Successful Responses |
会话成功 |
300 |
Multiple choices |
说明呼叫的地址被解析成多个地址,所有的地址都被提供出来,用户或用户代理可以从中选择联系哪个。 |
301 |
Moved permanently |
说明指定地址的用户已经永远不可用,在Header中已经用另外一个地址替换。 |
302 |
Moved temporarily |
说明指定地址的用户临时不可用,在Header中已经用另外一个地址替换。 |
305 |
Use proxy |
说明Caller必须用一个proxy来联系Callee。 |
380 |
Alternative service |
说明呼叫不成功,但是可选择其他的服务。 |
400 |
Bad Request |
说明由于非法格式,请求不能被理解。 |
401 |
Unauthorized |
说明请求需要用户认证。 |
402 |
Payment required |
说明完成会话需要付费。 |
403 |
Forbidden |
说明Server已经收到并能理解请求但不提供服务。 |
404 |
Not Found |
说明Server有明确的信息在指定的域中用户不存在。 |
405 |
Method Not Allowed |
说明请求中指定的方法是不被允许的。将返回一个允许的方法列表。 |
406 |
Not Acceptable |
说明被请求的资源只对某些特殊的请求作出响应,对目前Header中指定的请求不接受。 |
407 |
Proxy authentication required |
和401 Unauthorized Response相似。但是,它说明Client必须首先在proxy上认证自己。 |
408 |
Request Timeout |
说明在timeout时间过期前,Server不能产生响应。 |
409 |
Conflict |
说明由于和当前资源状态产生冲突,请求不能被处理。 |
410 |
Gone |
说明请求资源在Server上永远不可用,也没有转发的地址。 |
411 |
Length required |
说明用户拒绝接受没有定义content长度的请求。 |
413 |
Request entity too large |
说明Server拒绝处理请求,因为它太大,超过了Server能处理的大小。 |
414 |
Request-URI too long |
说明Server拒绝处理请求,因为请求的URI太长,Server不能解释它。 |
415 |
Unsupported media |
说明Server拒绝处理请求,因为body格式不被目的终端支持。 |
420 |
Bad extension |
说明Server不能理解在Header中指出的扩展协议。 |
480 |
Temporarily unavailable |
说明Callee已经被联系上,但是暂时不可用。 |
481 |
Call leg/transaction does not exist |
说明Server正在忽略请求,由于它是一个没有匹配legID的BYE或者是一个没有匹配事务的CANCEL。 |
482 |
Loop detected |
说明Server收到了一个包含它自己路径的请求。 |
483 |
Too many hops |
说明Server收到了一个请求,它需要的hop数超过了在Header中允许的最大hop数。 |
484 |
Address incomplete |
说明Server收到一个地址不完整的请求。 |
485 |
Ambiguous |
说明Server收到一个请求,其中Callee的地址是不明确的,也没有可能备用的地址供选择。 |
486 |
Busy here |
说明Callee已经被联系上,但是它们的系统不能承受额外的呼叫。 |
500 |
Server internal error |
说明Server或Gateway发生意外错误从而不能处理请求。 |
501 |
Not implemented |
说明Server或Gateway不支持完成请求所需的功能。 |
502 |
Bad gateway |
说明Server或Gateway从下游Server收到一个非法响应。 |
503 |
Service unavailable |
说明由于超负载或维护问题,Server或Gateway不能处理请求。 |
504 |
Gateway timeout |
说明Server或Gateway没有从另外一个Server(如location server)收到一个及时的响应。 |
505 |
Version not supported |
说明Server或Gateway不支持在请求中用到的SIP版本。 |
600 |
Busy everywhere |
说明Callee已经被联系上,但是处于忙状态中,在这个时间不能接受call。 |
603 |
Decline |
说明Callee已经被联系上,但是不能或不想加入call。 |
604 |
Does not exist anywhere |
说明Server有正式的信息说明Callee不存在于网络中。 |
606 |
Not acceptable |
说明Callee已经被联系上,但是Session描述的某些方面不被接受。 |
710 |
系统自定义 |
忙 |
711 |
系统自定义 |
超时 |
712 |
系统自定义 |
拒接 |
713 |
系统自定义 |
空号 |
714 |
系统自定义 |
关机 |
715 |
系统自定义 |
暂时无法接听 |
716 |
系统自定义 |
停机 |
717 |
系统自定义 |
呼叫受限 |
2.6. 请求频次限制
为了维护系统的稳定性和公平性,我们对接口请求实施了频次限制。请注意以下限制:
如果您的应用程序超出了请求频次限制,重试请求不会立即解决问题,我们建议您采取以下措施:
如果您对请求频次限制有任何疑问或需要更多帮助,请联系我们的技术支持团队。
2.7. 文档脱敏说明
为了保护用户的隐私信息,文档中的电话号码已经进行了脱敏处理。脱敏是一种常见的数据保护措施,通过将敏感信息部分隐藏或替换为特定字符,来减少敏感信息的泄露风险。
在本文档中,我们采用了部分脱敏的方式,即只显示号码的前几位和后几位,中间部分用x替代。这样做的目的是保留号码的部分标识信息,同时有效地隐藏了敏感部分,确保了用户隐私的安全性。
我们理解用户对于个人信息的保护需求,因此在展示电话号码等敏感信息时,我们始终采取了合适的脱敏措施。如果您有任何关于隐私保护或数据安全方面的疑问,请随时联系我们的技术支持团队。
3. 设置
3.1. 座席设置
3.1.1. 新增座席
POST /cc/create_client
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
cno |
Integer |
true |
座席工号,长度为4-11个字符,必须全部为数字,要求唯一 |
name |
String |
true |
座席名称,只允许输入中文、字母、数字、下划线,长度不超过 20 个字符 |
areaCode |
String |
true |
所属区号 |
password |
String |
true |
座席密码,采用 AES加密,默认长度为 8 位。如果企业开启了密码安全设置,则需要按照设置的规则设置 |
role |
Integer |
false |
座席角色,0: 普通座席;1: 班长座席,默认值为 0 |
active |
Integer |
false |
启用状态,0: 停用;1: 启用,默认值为 1 |
qnos |
String[] |
false |
所属队列号集合 |
hiddenTel |
Integer |
false |
号码隐藏类型,0: 不隐藏;1: 隐藏规则与全局设置保持一致,默认值为 0 |
wrapupTime |
Integer |
false |
整理时长,座席进行外呼操作后的整理时间。取值范围 0-300 秒,默认值为 30 |
crmId |
Integer |
false |
CRM 编号,与第三方 CRM 系统对接时,可作为唯一标识 |
clidType |
Integer |
false |
外显号码类型,0: 全部;2: 座席指定;3: 智能外显;默认值为 0 |
clidRule |
Integer |
false |
外显规则,默认值为 1 当clidType(外显号码类型)值为0(全部)时,1:随机;2: 轮选。 当clidType(外显号码类型)值为3(智能外显)时,1:动态;2: 自定义。 |
assignType |
Integer |
false |
号码类型,默认值为0,0: 号码;1: 动态号码组 |
dynamicTelGroupId |
Integer |
false |
动态号码组ID (字段废弃),当assignType(号码类型)值为1(动态号码组)时为必填项 |
dynamicTelGroupName |
String |
false |
动态号码组名称,当assignType(号码类型)值为1(动态号码组)时为必填项 |
clid |
String[] |
false |
可外显号码集合,当clidType(外显号码类型)值为非0时为必填项 |
clidDefault |
String[] |
false |
缺省外显号码集合,当clidType(外显号码类型)值为3且clidRule(外显规则)值为1(动态)时,支持配置缺省外显 |
clidArea |
Object[] |
false |
按地区外显配置,当clidType(外显号码类型)值为3且clidRule(外显规则)值为2(自定义)时有意义,具体配置项见 clidArea 对象 |
recurrentselectionType |
Integer |
false |
轮选方式,1: 按天轮选;2: 按次轮选,当外显号码类型为全部、外显规则为轮选时配置才生效 |
recurrentselectionValue |
Integer |
false |
轮选值设置,当外显号码类型为全部、外显规则为轮选时配置才生效 1: 按天轮选,每 n 天外呼更换一次外显号码,可设置 1-30 天 2: 按次轮选,每 n 次外呼更换一次外显号码,可设置 1-30 次 |
permission |
object |
true |
|
type |
Integer |
false |
座席类型,1:全渠道、2:呼叫中心、3:在线客服;默认值为 2 |
wechatMiniProgramRtc |
Integer |
false |
微信小程序RTC开关 1:开启 0:关闭 默认关闭 |
obClidDefaultType |
Integer |
false |
缺省号码类型 0:号码 1:动态号码组 默认0 |
dynamicTelGroupIdDefault |
Integer |
false |
缺省动态外呼组id,当obClidDefaultType值为1时为必填项 |
serveArea |
String[] |
false |
座席服务地区,区号数组 配置座席服务的地区,可用于外呼任务中“按服务地区分配”的策略。 |
cloudNumberEnabled |
Integer |
false |
云号码外呼开关,0-关,1-开 |
cloudNumberModes |
Integer[] |
false |
云号码四种呼叫模式;数组长度 为 4,依次对应云号码外呼的四种模式(实体卡、工作卡、两端呼、RTC)的开启状态; 例如:[0,0,0,1] 表示 座席只可使用 RTC 外呼模式。 注意:仅当企业开启了云手机外呼功能,才能为座席设置该属性,否则,座席将创建失败 |
obHangupSms |
Integer |
false |
外呼挂机短信开关 0:关闭, 1:开启。开启后,当座席发起外呼时,系统会依据【短信中心 - 短信设置 - 外呼双方接听通知 / 外呼客户未接听通知】中的配置条件发送短信。 |
pauseLogin |
Integer |
false |
是否可置忙登录,关闭后,座席不允许置忙登录,0:关闭,1:开启,默认1。 |
permission 对象
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
asr |
Integer |
false |
语音转写,0: 关闭;1: 呼入开启;2 外呼开启;3 全部开启;默认值为 0 |
call |
Integer |
false |
外呼权限,0: 关闭;1: 无限制;2: 国内长途;3: 国内本地,默认值为 1 |
cdr |
Integer |
false |
通话记录查看权限,1: 全部;2: 所属队列;3:本座席,默认值为 1 |
recordDownload |
Integer |
false |
录音试听下载权限,0: 关闭;1: 试听下载;2:试听,默认值 1 |
sms |
Integer |
false |
短信发送权限,0: 关闭;1: 开启,默认值为 0 |
record |
Integer |
false |
通话录音权限,0: 关闭;1: 呼入;2: 外呼;3: 全部,默认值为 3 |
chat |
Integer |
false |
在线客服查看会话记录权限 ,0:全部、1:所属队列、2:本座席; 默认值为 0 |
transfer |
Integer |
false |
通话转移/咨询权限,可选范围,0:全部,1:所属员工组, 默认所属员工组 |
otherData |
Integer |
false |
其他数据查看权限:1:全部 2:所属员工组 3:自己 4:指定员工组 ,默认所属员工组 |
taskInventory |
Integer |
false |
外呼任务查看权限,1:全部 3:自己,默认全部 |
clidArea 对象
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
areaGroupId |
Integer |
false |
地区组id (字段废弃) |
areaGroupName |
String |
false |
地区组名称 |
obClids |
String[] |
false |
外显号码 |
assignType |
Integer |
false |
号码类型,默认值为0,0: 号码;1: 动态号码组 |
dynamicTelGroupId |
Integer |
false |
动态号码组ID (字段废弃),当assignType(号码类型)值为1(动态号码组)时为必填项 |
dynamicTelGroupName |
String |
false |
动态号码组名称,当assignType(号码类型)值为1(动态号码组)时为必填项 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
cno |
Integer |
座席工号 |
name |
String |
座席名称 |
areaCode |
String |
所属区号 |
password |
String |
座席密码 |
role |
Integer |
座席角色,0: 普通座席;1: 班长座席 |
active |
Integer |
启用状态,0: 停用;1: 启用 |
qnos |
String[] |
所属队列号集合 |
hiddenTel |
Integer |
号码隐藏类型,0: 不隐藏;1: 隐藏规则与全局设置保持一致 |
wrapupTime |
Integer |
整理时长,座席进行外呼操作后的整理时间 |
crmId |
Integer |
CRM 编号,与第三方 CRM 系统对接时,可作为唯一标识 |
clidType |
Integer |
外显号码类型,0: 全部;2: 座席指定;3: 智能外显 |
clid |
String[] |
可外显号码集合 |
clidDefault |
String[] |
缺省外显号码集合,当clidType(外显号码类型)值为3且clidRule(外显规则)值为1时,支持配置缺省外显 |
clidArea |
Object[] |
给地区指定可外显号码 |
clidRule |
Integer |
外显规则,根据外显号码类型值来定义,1: 随机;2: 轮选 或 1: 动态;2: 自定义 |
assignType |
Integer |
号码类型,默认值为0,0: 号码;1: 动态号码组 |
dynamicTelGroupId |
Integer |
动态号码组ID (字段废弃),当assignType(号码类型)值为1(动态号码组)时为必填项 |
dynamicTelGroupName |
String |
动态号码组名称,当assignType(号码类型)值为1(动态号码组)时为必填项 |
recurrentselectionType |
Integer |
轮选方式,1: 按天轮选;2: 按次轮选 |
recurrentselectionValue |
Integer |
轮选值设置 1: 按天轮选,每 n 天外呼更换一次外显号码,可设置 1-30 天 2: 按次轮选,每 n 次外呼更换一次外显号码,可设置 1-30 次 |
permission |
object |
|
type |
Integer |
座席类型,1:全渠道、2:呼叫中心、3:在线客服 |
cloudNumberEnabled |
Integer |
云号码外呼开关,0-关,1-开 |
cloudNumberModes |
Integer[] |
云号码四种呼叫模式;数组长度 为 4,依次对应云号码外呼的四种模式(实体卡、工作卡、两端呼、RTC)的开启状态; |
请求示例
https://api-bj.clink.cn/cc/create_client
&<公共请求参数>
RequestBody请求参数
{
"cno":"0021",
"name":"0020",
"areaCode":"010",
"password":"aaaa",
"role":1,
"active":1,
"qnos":[
"0009",
"0006"
],
"hiddenTel":1,
"wrapupTime":10,
"clidType":0,
"assignType": 1,
"dynamicTelGroupName": "动态号码组名称",
"clid":[
"400xxx888"
],
"clidDefault":[
"400xxx888"
],
"clidArea":[
{
"areaGroupName": "北京地区",
"obClids": ["400xxx888"]
}
],
"clidRule":1,
"recurrentselectionType":1,
"recurrentselectionValue":2,
"permission":{
"asr":0,
"call":1,
"cdr":1,
"recordDownload":1,
"sms":1,
"record":1,
"chat":0
},
"type":2,
"serveArea": ["010"],
"cloudNumberEnabled":1,
"cloudNumberModes":[0,0,0,1]
}
返回示例
{
"requestId":"842ab2a6-3732-4c03-8ab7-c7f83180fb0c",
"client":{
"cno":"0021",
"name":"0020",
"areaCode":"010",
"password":"aaaa",
"role":1,
"active":1,
"qnos":[
"0009",
"0006"
],
"hiddenTel":1,
"wrapupTime":10,
"crmId":null,
"clidType":0,
"assignType": 1,
"dynamicTelGroupName": "动态号码组名称",
"clid":[
"400xxx888"
],
"clidDefault":[
"400xxx888"
],
"clidArea":[
{
"areaGroupName": "北京地区",
"obClids": ["400xxx888"]
}
],
"clidRule":1,
"recurrentselectionType":1,
"recurrentselectionValue":2,
"permission":{
"asr":0,
"call":1,
"cdr":1,
"recordDownload":1,
"sms":1,
"record":1,
"chat":0
},
"type":2,
"serveArea": ["010"],
"cloudNumberEnabled":1,
"cloudNumberModes":[0,0,0,1]
}
}
3.1.2. 更新座席
POST /cc/update_client
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
cno |
Integer |
true |
座席工号,4-11位数字,要求唯一 |
name |
String |
false |
座席名称,只允许输入中文,字母,数字,下划线,长度不超过 20 个字符 |
areaCode |
String |
false |
所属区号 |
password |
String |
false |
座席密码,采用 AES加密 ,默认长度为 8 位。如果企业开启了密码安全设置,则需要按照设置的规则设置 |
role |
Integer |
false |
座席角色,0: 普通座席;1: 班长座席。 |
active |
Integer |
false |
启用状态, 0: 停用;1: 启用。 |
qnos |
String[] |
false |
所属队列号集合 |
hiddenTel |
Integer |
false |
号码隐藏类型,0: 不隐藏;1: 隐藏规则与全局设置保持一致。 |
ibWrapupType |
Integer |
false |
呼入整理类型,1:队列;2:座席。 |
ibWrapupTime |
Integer |
false |
呼入整理时长,客户来电座席接听,双方通话结束后座席的话后处理时长,此期间座席不接收新的客户来电。取值范围:0~3600秒。 |
wrapupTime |
Integer |
false |
整理时长,座席进行外呼操作后的整理时间,取值范围 0-300 秒。 |
crmId |
Integer |
false |
CRM 编号,与第三方 CRM 系统对接时,可作为唯一标识 |
clidType |
Integer |
false |
外显号码类型,0: 全部;2: 座席指定;3: 智能外显 |
assignType |
Integer |
false |
号码类型,默认值为0,0: 号码;1: 动态号码组 |
dynamicTelGroupId |
Integer |
false |
动态号码组ID (字段废弃),当assignType(号码类型)值为1(动态号码组)时为必填项 |
dynamicTelGroupName |
String |
false |
动态号码组名称,当assignType(号码类型)值为1(动态号码组)时为必填项 |
clidRule |
Integer |
false |
外显规则, 当clidType(外显号码类型)值为0(全部)时,1:随机;2: 轮选。 当clidType(外显号码类型)值为3(智能外显)时,1:动态;2: 自定义。 |
clid |
String[] |
false |
可外显号码集合,当外显类型非全部时需指定此参数值。 |
clidDefault |
String[] |
false |
缺省外显号码集合,当clidType(外显号码类型)值为3且clidRule(外显规则)值为1(动态)时,支持配置缺省外显 |
clidArea |
Object[] |
false |
按地区外显配置,当clidType(外显号码类型)值为3且clidRule(外显规则)值为2(自定义)时有意义,具体配置项见 clidArea 对象 |
recurrentselectionType |
Integer |
false |
轮选方式,1: 按天轮选;2: 按次轮选,当外显号码类型为全部、外显规则为轮选时配置才生效 |
recurrentselectionValue |
Integer |
false |
轮选值设置,当外显号码类型为全部、外显规则为轮选时配置才生效 1: 按天轮选,每 n 天外呼更换一次外显号码,可设置 1-30 天 2: 按次轮选,每 n 次外呼更换一次外显号码,可设置 1-30 次 |
permission |
object |
true |
|
wechatMiniProgramRtc |
Integer |
false |
微信小程序RTC开关 1:开启 0:关闭 默认关闭 |
obClidDefaultType |
Integer |
false |
缺省号码类型 0:号码 1:动态号码组 默认0 |
dynamicTelGroupIdDefault |
Integer |
false |
缺省动态外呼组id,当obClidDefaultType值为1时为必填项 |
serveArea |
String[] |
false |
座席服务地区,区号数组 配置座席服务的地区,可用于外呼任务中“按服务地区分配”的策略。 |
cloudNumberEnabled |
Integer |
false |
云号码外呼开关,0-关,1-开 |
cloudNumberModes |
Integer[] |
false |
云号码四种呼叫模式;数组长度 为 4,依次对应云号码外呼的四种模式(实体卡、工作卡、两端呼、RTC)的开启状态; 例如:[0,0,0,1] 表示 座席只可使用 RTC 外呼模式。 注意:仅当企业开启了云手机外呼功能,才能为座席设置该属性,否则,座席将创建失败 |
obHangupSms |
Integer |
false |
外呼挂机短信开关 0:关闭, 1:开启。开启后,当座席发起外呼时,系统会依据【短信中心 - 短信设置 - 外呼双方接听通知 / 外呼客户未接听通知】中的配置条件发送短信。 |
pauseLogin |
Integer |
false |
是否可置忙登录,关闭后,座席不允许置忙登录,0:关闭,1:开启。 |
permission对象
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
asr |
Integer |
false |
语音转写,0: 关闭;1: 呼入开启;2 外呼开启;3 全部开启;默认值为 0 |
call |
Integer |
false |
外呼权限,0:关闭;1: 无限制;2: 国内长途;3: 国内本地 |
cdr |
Integer |
false |
通话记录查看权限,1: 全部;2: 所属队列;3: 本座席 |
recordDownload |
Integer |
false |
录音试听下载权限, 0: 关闭;1: 试听;2: 试听下载 |
sms |
Integer |
false |
短信发送权限,0: 关闭;1: 开启。默认值为 0 |
record |
Integer |
false |
通话录音权限,0: 关闭;1: 呼入;2: 外呼;3: 全部 |
chat |
Integer |
false |
在线客服查看会话记录权限 ,0:全部、1:所属队列、2:本座席; 默认值为 0 |
transfer |
Integer |
false |
通话转移/咨询权限,可选范围,0:全部,1:所属员工组, 默认所属员工组 |
otherData |
Integer |
false |
其他数据查看权限:1:全部 2:所属员工组 3:自己 4:指定员工组 ,默认所属员工组 |
taskInventory |
Integer |
false |
外呼任务查看权限,1:全部 3:自己,默认全部 |
clidArea 对象
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
areaGroupId |
Integer |
false |
地区组id (字段废弃) |
areaGroupName |
String |
false |
地区组名称 |
obClids |
String[] |
false |
外显号码 |
assignType |
Integer |
false |
号码类型,默认值为0,0: 号码;1: 动态号码组 |
dynamicTelGroupId |
Integer |
false |
动态号码组ID (字段废弃),当assignType(号码类型)值为1(动态号码组)时为必填项 |
dynamicTelGroupName |
String |
false |
动态号码组名称,当assignType(号码类型)值为1(动态号码组)时为必填项 |
返回参数
同传入参数
请求示例
https://api-bj.clink.cn/cc/update_client
&<公共请求参数>
POST 请求体
{
"cno":"0021",
"name":"0020",
"areaCode":"010",
"password":"aaaa",
"role":1,
"active":1,
"qnos":[
"0009",
"0006"
],
"hiddenTel":1,
"ibWrapupType": 1,
"ibWrapupTime": 360,
"wrapupTime":10,
"clidType":0,
"assignType":1,
"dynamicTelGroupName": "动态号码组名称",
"clid":[
"400xxx888"
],
"clidDefault":[
"400xxx888"
],
"clidArea":[
{
"areaGroupName": "北京地区",
"obClids": ["400xxx888"]
}
],
"clidRule":1,
"recurrentselectionType":1,
"recurrentselectionValue":2,
"permission":{
"asr":0,
"call":1,
"cdr":1,
"recordDownload":1,
"sms":1,
"record":1,
"chat":0
},
"wechatMiniProgramRtc":0,
"serveArea": ["021"],
"cloudNumberEnabled": 1,
"cloudNumberModes": [0,0,0,1]
}
返回示例
{
"requestId":"842ab2a6-3732-4c03-8ab7-c7f83180fb0c",
"client":{
"id":1192,
"cno":"0021",
"name":"0020",
"areaCode":"010",
"password":"aaaa",
"role":1,
"active":1,
"qnos":[
"0009",
"0006"
],
"hiddenTel":1,
"ibWrapupType": 1,
"ibWrapupTime": 360,
"wrapupTime":10,
"CRMId":null,
"clidType":0,
"assignType": 1,
"dynamicTelGroupName": "动态号码组名称",
"clid":[
"400xxx888"
],
"clidDefault":[
"400xxx888"
],
"clidArea":[
{
"areaGroupName": "北京地区",
"obClids": ["400xxx888"]
}
],
"clidRule":1,
"recurrentselectionType":1,
"recurrentselectionValue":2,
"permission":{
"asr":0,
"call":1,
"cdr":1,
"recordDownload":1,
"sms":1,
"record":1,
"chat":0
},
"wechatMiniProgramRtc":0,
"serveArea": ["021"],
"cloudNumberEnabled": 1,
"cloudNumberModes": [0,0,0,1]
}
}
以下为本接口特有的错误码。更多错误码,请查看错误码说明。
code | HTTP Status | message |
---|---|---|
ClientPassword |
400 |
座席密码不符合规则 |
3.1.3. 删除座席
POST /cc/delete_client
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
cno |
Integer |
true |
座席工号,长度为4-11个字符,必须全部为数字 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
cno |
String |
座席号 |
返回示例
{
"requestId":"842ab2a6-3732-4c03-8ab7-c7f83180fb0c",
"cno":"0020"
}
3.1.4. 查询座席列表
GET /cc/list_clients
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
qno |
String |
false |
队列号 |
active |
Integer |
false |
是否激活,1: 激活;0: 未激活 |
clid |
String |
false |
外显号码 |
bindTel |
String |
false |
绑定电话 |
startTime |
Long |
false |
创建时间查询范围-开始时间,秒级时间戳 |
endTime |
Long |
false |
创建时间查询范围-结束时间,秒级时间戳 |
updateStartTime |
Long |
false |
修改时间查询范围-开始时间,秒级时间戳 |
updateEndTime |
Long |
false |
修改时间查询范围-结束时间,秒级时间戳 |
offset |
Integer |
false |
偏移量,默认值为 0,最大范围 10000 |
limit |
Integer |
false |
查询记录条数,默认值为 10,最大范围 100 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
id |
Integer |
座席 Id |
cno |
String |
座席号 |
name |
String |
座席名称 |
areaCode |
String |
区号 |
role |
Integer |
座席角色,0: 普通座席;1: 班长座席 |
bindTel |
String |
座席绑定电话 |
active |
Integer |
是否激活,0: 否;1: 是 |
status |
Integer |
座席状态,0: 离线;1: 在线 |
hiddenTel |
Integer |
号码隐藏类型,0: 不隐藏;1: 隐藏规则与全局设置保持一致 |
type |
Integer |
座席类型,1:全渠道、2:呼叫中心、3:在线客服 |
createTime |
Long |
创建时间 |
updateTime |
Long |
修改时间 |
crmId |
String |
座席crm id |
qnos |
String[] |
座席所属队列的队列号数组 |
请求示例
https://api-bj.clink.cn/cc/list_clients?
offset=0
&limit=10
&<公共请求参数>
返回示例
{
"requestId":"842ab2a6-3732-4c03-8ab7-c7f83180fb0c",
"clients":[
{
"id":123,
"cno":"0000",
"name":"AA23456",
"areaCode":"010",
"bindTel":"152xxxx0000",
"role":1,
"active":1,
"status":0,
"hiddenTel":0,
"type":2
}
],
"pageNumber":1,
"pageSize":10,
"totalCount":51
}
3.1.5. 查看座席详情
请求地址
GET /cc/describe_client
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
cno |
String |
true |
座席号 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
cno |
String |
座席号 |
name |
String |
座席名称 |
areaCode |
String |
区号 |
role |
Integer |
座席角色,0: 普通座席;1: 班长座席 |
bindTel |
String |
座席绑定电话 |
reserveTel |
String |
座席备用手机号 |
telType |
Integer |
电话绑定类型,电话类型, 1: 固话;2: 手机;3:IP话机;4:软电话 |
active |
Integer |
是否激活,0: 否;1: 是 |
status |
Integer |
座席状态,0: 离线;1: 在线 |
hiddenTel |
String |
号码隐藏类型,0: 不隐藏;1: 隐藏规则与全局设置保持一致 |
ibWrapupType |
Integer |
呼入整理类型,1:队列;2:座席。 |
ibWrapupTime |
Integer |
呼入整理时长,客户来电座席接听,双方通话结束后座席的话后处理时长,此期间座席不接收新的客户来电。取值范围:0~3600秒。 |
wrapupTime |
Integer |
整理时长,座席进行外呼操作后的整理时间,取值范围 0-300 秒。 |
qnos |
String[] |
座席所属队列的队列号数组 |
queues |
Object[] |
座席所属队列详情 |
clid |
String[] |
外显号码数组 |
clidType |
Integer |
外显号码类型,0: 全部; 2: 座席指定; 3: 智能外显 |
clidArea |
Object[] |
按地区外显配置,当clidType(外显号码类型)值为3且clidRule(外显规则)值为2(自定义)时有意义 areaGroupName String 地区组名称 obClids String[] 外显号码 |
clidRule |
Integer |
外显规则 当clidType(外显号码类型)值为0(全部)时,1:随机;2: 轮选。 当clidType(外显号码类型)值为3(智能外显)时,1:动态;2: 自定义。 |
recurrentselectionType |
Integer |
轮选方式,1: 按天轮选;2: 按次轮选,当外显号码类型为全部、外显规则为轮选时配置才生效 |
recurrentselectionValue |
Integer |
轮选值设置,当外显号码类型为全部、外显规则为轮选时配置才生效 1: 按天轮选,每 n 天外呼更换一次外显号码,可设置 1-30 天 2: 按次轮选,每 n 次外呼更换一次外显号码,可设置 1-30 次 |
permission |
Object |
|
type |
Integer |
座席类型,1:全渠道、2:呼叫中心、3:在线客服 |
crmId |
String |
座席crm id |
autoInvestigation |
Integer |
座席满意度自动执行,1:开启;0:关闭,默认开启 |
serveArea |
String[] |
座席服务地区,区号数组 配置座席服务的地区,可用于外呼任务中“按服务地区分配”的策略。 |
cloudNumberEnabled |
Integer |
云号码外呼开关,0-关,1-开 |
cloudNumberModes |
Integer[] |
云号码四种呼叫模式;数组长度 为 4,依次对应云号码外呼的四种模式(实体卡、工作卡、两端呼、RTC)的开启状态; |
obHangupSms |
Integer |
外呼挂机短信开关 0:关闭, 1:开启。开启后,当座席发起外呼时,系统会依据【短信中心 - 短信设置 - 外呼双方接听通知 / 外呼客户未接听通知】中的配置条件发送短信。 |
pauseLogin |
Integer |
是否可置忙登录,关闭后,座席不允许置忙登录,0:关闭,1:开启,默认1。 |
permission 描述
名称 | 类型 | 描述 |
---|---|---|
asr |
Integer |
语音转写,0: 关闭;1: 呼入开启;2 外呼开启;3 全部开启;默认值为 0 |
call |
Integer |
外呼权限,0: 关闭;1: 无限制;2: 国内长途;3: 国内本地 |
cdr |
Integer |
通话记录查看权限,1: 全部;2: 所属队列;3本座席 |
recordDownload |
Integer |
录音试听下载权限,0: 关闭;1: 试听;2: 试听下载 |
sms |
Integer |
短信发送权限,0: 关闭;1: 开启 |
record |
Integer |
通话录音权限,0: 关闭;1: 呼入;2: 外呼;3: 全部 |
chat |
Integer |
在线客服查看会话记录权限 ,0:全部、1:所属队列、2:本座席 |
transfer |
Integer |
通话转移/咨询权限,可选范围,0:全部,1:所属员工组, 默认所属员工组 |
otherData |
Integer |
其他数据查看权限:1:全部 2:所属员工组 3:自己 4:指定员工组 ,默认所属员工组 |
taskInventory |
Integer |
外呼任务查看权限,1:全部 3:自己,默认全部 |
请求示例
https://api-bj.clink.cn/cc/describe_client
&cno=0020
&<公共请求参数>
返回示例
{
"requestId":"842ab2a6-3732-4c03-8ab7-c7f83180fb0c",
"client":{
"cno":"0020",
"name":"0020",
"areaCode":"010",
"type":2,
"bindTel":"152xxxx8888",
"reserveTel":"152xxxx8888",
"telType":1,
"role":1,
"active":1,
"status":0,
"ibWrapupType": 1,
"ibWrapupTime": 360,
"wrapupTime": 50,
"hiddenTel":1,
"permission":{
"asr":0,
"call":1,
"cdr":1,
"recordDownload":2,
"sms":0,
"record":3,
"chat":0
},
"qnos":[
"0006",
"0009"
],
"queues": [
{
"qno": "0006",
"name": "0006",
"penalty": 1
},
{
"qno": "0009",
"name": "0009",
"penalty": 2
}
],
"clid":[
"400xxx888"
],
"clidArea":[
{
"areaGroupName": "北京地区",
"obClids": ["400xxx888"]
}
],
"clidRule":1,
"recurrentselectionType":1,
"recurrentselectionValue":2,
"crmId": "",
"autoInvestigation": 0,
"serveArea": ["010"],
"cloudNumberEnabled": 1,
"cloudNumberModes": [0,0,0,2],
"obHangupSms":1,
"pauseLogin":1
}
}
3.1.6. 查看座席外显号码
请求地址
GET /cc/describe_client_ob_clid
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
cno |
String |
true |
座席号 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
clid |
String[] |
外显号码数组 |
clidType |
Integer |
外显号码类型,0: 全部; 2: 座席指定; 3: 智能外显 |
clidArea |
Object[] |
按地区外显配置,当clidType(外显号码类型)值为3且clidRule(外显规则)值为2(自定义)时有意义 areaGroupName String 地区组名称 obClids String[] 外显号码 |
clidRule |
Integer |
外显规则 当clidType(外显号码类型)值为0(全部)时,1:随机;2: 轮选。 当clidType(外显号码类型)值为3(智能外显)时,1:动态;2: 自定义。 |
recurrentselectionType |
Integer |
轮选方式,1: 按天轮选;2: 按次轮选,当外显号码类型为全部、外显规则为轮选时配置才生效 |
recurrentselectionValue |
Integer |
轮选值设置,当外显号码类型为全部、外显规则为轮选时配置才生效 1: 按天轮选,每 n 天外呼更换一次外显号码,可设置 1-30 天 2: 按次轮选,每 n 次外呼更换一次外显号码,可设置 1-30 次 |
请求示例
https://api-bj.clink.cn/cc/describe_client_ob_clid
&cno=2029
&<公共请求参数>
返回示例
{
"clientObClid": {
"clid":[
"0101008888"
],
"clidType": 2,
"clidArea":[
{
"clid":"0101008888",
"areaCode":[
"010"
]
}
],
"clidRule":1,
"recurrentselectionType":1,
"recurrentselectionValue":2
},
"requestId": "8bfd5a08-3c2a-4969-bda0-c929b28cfe72"
}
3.1.7. 绑定座席电话
POST /cc/bind_client_tel
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
cno |
String |
true |
座席号 |
tel |
String |
true |
电话号码 |
isBind |
Integer |
false |
是否绑定 1: 是,0: 否 |
isReserveTel |
Integer |
false |
是否同步为备用手机 1: 是,0: 否 |
返回参数
名称 | 类型 | 描述 |
---|
请求示例
https://api-bj.clink.cn/cc/bind_client_tel
&<公共请求参数>
POST 请求体
{
"cno":"0020",
"tel":"152xxxx8888",
"isBind":1
}
返回示例
{
"requestId": "842ab2a6-3732-4c03-8ab7-c7f83180fb0c"
}
3.1.8. 解绑座席电话
请求地址
POST /cc/unbind_client_tel
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
cno |
String |
true |
座席号 |
返回示例
{
"requestId": "842ab2a6-3732-4c03-8ab7-c7f83180fb0c"
}
3.1.9. 删除座席电话
POST /cc/delete_client_tel
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
cno |
String |
true |
座席号 |
tel |
String |
true |
电话 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
requestId |
String |
本次请求id |
请求示例
https://api-bj.clink.cn/cc/delete_client_tel
&<公共请求参数>
POST 请求体
{
"cno":"0020",
"tel":"152xxxx0000"
}
返回示例
{
"requestId": "842ab2a6-3732-4c03-8ab7-c7f83180fb0c"
}
3.1.10. 查询座席电话列表
GET /cc/list_client_tels
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
cno |
String |
true |
座席号 |
telType |
Integer |
false |
电话类型 1: 固话;2: 手机;3: IP话机;4: 软电话 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
tel |
String |
电话 |
telType |
Integer |
电话类型,1: 固话;2: 手机;3: IP话机;4: 软电话 |
isBind |
Integer |
是否被绑定,0: 否;1: 是 |
请求示例
https://api-bj.clink.cn/cc/list_client_tels
&cno=0020
&<公共请求参数>
返回示例
{
"requestId":"842ab2a6-3732-4c03-8ab7-c7f83180fb0c",
"clientTels":[
{
"tel":"152xxxx8888",
"telType":2,
"isBind":1
}
]
}
3.1.11. 发起绑定电话验证
GET /cc/bind_client_tel_verification
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
cno |
String |
true |
座席号 |
tel |
String |
true |
电话 |
返回参数
无
请求示例
https://api-bj.clink.cn/cc/bind_client_tel_verification
&cno=0020
&tel=152xxxx8888
&<公共请求参数>
返回示例
{
"requestId":"842ab2a6-3732-4c03-8ab7-c7f83180fb0c"
}
3.1.12. 确认绑定电话验证
POST /cc/bind_client_tel_confirmed
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
cno |
String |
true |
座席号 |
tel |
String |
true |
电话号码 |
verificationCode |
String |
true |
验证码 |
返回参数
无
请求示例
https://api-bj.clink.cn/cc/bind_client_tel_confirmed
&<公共请求参数>
POST 请求体
{
"cno":"0020",
"tel":"152xxxx8888",
"verificationCode":"7654"
}
返回示例
{
"requestId":"842ab2a6-3732-4c03-8ab7-c7f83180fb0c"
}
3.1.13. 配置座席其它设置
POST /cc/other_setting
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
cno |
String |
true |
座席号 |
agcRx |
Integer |
false |
输入增益范围0-100 |
agcTx |
Integer |
false |
输出增益范围0-100 |
返回参数
同传入参数
请求示例
https://api-bj.clink.cn/cc/other_setting
&<公共请求参数>
POST 请求体
{
"cno": "0020",
"agcRx": 30,
"agcTx": 60
}
返回示例
{
"otherSettings": {
"cno": "0020",
"agcRx": 30,
"agcTx": 60
},
"requestId": "29043d03-c4a7-43e8-bc31-e6c830676a63"
}
3.1.14. 获取座席其它设置
GET /cc/list_other_setting
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
cno |
String |
true |
座席号 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
cno |
String |
座席号 |
agcRx |
Integer |
输入增益范围0-100 |
agcTx |
Integer |
输出增益范围0-100 |
请求示例
https://api-bj.clink.cn/cc/other_setting
&<公共请求参数>&cno=10010
返回示例
{
"otherSettings": {
"cno": "0020",
"agcRx": 30,
"agcTx": 60
},
"requestId": "29043d03-c4a7-43e8-bc31-e6c830676a63"
}
3.2. 队列设置
3.2.1. 新增队列
POST /cc/create_queue
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
qno |
String |
true |
队列工号,4 位数字,要求唯一 |
name |
String |
true |
队列名称,只允许输入中文,字母,数字,下划线,长度不超过 20 个字符 |
maxWait |
Integer |
false |
最大等待数,设置范围 0-999,0 表示不做任何限制。默认值为 5 |
memberTimeout |
Integer |
false |
座席超时时间,取值范围 20-60 秒。默认值为 25 |
queueTimeout |
Integer |
false |
队列超时时间,取值范围 30-600 秒。默认值为 600 |
strategy |
Integer |
false |
呼叫策略, 1:顺序,2:轮选,3:平均,4:随机,5:技能优先,6:距上一通呼入空闲时间累计最长,7:技能优先+距上一通呼入空闲时间累计最长,8:距上一通呼入空闲时间累计最长(全队列),9:技能优先+距上一通呼入空闲时间累计最长(全队列),10:全队列平均,11:技能优先+轮选,12:最长空闲时长,13:技能优先+当前空闲状态时长最长,14:距上一通通话空闲时间累计最长,默认值为 2 |
weight |
Integer |
false |
队列优先级,取值范围 1-10。默认值为 1 座席属于多个队列时,优先级高的队列的来电将优先接听;数值越高,优先级越高 |
wrapupTime |
Integer |
false |
整理时长,取值范围 3-300 秒,整理期间座席不接受新的呼叫。默认值为 15 |
serviceLevel |
Integer |
false |
服务水平秒数,取值范围 10-30 秒,低于此时间内接听的认为是高服务水平。默认值为 15 |
joinEmpty |
Integer |
false |
队列中为空时是否可以join,1: 置忙;2: 通话中;4: 振铃;8: 无效;16: 整理 如选多种状态则传对应数值的和,如选置忙和通话中,值为 3。默认值为 0,即都未选中 |
queueMembers |
Object[] |
false |
队列内座席及技能值设置。技能值 1-10,技能值 1 的优先级为最高 cno 队列下座席号 penalty该座席在队列中的优先级 |
ibAllowed |
Integer |
false |
是否允许呼入队列,0: 否;1: 是;默认值为 1 |
sayCno |
Integer |
false |
是否报座席号,0: 否;1:是;默认值为 0 |
vipSupport |
Integer |
false |
VIP客户优先,0:不支持;1:支持;默认值为 0 |
maxPauseClientFlag |
Integer |
false |
最大并发置忙座席数,开关配置,0:关闭,1:开启;默认值为 0 |
maxPauseClientType |
Integer |
false |
最大并发置忙座席数,配置类型,0:百分比,1:数值;默认值为 0 |
maxPauseClientValue |
Integer |
false |
最大并发置忙座席数,配置值,当配置类型为百分比时最大值为100,默认值为 0 |
chatStrategy |
Integer |
false |
在线客服分配策略,2:轮选;4:随机;5:技能优先;默认值为 2 |
chatMaxWait |
Integer |
false |
在线客服最大排队数;默认值为 20 |
chatLocation |
Integer |
false |
在线客服排队位置推送(小于该位置则推送);默认值为 10 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
qno |
String |
队列工号,4位数字,要求唯一 |
name |
String |
座席名称,只允许输入中文,字母,数字,下划线,长度不超过 20 个字符 |
maxWait |
Integer |
最大等待数,设置范围 0-999,0 表示不做任何限制 |
memberTimeout |
Integer |
座席超时时间,取值范围 20-60 秒 |
queueTimeout |
Integer |
队列超时时间,取值范围 30-600 秒 |
strategy |
Integer |
呼叫策略,1:顺序,2:轮选,3:平均,4:随机,5:技能优先,6:距上一通呼入空闲时间累计最长,7:技能优先+距上一通呼入空闲时间累计最长,8:距上一通呼入空闲时间累计最长(全队列),9:技能优先+距上一通呼入空闲时间累计最长(全队列),10:全队列平均,11:技能优先+轮选,12:最长空闲时长,13:技能优先+当前空闲状态时长最长,14:距上一通通话空闲时间累计最长 |
weight |
Integer |
队列优先级,取值范围 1-10 座席属于多个队列时,优先级高的队列的来电将优先接听;数值越高,优先级越高 |
wrapupTime |
Integer |
整理时长,取值范围 3-300 秒,整理期间座席不接受新的呼叫 |
serviceLevel |
Integer |
服务水平秒数,取值范围 10-30 秒,低于此时间内接听的认为是高服务水平 |
joinEmpty |
Integer |
队列中为空时是否可以join,1: 置忙,2: 通话中,4: 振铃,8: 无效,16: 整理 如选多种状态则传对应数值的和,如选置忙和通话中,值为 3。默认值为 0 即都未选中 |
queueMembers |
object[] |
队列内座席技能值设置。技能值 1-10,技能值 1 的优先级为最高 cno 队列下座席号 penalty该座席在队列中的优先级 |
ibAllowed |
integer |
是否允许呼入队列,0: 否;1: 是 |
sayCno |
Integer |
语音报号(是否报座席号)(1:是 0: 否) |
vipSupport |
Integer |
支持VIP级别(VIP客户优先)(0:不支持 1:支持) |
maxPauseClientFlag |
Integer |
最大并发置忙座席数,开关配置 |
maxPauseClientType |
Integer |
最大并发置忙座席数,配置类型 |
maxPauseClientValue |
Integer |
最大并发置忙座席数,配置值 |
chatStrategy |
Integer |
在线客服分配策略,2:轮选;4:随机;5:技能优先 |
chatMaxWait |
Integer |
在线客服最大排队数 |
chatLocation |
Integer |
在线客服排队位置推送(小于该位置则推送) |
请求示例
https://api-bj.clink.cn/cc/create_queue
&<公共请求参数>
POST 请求体
{
"qno":"0021",
"name":"业务咨询1",
"queueTimeout":51,
"memberTimeout":51,
"wrapupTime":20,
"maxWait":2,
"strategy":2,
"ibAllowed":0,
"serviceLevel":15,
"weight":6,
"joinEmpty":3,
"queueMembers":[
{
"cno":"8029",
"penalty":2
},
{
"cno":"8030",
"penalty":2
}
],
"sayCno": 0,
"vipSupport": 0,
"maxPauseClientFlag":1,
"maxPauseClientType":1,
"maxPauseClientValue":10,
"chatStrategy":2,
"chatMaxWait":20,
"chatLocation":10
}
返回示例
{
"requestId":"842ab2a6-3732-4c03-8ab7-c7f83180fb0c",
"queue":{
"qno":"0021",
"name":"业务咨询1",
"queueTimeout":51,
"memberTimeout":51,
"wrapupTime":20,
"maxWait":2,
"strategy":2,
"ibAllowed":0,
"serviceLevel":15,
"weight":6,
"joinEmpty":3,
"queueMembers":[
{
"cno":"8029",
"penalty":2
},
{
"cno":"8030",
"penalty":2
}
],
"sayCno": 0,
"vipSupport": 0,
"maxPauseClientFlag":1,
"maxPauseClientType":1,
"maxPauseClientValue":10,
"chatStrategy":2,
"chatMaxWait":20,
"chatLocation":10
}
}
3.2.2. 更新队列
POST /cc/update_queue
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
qno |
String |
true |
队列工号,4位数字,要求唯一 |
name |
String |
false |
队列名称,只允许输入中文,字母,数字,下划线,长度不超过20个字符 |
maxWait |
Integer |
false |
最大等待数,设置范围 0-999,0 表示不做任何限制。默认值为 5 |
memberTimeout |
Integer |
false |
座席超时时间,取值范围 20-60 秒。默认值为 25 |
queueTimeout |
Integer |
false |
队列超时时间,取值范围 30-600 秒。默认值为 600 |
strategy |
Integer |
false |
呼叫策略,1:顺序,2:轮选,3:平均,4:随机,5:技能优先,6:距上一通呼入空闲时间累计最长,7:技能优先+距上一通呼入空闲时间累计最长,8:距上一通呼入空闲时间累计最长(全队列),9:技能优先+距上一通呼入空闲时间累计最长(全队列),10:全队列平均,11:技能优先+轮选,12:最长空闲时长,13:技能优先+当前空闲状态时长最长,14:距上一通通话空闲时间累计最长,默认值为 2 |
weight |
Integer |
false |
队列优先级,取值范围 1-10。默认值为 1 座席属于多个队列时,优先级高的队列的来电将优先接听;数值越高,优先级越高 |
wrapupTime |
Integer |
false |
整理时长,取值范围 3-300 秒,整理期间座席不接受新的呼叫。默认值为 15 |
serviceLevel |
Integer |
false |
服务水平秒数,取值范围 10-30秒,低于此时间内接听的认为是高服务水平。默认值为 15 |
joinEmpty |
Integer |
false |
队列中为空时是否可以join(设置了队列等待数,来电进入队列后处于等待状态,等待超时才溢出;如果勾选了这几个选项,认为座席不可用,直接溢出,减少客户等待时间), 1: 置忙;2: 通话中;4: 振铃;8: 无效;16: 整理。 如选多种状态则传对应数值的和,如选置忙和通话中,值为 3。默认值为 0 |
queueMembers |
Object[] |
false |
队列内座席及技能值设置,传参采用全覆盖策略。 cno 座席号 penalty 技能值 1-10,技能值 1 的优先级为最高 |
ibAllowed |
Integer |
false |
是否允许呼入队列,0: 否,1: 是;默认值为 1 |
sayCno |
Integer |
false |
是否报座席号,0: 否;1:是;默认值为 0 |
vipSupport |
Integer |
false |
VIP客户优先,0:不支持;1:支持;默认值为 0 |
maxPauseClientFlag |
Integer |
false |
最大并发置忙座席数,开关配置,0:关闭,1:开启;默认值为 0 |
maxPauseClientType |
Integer |
false |
最大并发置忙座席数,配置类型,0:百分比,1:数值;默认值为 0 |
maxPauseClientValue |
Integer |
false |
最大并发置忙座席数,配置值,当配置类型为百分比时最大值为100,默认值为 0 |
chatStrategy |
Integer |
false |
在线客服分配策略,2:轮选;4:随机;5:技能优先;默认值为 2 |
chatMaxWait |
Integer |
false |
在线客服最大排队数;默认值为 20 |
chatLocation |
Integer |
false |
在线客服排队位置推送(小于该位置则推送);默认值为 10 |
返回参数
同传入参数
请求示例
https://api-bj.clink.cn/cc/update_queue
&<公共请求参数>
POST 请求体
{
"qno":"0021",
"name":"队列名",
"queueTimeout":51,
"memberTimeout":51,
"wrapupTime":20,
"maxWait":2,
"strategy":2,
"serviceLevel":15,
"weight":6,
"joinEmpty":3,
"queueMembers":[
{
"cno":"8029",
"penalty":2
},
{
"cno":"8030",
"penalty":2
}
],
"sayCno": 0,
"vipSupport": 0,
"maxPauseClientFlag":1,
"maxPauseClientType":1,
"maxPauseClientValue":10,
"chatStrategy":2,
"chatMaxWait":20,
"chatLocation":10
}
返回示例
{
"requestId":"842ab2a6-3732-4c03-8ab7-c7f83180fb0c",
"queue":{
"qno":"0021",
"name":"业务咨询1",
"queueTimeout":51,
"memberTimeout":51,
"wrapupTime":20,
"maxWait":2,
"strategy":2,
"serviceLevel":15,
"weight":6,
"joinEmpty":3,
"queueMembers":[
{
"cno":"8029",
"penalty":2
},
{
"cno":"8030",
"penalty":2
}
],
"sayCno": 0,
"vipSupport": 0,
"maxPauseClientFlag":1,
"maxPauseClientType":1,
"maxPauseClientValue":10,
"chatStrategy":2,
"chatMaxWait":20,
"chatLocation":10
}
}
3.2.3. 批量更新队列
POST /cc/batch_update_queue
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
queues |
List |
true |
队列集合参数,list中对象见queueModel 对象 |
queueModel 对象
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
qno |
String |
true |
队列工号,4位数字,要求唯一 |
name |
String |
true |
队列名称,只允许输入中文,字母,数字,下划线,长度不超过20个字符 |
maxWait |
Integer |
false |
最大等待数,设置范围 0-999,0 表示不做任何限制。默认值为 5 |
memberTimeout |
Integer |
false |
座席超时时间,取值范围 20-60 秒。默认值为 25 |
queueTimeout |
Integer |
false |
队列超时时间,取值范围 30-600 秒。默认值为 600 |
strategy |
Integer |
false |
呼叫策略,1:顺序,2:轮选,3:平均,4:随机,5:技能优先,6:距上一通呼入空闲时间累计最长,7:技能优先+距上一通呼入空闲时间累计最长,8:距上一通呼入空闲时间累计最长(全队列),9:技能优先+距上一通呼入空闲时间累计最长(全队列),10:全队列平均,11:技能优先+轮选,12:最长空闲时长,13:技能优先+当前空闲状态时长最长,14:距上一通通话空闲时间累计最长,默认值为 2 |
weight |
Integer |
false |
队列优先级,取值范围 1-10。默认值为 1 座席属于多个队列时,优先级高的队列的来电将优先接听;数值越高,优先级越高 |
wrapupTime |
Integer |
false |
整理时长,取值范围 3-300 秒,整理期间座席不接受新的呼叫。默认值为 15 |
serviceLevel |
Integer |
false |
服务水平秒数,取值范围 10-30秒,低于此时间内接听的认为是高服务水平。默认值为 15 |
joinEmpty |
Integer |
false |
队列中为空时是否可以join(设置了队列等待数,来电进入队列后处于等待状态,等待超时才溢出;如果勾选了这几个选项,认为座席不可用,直接溢出,减少客户等待时间), 1: 置忙;2: 通话中;4: 振铃;8: 无效;16: 整理。 如选多种状态则传对应数值的和,如选置忙和通话中,值为 3。默认值为 0 |
queueMembers |
Object[] |
false |
队列内座席及技能值设置,传参采用upsert策略,无需传递所有队列成员。 cno 座席号 penalty 技能值 1-10,技能值 1 的优先级为最高 |
removeQueueMembers |
List<String> |
false |
需要从队列中移除的座席号集合,座席号对应的座席需存在 |
ibAllowed |
Integer |
false |
是否允许呼入队列,0: 否,1: 是;默认值为 1 |
sayCno |
Integer |
false |
是否报座席号,0: 否;1:是;默认值为 0 |
vipSupport |
Integer |
false |
VIP客户优先,0:不支持;1:支持;默认值为 0 |
maxPauseClientFlag |
Integer |
false |
最大并发置忙座席数,开关配置,0:关闭,1:开启;默认值为 0 |
maxPauseClientType |
Integer |
false |
最大并发置忙座席数,配置类型,0:百分比,1:数值;默认值为 0 |
maxPauseClientValue |
Integer |
false |
最大并发置忙座席数,配置值,当配置类型为百分比时最大值为100,默认值为 0 |
chatStrategy |
Integer |
false |
在线客服分配策略,2:轮选;4:随机;5:技能优先;默认值为 2 |
chatMaxWait |
Integer |
false |
在线客服最大排队数;默认值为 20 |
chatLocation |
Integer |
false |
在线客服排队位置推送(小于该位置则推送);默认值为 10 |
返回参数
同传入参数
请求示例
https://api-bj.clink.cn/cc/batch_update_queue
&<公共请求参数>
POST 请求体
{
"queues":[
{
"qno":"0021",
"name":"业务咨询1",
"queueTimeout":51,
"memberTimeout":51,
"wrapupTime":20,
"maxWait":2,
"strategy":2,
"serviceLevel":15,
"weight":6,
"joinEmpty":3,
"queueMembers":[
{
"cno":"8029",
"penalty":2
},
{
"cno":"8030",
"penalty":2
}
],
"sayCno": 0,
"vipSupport": 0,
"chatStrategy":2,
"chatMaxWait":20,
"chatLocation":10
},
{
"qno":"0022",
"name":"业务咨询2",
"queueMembers":[
{
"cno":"8029",
"penalty":2
},
{
"cno":"8030",
"penalty":2
}
],
"removeQueueMembers":["8028"],
"sayCno": 0,
"vipSupport": 0,
"chatStrategy":2,
"chatMaxWait":20,
"chatLocation":10
}
]
}
返回示例
{
"requestId":"842ab2a6-3732-4c03-8ab7-c7f83180fb0c",
"result": "ok",
"batchId":"938d5985-9ea4-4ea6-b530-8ab2c0ab5062"
}
3.2.4. 查询批量更新队列结果
GET /cc/query_batch_update_queue_info
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
batchId |
String |
true |
批量更新队列批次ID |
返回参数
名称 | 类型 | 描述 |
---|---|---|
batchId |
String |
批量更新队列批次ID |
status |
Integer |
1:成功,0:执行中,-1:执行失败,-2:任务不存在 |
请求示例
https://api-bj.clink.cn/cc/query_batch_update_queue_info?batchId=938d5985-9ea4-4ea6-b530-8ab2c0ab5062&<公共请求参数>
返回示例
{
"requestId": "842ab2a6-3732-4c03-8ab7-c7f83180fb0c",
"batchId": "938d5985-9ea4-4ea6-b530-8ab2c0ab5062",
"status": 1
}
3.2.5. 删除队列
POST /cc/delete_queue
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
qno |
String |
true |
队列号 |
返回参数
名称 | 类型 | 描述 |
---|
返回示例
{
"requestId": "842ab2a6-3732-4c03-8ab7-c7f83180fb0c",
"qno":"0000"
}
3.2.6. 查询队列列表
GET /cc/list_queues
请求参数
offset |
Integer |
false |
偏移量,默认值为 0,最大范围10000 |
limit |
Integer |
false |
查询记录条数,默认只为 10,最大范围100 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
queues |
Object[] |
见queues描述 |
pageSize |
Integer |
分页大小 |
totalCount |
Integer |
总数 |
requestId |
String |
本次请求id |
queues描述
名称 | 类型 | 描述 |
---|---|---|
id |
Integer |
队列 Id |
qno |
String |
队列号 |
name |
String |
队列名 |
omniClientNum |
Integer |
全渠道座席数 |
callClientNum |
Integer |
呼叫中心座席数 |
chatClientNum |
Integer |
在线客服数 |
请求示例
https://api-bj.clink.cn/cc/list_queues?
offset=0
&limit=10
&<公共请求参数>
返回示例
{
"requestId":"842ab2a6-3732-4c03-8ab7-c7f83180fb0c",
"queues":[
{
"id":2234,
"qno":"2234",
"name":"aqaaaq",
"omniClientNum":10,
"callClientNum":25,
"chatClientNum":15
}
],
"pageNumber":1,
"pageSize":10,
"totalCount":26
}
3.2.7. 查看队列详情
GET /cc/describe_queue
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
qno |
String |
true |
队列号 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
enterpriseId |
Integer |
企业id |
qno |
String |
队列号 |
name |
Integer |
队列名称 |
queueTimeout |
Integer |
队列超时时长 |
memberTimeout |
Integer |
座席超时时长 |
retry |
Integer |
座席超时无应答,呼叫下一座席的延迟秒数,⇐0时采用默认值5。 |
wrapupTime |
Integer |
整理时间 |
maxWait |
Integer |
呼叫中心最大排队数 |
strategy |
Integer |
呼叫策略,1:顺序,2:轮选,3:平均,4:随机,5:技能优先,6:距上一通呼入空闲时间累计最长,7:技能优先+距上一通呼入空闲时间累计最长,8:距上一通呼入空闲时间累计最长(全队列),9:技能优先+距上一通呼入空闲时间累计最长(全队列),10:全队列平均,11:技能优先+轮选,12:最长空闲时长,13:技能优先+当前空闲状态时长最长,14:距上一通通话空闲时间累计最长 |
serviceLevel |
Integer |
服务水平秒数,取值范围 10-30秒,低于此时间内接听的认为是高服务水平 |
sayCno |
Integer |
语音报号(是否报座席号)(1:是 0:否) |
vipSupport |
Integer |
支持VIP级别(VIP客户优先)(0:不支持 1:支持) |
ibAllowed |
Integer |
允许呼入队列 0:不允许 1:允许 |
weight |
Integer |
队列优先级,取值范围 1-10。默认值为 1,座席属于多个队列时,优先级高的队列的来电将优先接听;数值越高,优先级越高 |
joinEmpty |
Integer |
队列中为空时是否可以join(设置了队列等待数,来电进入队列后处于等待状态,等待超时才溢出;如果勾选了这几个选项,认为座席不可用,直接溢出,减少客户等待时间), 1: 置忙;2: 通话中;4: 振铃;8: 无效;16: 整理。 如选多种状态则传对应数值的和,如选置忙和通话中,值为 3 |
queueMembers |
Object[] |
cno 座席号 penalty 优先级 type 座席类型 1:全渠道、2:呼叫中心、3:在线客服 |
maxPauseClientFlag |
Integer |
最大并发置忙座席数,开关配置 |
maxPauseClientType |
Integer |
最大并发置忙座席数,配置类型 |
maxPauseClientValue |
Integer |
最大并发置忙座席数,配置值 |
chatStrategy |
Integer |
在线客服分配策略,2:轮选;4:随机;5:技能优先 |
chatMaxWait |
Integer |
在线客服最大排队数 |
chatLocation |
Integer |
在线客服排队位置推送(小于该位置则推送) |
请求示例
https://api-bj.clink.cn/cc/describe_queue
&qno=0000
&<公共请求参数>
返回示例
{
"requestId":"842ab2a6-3732-4c03-8ab7-c7f83180fb0c",
"result":{
"enterpriseId": 8001612,
"qno":"0021",
"name":"队列名",
"queueTimeout":51,
"memberTimeout":51,
"retry":5,
"wrapupTime":20,
"maxWait":2,
"strategy":2,
"serviceLevel":15,
"sayCno":0,
"vipSupport":0,
"ibAllowed":1,
"weight":6,
"joinEmpty":3,
"queueMembers":[
{
"cno":"8029",
"penalty":2,
"type":2
},
{
"cno":"8030",
"penalty":2,
"type":2
}
],
"maxPauseClientFlag":1,
"maxPauseClientType":1,
"maxPauseClientValue":10,
"chatStrategy":2,
"chatMaxWait":20,
"chatLocation":10
}
}
3.2.8. 查询队列成员
GET /cc/list_queues_with_agent_action
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
cno |
String |
true |
座席编号 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
queues |
Object[] |
见queues描述 |
requestId |
String |
本次请求id |
queues描述
名称 | 类型 | 描述 |
---|---|---|
id |
Integer |
队列 Id |
qno |
String |
队列号 |
name |
String |
队列名 |
idle |
Integer |
空闲座席数 |
total |
Integer |
队列中座席数 |
clientLists |
Object[] |
cno 座席号 name 座席名称 status 座席状态空闲 duration 座席状态持续时长 code IDLE |
请求示例
https://api-bj.clink.cn/cc/list_queues_with_agent_action
&cno=10010
&<公共请求参数>
返回示例
{
"queues": [
{
"qno": "0001",
"name": "投诉及故障申告",
"idle": 2,
"total": 27,
"clientLists": [
{
"cno": "6688",
"name": "www",
"status": "空闲",
"duration": 2416361,
"code": "IDLE"
},
{
"cno": "6699",
"name": "zzz",
"status": "空闲",
"duration": 2416362,
"code": "IDLE"
}
]
},
{
"qno": "0003",
"name": "qpp1",
"idle": 1,
"total": 3,
"clientLists": [
{
"cno": "2449",
"name": "2449",
"status": "空闲",
"duration": 65318,
"code": "IDLE"
}
]
}
],
"requestId": "0dff8663-b2e6-47c4-9fca-b069d4c02449"
}
3.3. 置忙状态
3.3.1. 查询置忙状态
GET /cc/list_enterprise_pauses
请求参数
无
返回参数
名称 | 类型 | 描述 |
---|---|---|
id |
Integer |
置忙状态Id |
sort |
Integer |
优先级,数字越小优先级越高 |
pauseStatus |
String |
置忙状态描述 |
isRest |
String |
休息状态,0:不是;1:是 |
isDefault |
Integer |
默认状态,0:不是;1:是 |
请求示例
https://api-bj.clink.cn/list_enterprise_pauses&<公共请求参数>
返回示例
{
"requestId": "c9f9a710-ffd4-48c0-8cef-520dc4f65f83",
"enterprisePauses": [
{
"id": 67642,
"sort": 1,
"pauseStatus": "忙碌",
"isRest": 0,
"isDefault": 1
}
]
}
3.3.2. 添加置忙状态
POST /cc/create_enterprise_pause
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
pauseStatus |
String |
true |
置忙状态描述(不超4个字符) |
isRest |
String |
true |
休息状态,0:不是;1:是 |
isDefault |
Integer |
true |
默认状态,0:不是;1:是 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
requestId |
string |
请求标识 |
请求示例
https://api-bj.clink.cn/create_enterprise_pause&<公共请求参数>
POST请求体
{
"pauseStatus":"ok5",
"isRest":0,
"isDefault":0
}
返回示例
{
"requestId": "a68647be-5697-44cc-8f80-06eefcc1756f",
"enterprisePause": {
"pauseStatus": "ok6",
"isRest": 0,
"isDefault": 0
}
}
3.3.3. 删除置忙状态
POST /cc/delete_enterprise_pause
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
pauseStatus |
String |
true |
置忙状态描述 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
requestId |
string |
请求标识 |
返回示例
{
"requestId": "a6e708f1-3b48-4e73-bdab-964a3827b8a5",
"enterprisePause": {
"pauseStatus": "ok5"
}
}
3.3.4. 更新置忙状态
POST /cc/update_enterprise_pause
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
pauseStatus |
String |
true |
置忙状态描述(不超4个字符) |
isRest |
String |
true |
休息状态,0:不是;1:是 |
isDefault |
Integer |
true |
默认状态,0:不是;1:是 |
id |
Integer |
true |
id |
返回参数
名称 | 类型 | 描述 |
---|---|---|
requestId |
string |
请求标识 |
请求示例
https://api-bj.clink.cn/update_enterprise_pause&<公共请求参数>
POST请求体
{
"pauseStatus":"o00",
"isRest":1,
"isDefault":1,
"id": 68068
}
返回示例
{
"requestId": "7264fcf1-aeee-4b15-9801-d4b30b595c62",
"enterprisePause": {
"id": 68068,
"pauseStatus": "o00",
"isRest": 1,
"isDefault": 1
}
}
3.4. 话机设置
3.4.1. 新增话机
POST /cc/create_exten
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
extenNumber |
String |
true |
话机号码。3-6 位数字,要求唯一 |
password |
String |
true |
话机密码,密码规则参见企业配置 |
areaCode |
String |
true |
话机区号。以 0 开头 3-4 位数字 |
type |
Integer |
true |
话机类型。1: IP话机, 2: 软电话 |
allow |
Integer |
true |
语音编码。 IP话机支持的语音编码:1、2、3、4、5 软电话支持的语音编码:5、6 1:g729(已弃用) 2:g729,alaw,ulaw 3:alaw,ulaw,g729 4:myopus,alaw,ulaw,g729 5:alaw,ulaw 6:myopus,alaw,ulaw |
isDirect |
Integer |
false |
是否允许主叫外呼,1:允许;0:不允许。话机类型为IP话机时,可以开启主叫外呼功能,直接通过IP话机进行外呼。若要使用主叫外呼功能,需要开启企业级开关。 |
jittBuffer |
Integer |
false |
网络防抖,0:关闭;1:开启,默认关闭,当开启时,语音编码类型默认为5 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
extenNumber |
String |
话机号码 |
areaCode |
String |
话机区号 |
type |
Integer |
话机类型。1: IP话机, 2: 软电话 |
allow |
Integer |
语音编码。 1:g729(已弃用) 2:g729,alaw,ulaw 3:alaw,ulaw,g729 4:myopus,alaw,ulaw,g729 5:alaw,ulaw 6:myopus,alaw,ulaw |
isDirect |
Integer |
是否允许主叫外呼,1:允许;0:不允许。话机类型为IP话机时,可以开启主叫外呼功能,直接通过IP话机进行外呼。若要使用主叫外呼功能,需要开启企业级开关。 |
jittBuffer |
Integer |
网络防抖开关,0:关闭;1:开启 |
请求示例
https://api-bj.clink.cn/cc/create_exten
&extenNumber=0000
&password=0000
&areaCode=010
&allow=1
&type=1
&<公共请求参数>
返回示例
{
"requestId": "cdab1851-5426-44e5-8d5e-bb06c085cff1",
"exten": {
"extenNumber": "0000",
"password": "****",
"areaCode": "010",
"allow": 1,
"type": 1,
"isDirect": 1,
"jittBuffer": 1
}
}
3.4.2. 修改话机
POST /cc/update_exten
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
extenNumber |
String |
true |
话机号码。3-6 位数字 |
password |
String |
false |
话机密码,密码规则参见企业配置 |
areaCode |
String |
false |
话机区号。以 0 开头 3-4 位数字 |
type |
Integer |
false |
话机类型。1: IP话机,2: 软电话 |
allow |
Integer |
false |
语音编码。 IP话机支持的语音编码:1、2、3、4、5 软电话支持的语音编码:5、6 1:g729(已弃用) 2:g729,alaw,ulaw 3:alaw,ulaw,g729 4:myopus,alaw,ulaw,g729 5:alaw,ulaw 6:myopus,alaw,ulaw |
isDirect |
Integer |
false |
是否允许主叫外呼,1:允许;0:不允许。话机类型为IP话机时,可以开启主叫外呼功能,直接通过IP话机进行外呼。若要使用主叫外呼功能,需要开启企业级开关。 |
jittBuffer |
Integer |
false |
网络防抖,0:关闭;1:开启,默认关闭,当开启时,语音编码类型默认为5 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
extenNumber |
String |
话机号码 |
password |
String |
话机密码 |
areaCode |
String |
话机区号 |
type |
Integer |
话机类型。1: IP话机, 2: 软电话 |
allow |
Integer |
语音编码。 1:g729(已弃用) 2:g729,alaw,ulaw 3:alaw,ulaw,g729 4:myopus,alaw,ulaw,g729 5:alaw,ulaw 6:myopus,alaw,ulaw |
isDirect |
Integer |
是否允许主叫外呼,1:允许;0:不允许。话机类型为IP话机时,可以开启主叫外呼功能,直接通过IP话机进行外呼。若要使用主叫外呼功能,需要开启企业级开关。 |
jittBuffer |
Integer |
网络防抖开关,0:关闭;1:开启 |
请求示例
https://api-bj.clink.cn/cc/update_exten
&extenNumber=0000
&password=0000
&areaCode=010
&allow=1
&type=1
&<公共请求参数>
返回示例
{
"requestId": "cdab1851-5426-44e5-8d5e-bb06c085cff1",
"exten": {
"extenNumber": "0002",
"password": "****",
"areaCode": "010",
"allow": 1,
"type": 1,
"isDirect": 1,
"jittBuffer": 1
}
}
3.4.3. 删除话机
POST /cc/delete_exten
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
extenNumber |
String |
true |
话机号码。3-6 位数字 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
exten |
String |
话机号码 |
请求示例
https://api-bj.clink.cn/cc/delete_exten
&extenNumber=0000
&<公共请求参数>
返回示例
{
"requestId": "cdab1851-5426-44e5-8d5e-bb06c085cff1",
"exten": "0000"
}
3.4.4. 查询话机列表
GET /cc/list_extens
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
areaCode |
String |
false |
话机区号。以 0 开头 3-4 位数字 |
type |
Integer |
false |
话机类型。1: IP话机, 2: 软电话 |
offset |
Integer |
false |
偏移量。 范围 0-10000,默认值为 0 |
limit |
Integer |
false |
查询条数。范围 10-100,默认值为 10 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
extenNumber |
String |
话机号码 |
areaCode |
String |
话机区号 |
type |
Integer |
话机类型。1: IP话机, 2: 软电话 |
allow |
Integer |
语音编码。 1:g729(已弃用) 2:g729,alaw,ulaw 3:alaw,ulaw,g729 4:myopus,alaw,ulaw,g729 5:alaw,ulaw 6:myopus,alaw,ulaw |
jittBuffer |
Integer |
网络防抖开关,0:关闭;1:开启 |
isDirect |
Integer |
是否允许主叫外呼,1:允许;0:不允许。话机类型为IP话机时,可以开启主叫外呼功能,直接通过IP话机进行外呼。若要使用主叫外呼功能,需要开启企业级开关。 |
请求示例
https://api-bj.clink.cn/cc/list_extens?
areaCode=010
&type=1
&offset=0
&limit=10
&<公共请求参数>
返回示例
{
"requestId": "cdab1851-5426-44e5-8d5e-bb06c085cff1",
"extens": [
{
"extenNumber": "0000",
"areaCode": "010",
"type": 1,
"allow": 1,
"isDirect": 1,
"jittBuffer": 1
},
{
"extenNumber": "0001",
"areaCode": "010",
"type": 1,
"allow": 1,
"isDirect": 1,
"jittBuffer": 1
}
],
"pageNumber": 1,
"pageSize": 10,
"totalCount": 10
}
3.4.5. 查看话机详情
GET /cc/describe_exten
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
extenNumber |
String |
true |
话机号码。3-6 位数字 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
extenNumber |
String |
话机号码 |
areaCode |
String |
话机区号 |
type |
Integer |
话机类型。1: IP话机, 2: 软电话 |
allow |
Integer |
语音编码。 1:g729(已弃用) 2:g729,alaw,ulaw 3:alaw,ulaw,g729 4:myopus,alaw,ulaw,g729 5:alaw,ulaw 6:myopus,alaw,ulaw |
jittBuffer |
Integer |
网络防抖开关,0:关闭;1:开启 |
isDirect |
Integer |
是否允许主叫外呼,1:允许;0:不允许。话机类型为IP话机时,可以开启主叫外呼功能,直接通过IP话机进行外呼。若要使用主叫外呼功能,需要开启企业级开关。 |
请求示例
https://api-bj.clink.cn/cc/describe_exten
&extenNumber=0000
&<公共请求参数>
返回示例
{
"requestId": "cdab1851-5426-44e5-8d5e-bb06c085cff1",
"exten": {
"extenNumber": "0002",
"password": "****",
"areaCode": "010",
"allow": 1,
"isDirect": 1,
"jittBuffer": 1
}
}
3.5. 号码设置
3.5.1. 查询企业外显号码列表
GET /cc/list_clid_numbers
返回参数
名称 | 类型 | 描述 |
---|---|---|
clids |
String[] |
外显号码集合 |
示例
请求示例
https://api-bj.clink.cn/cc/list_clid_numbers
&<公共请求参数>
返回示例
{
"requestId": "cdab1851-5426-44e5-8d5e-bb06c085cff1",
"clids": [
"01089193540"
]
}
3.5.2. 查询企业热线号码列表
GET /cc/list_hotline_numbers
返回参数
名称 | 类型 | 描述 |
---|---|---|
hotlines |
String[] |
热线号码集合 |
示例
请求示例
https://api-bj.clink.cn/cc/list_hotline_numbers
&<公共请求参数>
返回示例
{
"requestId": "cdab1851-5426-44e5-8d5e-bb06c085cff1",
"hotlines": [
"01089193540"
]
}
3.5.3. 查询企业动态号码组列表
GET /cc/list_dynamic_tel_group_rule
返回参数
名称 | 类型 | 描述 |
---|---|---|
data |
object[] |
动态号码组列表,详细字段参考下表 |
名称 | 类型 | 描述 |
---|---|---|
id |
Integer |
动态号码组id |
name |
String |
动态号码组名称,在新增座席和修改座席中有用到 |
selectedTels |
String[] |
选中的号码集合 |
示例
请求示例
https://api-bj.clink.cn/cc/list_dynamic_tel_group_rule
&<公共请求参数>
返回示例
{
"dynamicTelGroupRules": [
{
"id": 141,
"name": "dxl1",
"selectedTels": [
"01079902988",
"01026774326",
"01053194582"
]
},
{
"id": 145,
"name": "dddd",
"selectedTels": [
"01079902988"
]
}
],
"requestId": "a95971fc-9e80-433b-bfb5-e2c70fcd4e8d"
}
3.5.4. 批量查询号码归属地
GET /cc/batch_get_areacode
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
numbers |
String[] |
true |
被查询的号码列表,最多 500 条,多于 500 条的将被丢弃;国际号码需要添加 00 前缀 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
data |
Map<String, Object> |
号码,归属地信息映射;归属地信息详细字段见下表 |
名称 | 类型 | 描述 |
---|---|---|
valid |
Boolean |
号码格式是否合法 |
areaCode |
String |
区号。若号码为热线,则值为"400"、"1010"等 |
province |
String |
归属地省份。若区号为国家,则代表大洲;若号码为热线,则值为"热线" |
city |
String |
归属地城市。若区号为国家,则代表国家;若号码为热线,则值为"400热线"、"1010热线"等 |
示例
请求示例
https://api-bj.clink.cn/cc/batch_get_areacode
&numbers=1010xx99,130xxxx0000,02100xxx000,180xxxx0000,%2B001%20404-487-9xx0
&<公共请求参数>
返回示例
{
"requestId":"2b7a7e17-625f-46d3-82d3-e804cab28074",
"data": {
"1010xx99": {
"province": "热线",
"city": "1010热线",
"areaCode": "1010",
"valid": true
},
"130xxxx0000": {
"province": "江苏",
"city": "南京",
"areaCode": "025",
"valid": true
},
"02100xxx000": {
"province": "上海",
"city": "上海",
"areaCode": "021",
"valid": true
},
"180xxxx0000": {
"province": null,
"city": null,
"areaCode": null,
"valid": false
},
"+001 404-487-9xx0": {
"province": "北美洲",
"city": "美国|加拿大",
"areaCode": "001",
"valid": true
}
}
}
3.5.5. 新增动态号码组
POST /cc/create_dynamic_tel_group_rule
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
name |
String |
true |
动态号码组名称,要求唯一,最大长度三十 |
selectedTels |
String[] |
true |
动态号码组内号码,需在企业外显配置内 |
status |
Integer |
false |
规则启用状态,0:关闭,1:启用,默认启用 |
advancedConfigPermission |
Integer |
false |
高级设置开关,0:关闭,1:开启,开启后且status=1会执行动态号码组外显号码分析,默认关闭 |
statisticDays |
Integer |
false |
高级设置开关开启时,动态号码组外显号码分析统计时间,单位天,范围7-60,开启高级配置开关时默认值7 |
minObCount |
Integer |
false |
高级设置开关开启时,动态号码组外显号码分析外呼最低次数,传值时大于0,开启高级配置开关时默认值1 |
minObDays |
Integer |
false |
高级设置开关开启时,动态号码组外显号码分析外呼最少天数,传值时大于0,开启高级配置开关时默认值1 |
minAnswerRate |
Integer |
false |
高级设置开关开启时,动态号码组外显号码分析最低接通率,范围1-100,开启高级配置开关时默认值1 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
name |
String |
动态号码组名称 |
selectedTels |
String[] |
动态号码组内号码 |
status |
Integer |
规则启用状态 |
advancedConfigPermission |
Integer |
高级设置开关 |
statisticDays |
Integer |
统计时间 |
minObCount |
Integer |
外呼最低次数 |
minObDays |
Integer |
外呼最少天数 |
minAnswerRate |
Integer |
最低接通率 |
示例
请求示例
https://api-bj.clink.cn/cc/create_dynamic_tel_group_rule
&<公共请求参数>
POST 请求体
{
"name":"动态号码组",
"selectedTels":["138xxxx8888", "136xxxx6666"],
"status":1,
"advancedConfigPermission":1,
"statisticDays":7,
"minObCount":2,
"minObDays":1,
"minAnswerRate":15
}
返回示例
{
"dynamicTelGroup": {
"name":"动态号码组",
"selectedTels":["138xxxx8888", "136xxxx6666"],
"status":1,
"advancedConfigPermission":1,
"statisticDays":7,
"minObCount":2,
"minObDays":1,
"minAnswerRate":15
},
"requestId": "a95971fc-9e80-433b-bfb5-e2c70fcd4e8d"
}
3.5.6. 更新动态号码组
POST /cc/update_dynamic_tel_group_rule
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
id |
Integer |
true |
动态号码组id标识 |
name |
String |
false |
动态号码组名称,要求唯一,最大长度三十 |
selectedTels |
String[] |
false |
动态号码组内号码,需在企业外显配置内 |
status |
Integer |
false |
规则启用状态,0:关闭,1:启用 |
advancedConfigPermission |
Integer |
false |
高级设置开关,0:关闭,1:开启,开启后且status=1会执行动态号码组外显号码分析 |
statisticDays |
Integer |
false |
高级设置开关开启时,动态号码组外显号码分析统计时间,单位天,范围7-60 |
minObCount |
Integer |
false |
高级设置开关开启时,动态号码组外显号码分析外呼最低次数,传值时大于0 |
minObDays |
Integer |
false |
高级设置开关开启时,动态号码组外显号码分析外呼最少天数,传值时大于0 |
minAnswerRate |
Integer |
false |
高级设置开关开启时,动态号码组外显号码分析最低接通率,范围1-100 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
id |
Integer |
动态号码组id标识 |
name |
String |
动态号码组名称 |
selectedTels |
String[] |
动态号码组内号码 |
status |
Integer |
规则启用状态 |
advancedConfigPermission |
Integer |
高级设置开关 |
statisticDays |
Integer |
统计时间 |
minObCount |
Integer |
外呼最低次数 |
minObDays |
Integer |
外呼最少天数 |
minAnswerRate |
Integer |
最低接通率 |
示例
请求示例
https://api-bj.clink.cn/cc/update_dynamic_tel_group_rule
&<公共请求参数>
POST 请求体
{
"id":1,
"name":"动态号码组",
"selectedTels":["138xxxx8888"],
"status":1,
"advancedConfigPermission":1,
"statisticDays":7,
"minObCount":2,
"minObDays":1,
"minAnswerRate":15
}
返回示例
{
"dynamicTelGroup": {
"id":1,
"name":"动态号码组",
"selectedTels":["138xxxx8888"],
"status":1,
"advancedConfigPermission":1,
"statisticDays":7,
"minObCount":2,
"minObDays":1,
"minAnswerRate":15
},
"requestId": "a95971fc-9e80-433b-bfb5-e2c70fcd4e8d"
}
3.5.7. 删除动态号码组
POST /cc/delete_dynamic_tel_group_rule
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
id |
Integer |
true |
动态号码组id标识 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
id |
Integer |
动态号码组id标识 |
返回示例
{
"id":1,
"requestId": "a95971fc-9e80-433b-bfb5-e2c70fcd4e8d"
}
3.5.8. 分页查询动态号码组列表
GET /cc/page_dynamic_tel_group_rule
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
name |
String |
false |
动态号码组名称 |
selectedTels |
String[] |
false |
动态号码组内号码 |
status |
Integer |
false |
规则启用状态 |
offset |
Integer |
false |
偏移量,默认值为 0,最大范围10000 |
limit |
Integer |
false |
查询记录条数,默认值为 10,最大范围100 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
dynamicTelGroupRules |
Object[] |
见dynamicTelGroupRules描述 |
pageSize |
Integer |
分页大小 |
totalCount |
Integer |
总数 |
requestId |
String |
本次请求id |
dynamicTelGroupRules描述
名称 | 类型 | 描述 |
---|---|---|
id |
Integer |
动态号码组 Id |
name |
String |
动态号码组名称 |
selectedTels |
String[] |
动态号码组内号码 |
status |
Integer |
规则启用状态 |
advancedConfigPermission |
Integer |
高级设置开关 |
statisticDays |
Integer |
统计时间 |
minObCount |
Integer |
外呼最低次数 |
minObDays |
Integer |
外呼最少天数 |
minAnswerRate |
Integer |
最低接通率 |
updateTime |
Long |
更新时间,秒级时间戳 |
createTime |
Long |
创建时间,秒级时间戳 |
返回示例
{
"requestId":"842ab2a6-3732-4c03-8ab7-c7f83180fb0c",
"dynamicTelGroupRules":[
{
"id":1,
"name":"动态号码组",
"selectedTels":["138xxxx8888", "136xxxx6666"],
"status":1,
"advancedConfigPermission":1,
"statisticDays":7,
"minObCount":2,
"minObDays":1,
"minAnswerRate":15
}
],
"pageNumber":1,
"pageSize":10,
"totalCount":26
}
3.6. 语音导航设置
3.6.1. 查询语音导航列表
GET /cc/list_ivrs
请求参数
无
返回参数
名称 | 类型 | 描述 |
---|---|---|
id |
Integer |
语音导航id |
name |
String |
语音导航名称 |
description |
String |
语音导航描述 |
statistic |
Integer |
是否开启节点统计,0:不开启;1:开启 |
示例
请求示例
https://api-bj.clink.cn/cc/list_ivrs
&<公共请求参数>
返回示例
{
"requestId":"35ba7ed7-356c-4d0e-a643-30ea67582f6c",
"ivrs":[
{
"id":1,
"name":"语音导航A",
"description":"",
"statistic":0
},
{
"id":2,
"name":"语音导航B",
"description":"语音导航描述",
"statistic":0
}
]
}
3.6.2. 查询语音导航节点列表
GET /cc/list_ivr_nodes
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
ivrId |
Integer |
true |
语音导航id (字段废弃) |
ivrName |
String |
true |
语音导航名称 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
id |
Integer |
语音导航节点id |
ivrId |
Integer |
语音导航id |
endpoint |
String |
语音导航节点 |
name |
String |
语音导航节点名称 |
frequentlyPath |
String |
语音导航常用节点 |
statistic |
Integer |
是否开启节点统计,0:不开启;1:开启 |
示例
请求示例
https://api-bj.clink.cn/cc/list_ivr_nodes
&ivrId=1
&<公共请求参数>
返回示例
{
"requestId":"35ba7ed7-356c-4d0e-a643-30ea67582f6c",
"ivrNodes":[
{
"id":1,
"endpoint":"E91_rp0D1",
"name":"语音导航节点A",
"frequentlyPath":"",
"statistic":0
},
{
"id":2,
"endpoint":"aw1AeQsNl",
"name":"语音导航节点B",
"frequentlyPath":"",
"statistic":0
}
]
}
3.7. 黑白名单设置
3.7.1. 查询黑白名单列表
GET /cc/list_restrict_tel
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
restrictType |
Integer |
true |
呼叫限制类型 1:黑名单 2:白名单 |
type |
Integer |
false |
类型 1:呼入 2:外呼 |
tel |
String |
false |
电话号码 |
telType |
Integer |
false |
电话号码类型 1:电话号码,如134xxxx6543/01059xxxx999 2:城市区号,如010/031 3:未知号码 |
description |
String |
false |
描述 |
expirationFlag |
Integer |
false |
到期时间查询标志,不传默认查询全部。0:有效 1:失效 |
offset |
Integer |
true |
偏移量,默认值为 0,最大范围 10000 |
limit |
Integer |
true |
查询记录条数,默认值为 10,最大范围 100 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
pageNumber |
Integer |
当前页码 |
requestId |
String |
本次请求id |
pageSize |
Integer |
每页展示条数 |
list |
List<Data> |
数据集合 Data |
totalCount |
Integer |
总条数 |
Data
名称 | 类型 | 描述 |
---|---|---|
restrictType |
Integer |
呼叫限制类型 1:黑名单 2:白名单 |
type |
Integer |
类型 1:呼入 2:外呼 |
tel |
String |
电话号码 |
telType |
Integer |
电话号码类型 1:电话号码,如134xxxx6543/01059xxx999 2:城市区号,如010/031 3:未知号码 |
description |
String |
描述 |
createTime |
Date |
创建时间 |
expirationTime |
Date |
到期时间,为null表示永久有效 |
telEncrypt |
String |
电话号码加密串 |
示例
请求示例
https://api-bj.clink.cn/cc/list_restrict_tel
&<公共请求参数>
返回示例
{
"restrictTels": [
{
"restrictType": 1,
"type": 1,
"tel": "15200000000",
"telType": 1,
"description": null,
"createTime": 1644809861871,
"expirationTime": null
},
{
"restrictType": 1,
"type": 1,
"tel": "15200000001",
"telType": 1,
"description": null,
"createTime": 1644572938004,
"expirationTime": 1662911999000
},
{
"restrictType": 1,
"type": 2,
"tel": "0317",
"telType": 2,
"description": null,
"createTime": 1644572938004,
"expirationTime": 1662911999000
},
{
"restrictType": 1,
"type": 1,
"tel": "15200000002",
"telType": 1,
"description": null,
"createTime": 1644572938004,
"expirationTime": null
}
],
"pageNumber": 1,
"requestId": "c662c715-cdb5-453b-90e4-10164d59e0db",
"pageSize": 10,
"totalCount": 7
}
3.7.2. 添加黑白名单列表
POST /cc/create_restrict_tel
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
type |
Integer |
true |
类型 1:呼入 2:外呼 |
1 |
telType |
Integer |
true |
电话号码类型 1:手机号码 2:地区1 3:未知号码 |
1 |
restrictType |
Integer |
true |
呼叫限制类型 1:黑名单 2:白名单 |
1 |
tel |
String |
true |
电话号码 |
138xxxx6688 |
description |
String |
false |
备注 |
限制外呼 |
expirationTime |
String |
false |
到期时间,格式为:"yyyy-MM-dd" |
2022-05-11 |
encrypt |
Integer |
false |
是否对电话号码进行加密,1:加密 0:不加密 默认值:0 |
0 |
encryptType |
Integer |
false |
电话号码加密类型,1:AES加密 默认值:1 |
1 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
requestId |
string |
请求标识 |
示例
请求示例
https://api-bj.clink.cn/cc/create_restrict_tel
&<公共请求参数>
RequestBody请求参数
{
"restrictType":1,
"type":1,
"telType":1,
"tel":"138xxxx6688",
"expirationTime":"2022-05-11",
"encrypt": 0,
"encryptType": 1
}
返回示例
{
"requestId": "12e22dba-5d05-4a8f-86ad-ff6d6e539656",
"restrictTel": {
"restrictType": 1,
"type": 1,
"tel": "138xxxx6688",
"telType": 1,
"description": null,
"expirationTime": 1652227200000,
"encrypt": 0,
"encryptType": 1
}
}
变更历史
变更时间 | 变更内容概要 |
---|---|
2024/04/18 |
请求参数新增encrypt(是否对电话号码进行加密)、encryptType(电话号码加密类型)两个字段用于支持电话号码加密 |
3.7.3. 删除黑白名单列表
POST /cc/delete_restrict_tel
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
restrictType |
Integer |
true |
呼叫限制类型 1:黑名单 2:白名单 |
tel |
String |
true |
号码 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
requestId |
string |
请求标识 |
示例
请求示例
https://api-bj.clink.cn/cc/delete_restrict_tel
&<公共请求参数>
POST请求体
{
"tel":"未知号码",
"restrictType":1
}
返回示例
{
"requestId": "05aae8d8-16b9-4cd4-81a6-dead45364b09",
"restrictTel": {
"restrictType": 1,
"tel": "未知号码"
}
}
3.7.4. 查看黑白名单配置
GET /cc/describe_restrict_tel_setting
请求参数
无
返回参数
名称 | 类型 | 描述 |
---|---|---|
requestId |
string |
请求标识 |
settingValue |
Integer |
0:不开启黑白名单 1:仅开启黑名单呼入 2:仅开启黑名单外呼 3:同时开启黑名单呼入外呼 4:仅开启白名单呼入 5:仅开启白名单外呼 6:同时开启白名单呼入外呼 |
示例
请求示例
https://api-bj.clink.cn/cc/describe_restrict_tel_setting
&<公共请求参数>
返回示例
{
"setting": {
"settingValue": 3
},
"requestId": "d0e1839a-735f-42ec-839b-87b50b76f2b6"
}
3.7.5. 更新黑白名单配置
POST /cc/update_restrict_tel_setting
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
settingValue |
Integer |
true |
0:不开启黑白名单 1:仅开启黑名单呼入 2:仅开启黑名单外呼 3:同时开启黑名单呼入外呼 4:仅开启白名单呼入 5:仅开启白名单外呼 6:同时开启白名单呼入外呼 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
requestId |
string |
请求标识 |
示例
请求示例
https://api-bj.clink.cn/cc/update_restrict_tel_setting
&<公共请求参数>
返回示例
{
"setting": {
"settingValue": 3
},
"requestId": "d0e1839a-735f-42ec-839b-87b50b76f2b6"
}
3.8. 全局设置
3.8.1. 查看满意度配置
GET /cc/investigation_setting
请求参数
无
返回参数
名称 | 类型 | 描述 |
---|---|---|
auto |
Integer |
自动执行开关,0:关闭、1:开启 |
autoIb |
Integer |
呼入自动执行开关,0:关闭、1:开启 |
autoOb |
Integer |
外呼自动执行开关,0:关闭、1:开启 |
请求示例
https://api-bj.clink.cn/cc/investigation_setting
&<公共请求参数>
返回示例
{
"requestId":"842ab2a6-3732-4c03-8ab7-c7f83180fb0c",
"setting":{
"auto": 0,
"autoIb": 1,
"autoOb": 1
}
}
3.8.2. 查询满意度模板列表
GET /cc/list_investigation
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
obClid |
String[] |
false |
外显号码 |
ivrId |
Integer[] |
false |
IVR导航ID (字段废弃) |
ivrName |
String[] |
false |
IVR导航名称 |
offset |
Integer |
false |
偏移量,范围 0-99990。默认值为 0。注:limit + offset 不允许超过100000 |
limit |
Integer |
false |
查询条数,范围 10-100。默认值为 10。注:limit + offset 不允许超过100000 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
investigations |
Object[] |
|
pageNumber |
Integer |
当前页码 |
pageSize |
Integer |
一页展示条数 |
totalCount |
Integer |
总条数 |
满意度模板列表
名称 | 类型 | 描述 |
---|---|---|
id |
Integer |
导航ID |
name |
String |
导航名称 |
remark |
String |
备注 |
ivrId[.line-through]# |
Integer[] |
关联IVR导航ID (字段废弃) |
ivrName |
String[] |
关联IVR导航名称 |
obClid |
String[] |
关联外显号码 |
updateTime |
Date |
修改时间 |
status |
Integer |
状态 1:启用 0:禁用 |
请求示例
https://api-bj.clink.cn/cc/list_investigation
&<公共请求参数>
返回示例
{
"requestId": "ba078ace-717c-4dea-af41-d4dd5035edd6",
"pageNumber": 1,
"pageSize": 10,
"totalCount": 1,
"investigations": [
{
"id": 6,
"name": "xxx",
"obClid": ["xxx","xxx","xxx"],
"ivrId": [666, 777, 888],
"ivrName": ["xxx", "xxx", "xxx"],
"status": 1,
"remark": "xxx",
"updateTime": "xxx"
}
]
}
3.9. 留言箱设置
3.9.1. 查看留言箱列表
GET /cc/list_voice_mails
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
offset |
Integer |
false |
偏移量,范围 0-99990。默认值为 0。注:limit + offset 不允许超过100000 |
limit |
Integer |
false |
查询条数,范围 10-100。默认值为 10。注:limit + offset 不允许超过100000 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
voiceMails |
Object[] |
|
pageNumber |
Integer |
当前页码 |
pageSize |
Integer |
一页展示条数 |
totalCount |
Integer |
总条数 |
留言箱记录列表
名称 | 类型 | 描述 |
---|---|---|
name |
String |
留言箱名 |
ownerType |
Integer |
留言箱类型,1:公共留言箱,2:队列私有留言箱,3:座席私有留言箱 |
owner |
String |
留言箱归属,type=1 时 owner 为空,type=2时 owner是队列,type=3时owner是座席 |
id |
Integer |
留言箱ID |
请求示例
https://api-bj.clink.cn/cc/list_voice_mails
&<公共请求参数>
返回示例
{
"requestId":"ba078ace-717c-4dea-af41-d4dd5035edd6",
"pageNumber":1,
"pageSize":10,
"totalCount":1,
"voiceMails":[
{
"name": "北方大区",
"ownerType": 1,
"owner": null,
"id": 1
}
]
}
3.10. 账户设置
3.10.1. 账户并发数查询
GET /cc/list_concurrent_info
请求参数
无
返回参数
名称 | 类型 | 描述 |
---|---|---|
concurrentInfo |
Object |
账户并发配置详情
名称 | 类型 | 描述 |
---|---|---|
ibRobotConcurrent |
Integer |
呼入机器人并发数 |
ibConcurrent |
Integer |
呼入并发 |
loginConcurrent |
Integer |
登录并发 |
webcallConcurrent |
Integer |
webcall并发 |
predictCallLicence |
Integer |
预测外呼座席数 |
predictCallConcurrent |
Integer |
预测外呼并发 |
agentLicence |
Integer |
呼叫座席数 |
请求示例
https://api-bj.clink.cn/cc/list_concurrent_info
返回示例
{
"requestId": "47ced624-9357-47d6-a1e6-d2da190b2f97",
"concurrentInfo": {
"ibRobotConcurrent": 0,
"ibConcurrent": 7000,
"loginConcurrent": 2005,
"webcallConcurrent": 0,
"predictCallLicence": 6,
"predictCallConcurrent": 0,
"agentLicence": 8020
}
}
4. 电话
4.1. 呼叫控制
4.1.1. 上线
POST /cc/online
请求参数
名称 | 类型 | 必填 | 说明 | 示例 |
---|---|---|---|---|
cno |
String |
true |
座席工号,长度为4-11个字符,必须全部为数字 |
10001 |
bindType |
Integer |
true |
电话类型 1:电话;2:IP话机 |
2 |
bindTel |
String |
true |
绑定电话 固话要求携带区号,长度为11个字符,必须全部为数字 IP话机长度为3-11个字符,必须全部为数字 |
10001 |
status |
Integer |
false |
登录状态,1:空闲;2:置忙,默认值为1 |
1 |
description |
String |
false |
置忙时的状态描述,长度为1-4个字符,登录状态为2时给定参数值,且需要提前在[系统设置-呼叫中心-置忙状态]中新增给定的置忙状态描述。 为空则使用[系统设置-呼叫中心-置忙状态]中的默认置忙状态。 |
小休 |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/online
&<公共请求参数>
POST 请求体
{
"cno":"10001",
"bindType":2,
"bindTel":10001,
"status":1
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
{
"requestId": "dbcb2db6-890c-4144-8457-25c5266f6514",
"error": {
"code": "OnlineFailure",
"message": "分机类型不正确"
}
}
4.1.2. 下线
POST /cc/offline
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
cno |
String |
true |
座席工号,长度为4-11个字符,必须全部为数字 |
10001 |
unbindTel |
Integer |
false |
下线时是否同时解绑电话,0:不解绑;1:解绑,默认值为0 |
0 |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/offline
&<公共请求参数>
POST 请求体
{
"cno":"10001",
"unbindTel":0
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
{
"requestId": "1248236c-7d1a-4405-a52c-723ec072cca9",
"error": {
"code": "OfflineFailure",
"message": "座席没有登录"
}
}
4.1.3. 置忙
POST /cc/pause
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
cno |
String |
true |
座席工号,长度为4-11个字符,必须全部为数字 |
10001 |
description |
String |
false |
置忙原因,如果是自定义状态,则状态描述需包含在企业自定义的置忙状态内,默认描述为置忙 |
置忙 |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/pause
&<公共请求参数>
POST 请求体
{
"cno":"0000",
"description":"置忙"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
4.1.4. 置闲
POST /cc/unpause
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
cno |
String |
true |
座席工号,长度为4-11个字符,必须全部为数字 |
10001 |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/unpause
&<公共请求参数>
POST 请求体
{
"cno":"0000"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
4.1.5. 外呼
POST /cc/callout
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
cno |
String |
true |
座席工号,长度为4-11个字符,必须全部为数字 |
10001 |
customerNumber |
String |
true |
客户电话,固话类型需要添加区号,手机类型不加 0,固话带IP话机以 “-” 分隔。 如果企业开启号码隐藏功能,可从弹屏事件中获取customerNumberKey的值,进行外呼 |
固话:0218917xxxx 固话带分机:0218917xxxx-1234 手机:156xxxx8888 |
requestUniqueId |
String |
false |
自定义请求id,如果传了这个参数那么将返回传入值,如果未传该值,那么系统将自动生成一个,每次通话请求该值唯一 |
5cd5dc3edfc2732f7c442a0de5dfersf |
type |
Integer |
false |
外显方式,0:指定外显号码;1:指定外呼标识 |
0 |
clid |
String |
false |
指定的外显号码 |
0218917xxxx |
clidGroupName |
String |
false |
指定的外呼标识名称 |
|
clientTimeout |
Integer |
false |
呼叫座席侧超时时间,取值范围 5-60s,默认 30s |
30 |
customerTimeout |
Integer |
false |
呼叫客户侧超时时间,取值范围 5-60s,默认 45s |
45 |
userField |
String |
false |
用户自定义变量,userField处理示例 1. 将对象数据转化为json格式字符串,例如:{"key":"value"} 2. 将字符进行UrlEncode 3. 系统指定的key 指定的key 传入的值若需要在通话记录中进行展示,则需要在[系统设置-呼叫中心-系统对接-话单变量]中配置相应属性 |
|
bindTel |
String |
false |
bindTel:临时绑定电话,绑定设备类型仅支持手机;用户可临时改变座席的绑定设备,如果此参数为空,则使用座席上线时绑定的设备进行外呼,如果传入号码,则座席外呼时使用新传递的号码作为绑定设备进行外呼。 |
userField处理示例
public class UserFieldTest {
public static void main(String[] args) throws Exception {
ObjectMapper mapper = new ObjectMapper();
// 原始对象
Map<String, Object> userFieldMap = new HashMap<>(16);
userFieldMap.put("key", "value");
// 对象转为json格式的字符串:{"key":"value"}
String userField = mapper.writeValueAsString(userFieldMap);
// 将字符串进行URLEncoder:%7B%22key%22%3A%22value%22%7D
String encodeUserField = URLEncoder.encode(userField, StandardCharsets.UTF_8.name());
}
}
指定的key
userField字段json格式字符串中包含以下key时,会自动创建对应的话单变量。
名称 | 描述 |
---|---|
cc_ticket_id |
话单关联的工单ID |
cc_business_id |
话单关联的业务记录ID |
返回参数
名称 | 类型 | 描述 |
---|---|---|
cno |
String |
座席工号,长度为4-11个字符,全部为数字 |
customerNumber |
String |
客户电话,固话类型需要添加区号,手机类型不加 0,固话带IP话机以 “-” 分隔。 如果企业开启号码隐藏功能,可从弹屏事件中获取customerNumberKey的值,进行外呼 |
requestUniqueId |
String |
自定义请求id |
示例
请求示例
https://api-bj.clink.cn/cc/callout
&<公共请求参数>
POST 请求体
{
"cno":"0000",
"customerNumber":"132xxxx6534",
"clid":"0218917xxxx"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b",
"result":{
"cno":"0000",
"customerNumber":"132xxxx6534",
"requestUniqueId":"1234567"
}
}
{
"requestId": "9179d2fd-686e-4f96-8785-2273b55c3b97",
"error": {
"code": "CalloutFailure",
"message": "座席不存在"
}
}
返回错误码
以下为本接口特有的错误码。更多错误码,请查看错误码说明。
code | HTTP Status | message |
---|---|---|
CalloutFailure |
400 |
企业没有开启外呼权限 |
企业状态错误 |
||
座席状态异常 |
||
座席不存在 |
||
座席不在线 |
||
当前为预测外呼模式,请切换为正常模式后再拨打电话 |
||
座席忙 |
||
该ID无真实数据,无法呼叫 |
||
无效号码 |
||
参数错误 |
||
企业未开启国际长途功能 |
||
客户号码错误 |
||
外呼失败:未识别到号码归属地信息 |
||
该号码在企业的呼出黑名单中 |
||
该号码不在企业呼出白名单中 |
||
请联系管理员加入“测试白名单”后,再进行呼叫 |
||
座席没有外呼权限 |
||
备用号码错误 |
||
备用号码在黑名单 |
||
座席没有外呼备用号码权限 |
||
未获取话机注册信息 |
||
获取路由错误 |
||
获取座席侧外显号码错误 |
||
userField格式错误 |
||
userField每个属性的值不能超过1000个字符 |
||
外呼标识必须为数字 |
||
获取外显号码错误 |
||
中继群组访问受限 |
||
无可用外显号码,请联系技术支持 |
||
点击外呼异常 |
||
点击外呼失败 |
||
InvalidParameter |
400 |
参数[clid]不能为空 |
传入的参数不合法,请重试 |
4.1.6. 外呼取消
POST /cc/callout_cancel
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
cno |
String |
true |
座席工号,长度为4-11个字符,必须全部为数字 |
10001 |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/callout_cancel
&<公共请求参数>
POST 请求体
{
"cno":"0000"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
4.1.7. 网上回呼
POST /cc/webcall
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
customerNumber |
String |
true |
客户电话,固话类型需要添加区号,手机类型不加 0,固话带IP话机以 “-” 分隔。 |
固话:0218917xxxx 固话带分机:0218917xxxx-1234 手机:132xxxx6534 |
requestUniqueId |
String |
false |
自定义请求id,如果传了这个参数那么将返回传入值,如果未传该值,那么系统将自动生成一个,每次通话请求该值唯一 |
5cd5dc3edfc2732f7c442a0de5df |
amd |
Integer |
false |
自动应答检查(传真机等),0:不开启;1:开启,默认为:0 |
0 |
delay |
Integer |
false |
延迟时长,参数取值范围:取值范围 0-60s,默认0s |
0 |
clidType |
Integer |
false |
外显方式,0:指定外显号码;1:指定外呼标识 |
0 |
clid |
String |
false |
指定的外显号码 |
0218917xxxx |
clidGroupName |
String |
false |
指定的外呼标识名称 |
|
ivrId |
Integer |
false |
语音导航id (字段废弃),回呼接通后进入的语音导航id |
|
ivrName |
String |
false |
语音导航名称,回呼接通后进入的语音导航名称 |
|
params |
String |
false |
[动态附带参数],json数组格式字符串,例如:[{"name":"","type":1,"value":""}],需要进行urlEncode。参数会写入通道中,以便语音导航中调用。参数名建议使用user_开头 |
动态附带参数详细
名称 | 类型 | 描述 |
---|---|---|
name |
String |
参数名 |
type |
Integer |
参数类型,1:普通参数,2:需要tts转换的文本参数 |
value |
String |
参数值 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
requestUniqueId |
String |
自定义请求id |
示例
请求示例
https://api-bj.clink.cn/cc/webcall
&<公共请求参数>
POST 请求体
{
"customerNumber":"138xxxx4523",
"ivrName":"Abc",
"requestUniqueId":"5cd5dc3edfc2732f7c442a0de5df4edfs",
"params":"%5B%7B%22name%22%3A%22user_key1%22%2C%22type%22%3A2%2C%22value%22%3A%22value1%22%7D%2C%7B%22name%22%3A%22user_key2%22%2C%22type%22%3A1%2C%22value%22%3A%22welcom%22%7D%5D"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b",
"result":{
"requestUniqueId":"5cd5dc3edfc2732f7c442a0de5df4edfs"
}
}
{
"requestId": "9179d2fd-686e-4f96-8785-2273b55c3b97",
"error": {
"code": "UserParamsError",
"message": "动态附带参数错误"
}
}
返回错误码
以下为本接口特有的错误码。更多错误码,请查看错误码说明。
code | HTTP Status | message |
---|---|---|
EnterpriseStatusError |
400 |
企业状态错误 |
CustomerNumberError |
400 |
客户号码错误 |
UserParamsError |
400 |
动态附带参数错误 |
ClidLeftNumberError |
400 |
客户侧外显号码错误 |
ObConcurrentOverlimit |
400 |
外呼并发超限 |
变更历史
变更时间 | 变更内容概要 |
---|---|
2023/12/23 |
请求参数ivrId字段废弃,不再维护。 |
4.1.8. 挂机
POST /cc/unlink
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
cno |
String |
true |
座席工号,长度为4-11个字符,必须全部为数字 |
10010 |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/unlink
&<公共请求参数>
POST 请求体
{
"cno":"0000"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
4.1.9. 拒接
POST /cc/refuse
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
cno |
String |
true |
座席工号,长度为4-11个字符,必须全部为数字 |
10010 |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/refuse
&<公共请求参数>
POST 请求体
{
"cno":"0000"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
4.1.10. 转移
POST /cc/transfer
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
cno |
String |
true |
座席工号,长度为4-11个字符,必须全部为数字 |
10010 |
transferType |
Integer |
true |
转移类型,0:电话号码;1:座席号;2:IP话机号;3:语音导航节点;4:语音导航名称 |
1 |
transferNumber |
String |
true |
||
hold |
Integer |
false |
座席保持通话,1:保持,0:不保持,默认不保持。仅转移类型为语音导航节点、语音导航名称时,支持保持通话功能 |
0 |
clid |
String |
false |
当转移类型为0时生效,表示为指定的外显号码 |
0218917xxxx |
转移对象详细
transferType | transferNumber |
---|---|
0 |
电话号码 |
1 |
座席号 |
2 |
IP话机号 |
3 |
语音导航节点,json格式字符串,例如:{\"ivrName\":\"XXX\", \"ivrNode\":\"XXXXXXXXX\"} |
4 |
语音导航名称 |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/transfer
&<公共请求参数>
POST 请求体
{
"cno":"0000",
"transferType":0,
"transferNumber":"138xxxx8888"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
4.1.11. 交互
POST /cc/interact
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
cno |
String |
true |
座席工号,长度为4-11个字符,必须全部为数字 |
ivrId |
Integer |
true |
语音导航id (字段废弃) |
ivrName |
String |
true |
语音导航名称 |
ivrNode |
String |
false |
语音导航节点,如果不传此值则从语音导航的根节点开始 |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/interact
&<公共请求参数>
POST 请求体
{
"cno":"0000",
"ivrName":"xxx"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
4.1.12. 咨询
POST /cc/consult
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
cno |
String |
true |
座席工号,长度为4-11个字符,必须全部为数字 |
consultType |
Integer |
true |
咨询类型,0:电话号码;1:座席号;2:IP话机号 |
consultNumber |
String |
true |
|
clid |
String |
false |
当咨询类型为0时生效,表示为指定的外显号码 |
咨询对象详细
consultType | consultNumber对应值 |
---|---|
0 |
电话号码 |
1 |
座席号 |
2 |
IP话机号 |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/consult
&<公共请求参数>
POST 请求体
{
"cno":"0000",
"consultType":0,
"consultNumber":"138xxxx8888"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
4.1.13. 咨询取消
POST /cc/consult_cancel
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
cno |
String |
true |
座席工号,长度为4-11个字符,必须全部为数字 |
10010 |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/consult_cancel
&<公共请求参数>
POST 请求体
{
"cno":"0000"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
4.1.14. 咨询转移
POST /cc/consult_transfer
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
cno |
String |
true |
座席工号,长度为4-11个字符,必须全部为数字 |
10010 |
limitTimeSecond |
Integer |
false |
通话限制时间,单位:秒 |
10 |
limitTimeAlertSecond |
Integer |
false |
提前提醒时间,单位:秒 |
5 |
limitTimeFile |
String |
false |
提醒语音文件名称 |
1_minute_left(具体语音文件名称请联系技术支持) |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/consult_transfer
&<公共请求参数>
POST 请求体
{
"cno":"0000"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
4.1.15. 咨询三方
POST /cc/consult_threeway
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
cno |
String |
true |
座席工号,长度为4-11个字符,必须全部为数字 |
10010 |
limitTimeSecond |
Integer |
false |
通话限制时间,单位:秒 |
10 |
limitTimeAlertSecond |
Integer |
false |
提前提醒时间,单位:秒 |
5 |
limitTimeFile |
String |
false |
提醒语音文件名称 |
1_minute_left(具体语音文件名称请联系技术支持) |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/consult_threeway
&<公共请求参数>
POST 请求体
{
"cno":"0000"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
4.1.16. 咨询接回
POST /cc/unconsult
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
cno |
String |
true |
座席工号,长度为4-11个字符,必须全部为数字 |
10010 |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/unconsult
&<公共请求参数>
POST 请求体
{
"cno":"0000"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
4.1.17. 咨询三方接回
POST /cc/consult_unthreeway
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
cno |
String |
true |
座席工号,长度为4-11个字符,必须全部为数字 |
10010 |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/consult_unthreeway
&<公共请求参数>
POST 请求体
{
"cno":"0000"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
4.1.18. 保持
POST /cc/hold
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
cno |
String |
true |
座席工号,长度为4-11个字符,必须全部为数字 |
10010 |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/hold
&<公共请求参数>
POST 请求体
{
"cno":"0000"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
4.1.19. 取消保持
POST /cc/unhold
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
cno |
String |
true |
座席工号,长度为4-11个字符,必须全部为数字 |
10010 |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/unhold
&<公共请求参数>
POST 请求体
{
"cno":"0000"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
4.1.20. 静音
POST /cc/mute
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
cno |
String |
true |
座席工号,长度为4-11个字符,必须全部为数字 |
10010 |
direction |
String |
true |
静音类型,in:座席侧静音,out:客户侧静音,all:双方全静音 |
in |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/mute
&<公共请求参数>
POST 请求体
{
"cno":"0000",
"direction":"all"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
4.1.21. 取消静音
POST /cc/unmute
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
cno |
String |
true |
座席号 |
10010 |
direction |
String |
true |
静音类型,in:取消座席侧静音,out:取消客户侧静音,all:双方全取消静音 |
in |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/unmute
&<公共请求参数>
POST 请求体
{
"cno":"0000",
"direction":"all"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
4.1.22. 发送按键
POST /cc/dtmf
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
cno |
String |
true |
座席工号,长度为4-11个字符,必须全部为数字 |
10010 |
digits |
String |
true |
按键值,数字类型的字符串,最大20位 |
0123 |
direction |
String |
true |
发送按键方向,in:座席侧;out:客户侧,all:双方 |
in |
duration |
Integer |
false |
按键持续毫秒数,取值100-500之间,默认值 100 |
100 |
gap |
Integer |
false |
按键之间间隔毫秒数,取值250-1000之间,默认值 250 |
250 |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/dtmf
&<公共请求参数>
POST 请求体
{
"cno":"0000",
"digits":"0123",
"direction":"all"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
4.1.23. 满意度调查
POST /cc/investigation
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
cno |
String |
true |
座席工号,长度为4-11个字符,必须全部为数字 |
10010 |
investigationId |
Integer |
false |
满意度导航ID (字段废弃) |
|
investigationName |
String |
false |
满意度导航名称 |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/investigation
&<公共请求参数>
POST 请求体
{
"cno":"0000"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
4.2. 呼叫管理
4.2.1. 监听
POST /cc/spy
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
cno |
String |
true |
被监听座席号 |
spyType |
Integer |
true |
监听类型 |
spyNumber |
String |
true |
监听对象详细
spyType | spyNumber |
---|---|
0 |
电话号码 |
1 |
座席号 |
2 |
IP话机号 |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/spy
&<公共请求参数>
POST 请求体
{
"cno":"0000",
"spyType":0,
"spyNumber":"138xxxx8888"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
4.2.2. 三方
POST /cc/threeway
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
cno |
String |
true |
被三方座席号 |
threewayType |
Integer |
true |
三方类型 |
threewayNumber |
String |
true |
三方对象详细
threewayType | threewayNumber |
---|---|
0 |
电话号码 |
1 |
座席号 |
2 |
IP话机号 |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/threeway
&<公共请求参数>
POST 请求体
{
"cno":"0000",
"threewayType":0,
"threewayNumber":"138xxxx8888"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
4.2.3. 耳语
POST /cc/whisper
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
cno |
String |
true |
被耳语座席号 |
whisperType |
Integer |
true |
耳语类型 |
whisperNumber |
String |
true |
耳语对象详细
whisperType | whisperNumber |
---|---|
0 |
电话号码 |
1 |
座席号 |
2 |
IP话机号 |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/whisper
&<公共请求参数>
POST 请求体
{
"cno":"0000",
"whisperType":0,
"whisperNumber":"138xxxx8888"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
4.2.4. 强拆
POST /cc/disconnect
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
cno |
String |
true |
被强拆座席号 |
disconnectType |
Integer |
true |
强拆类型 |
disconnectNumber |
String |
true |
强拆对象详细
disconnectType | disconnectNumber |
---|---|
0 |
电话号码 |
1 |
座席号 |
2 |
IP话机号 |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/disconnect
&<公共请求参数>
POST 请求体
{
"cno":"0000",
"disconnectType":0,
"disconnectNumber":"138xxxx8888"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
4.2.5. 强插
POST /cc/barge
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
cno |
String |
true |
被强插座席号 |
bargeType |
Integer |
true |
强插类型 |
bargeNumber |
String |
true |
强插对象详细
bargeType | bargeNumber |
---|---|
0 |
电话号码 |
1 |
座席号 |
2 |
IP话机号 |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/barge
&<公共请求参数>
POST 请求体
{
"cno":"0000",
"bargeType":0,
"bargeNumber":"138xxxx8888"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
4.2.6. 置忙
POST /cc/pause_client
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
cno |
String |
true |
被置忙的座席号 |
operator |
String |
false |
触发此置忙事件的对象 |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/pause_client
&<公共请求参数>
POST 请求体
{
"cno":"0000"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
4.2.7. 置闲
POST /cc/unpause_client
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
cno |
String |
true |
被置闲的座席号 |
operator |
String |
false |
触发此置闲事件的对象 |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/unpause_client
&<公共请求参数>
POST 请求体
{
"cno":"0000"
}
返回示例
{
"requestId":"5f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
4.3. 号码申诉记录
4.3.1. 号码申诉
POST /cc/number_appeal
请求示例
https://api-bj.clink.cn/cc/number_appeal
&<公共请求参数>
------WebKitFormBoundaryOr9QRWfnHXqngnif
Content-Disposition: form-data; name="model"
{"customerNumber":"192xxxx1010", "appealReason":"客户回访" }
------WebKitFormBoundaryOr9QRWfnHXqngnif
Content-Disposition: form-data; name="file"; filename="客户回访.xlsx"
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
model |
String |
true |
请求实体对象JSON字符串 号码申诉的model 参数详情 |
file |
File |
false |
申诉凭证。 |
号码申诉的model 参数详情
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
customerNumber |
String |
true |
客户号码 |
appealReason |
String |
true |
申诉理由 (成交客户、客户回访、服务通知、成交意向客户、内部或客户伙伴沟通、其他) |
appealDescribe |
String |
false |
申诉描述 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
code |
Integer |
-1:失败,0:成功 |
message |
String |
返回信息 |
返回示例
{
"requestId": "cdab1851-5426-44e5-8d5e-bb06c085cff1",
"code": 0
}
4.3.2. 查询申诉进度
GET /cc/list_number_appeal
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
customerNumber |
String |
false |
客户号码 |
appealStatus |
Integer |
false |
申诉状态 1:审核通过,2:打回,3:未审核 |
appealReason |
String |
false |
申诉理由 (成交客户、客户回访、服务通知、成交意向客户、内部或客户伙伴沟通、其他) |
startTime |
String |
true |
申诉时间 的 开始时间,格式: "2021-01-01 01:01:01" |
endTime |
String |
true |
申诉时间 的 结束时间,格式: "2021-01-01 01:01:01" |
offset |
Integer |
false |
偏移量,范围 0-99990。默认值为 0。注:limit + offset 不允许超过100000 |
limit |
Integer |
false |
查询条数,范围 10-100。默认值为 10。注:limit + offset 不允许超过100000 |
返回字段
名称 | 类型 | 描述 |
---|---|---|
numberAppeals |
Object[] |
|
pageNumber |
Integer |
当前页码 |
pageSize |
Integer |
一页展示条数 |
totalCount |
Integer |
总条数 |
号码申诉记录列表
名称 | 类型 | 描述 |
---|---|---|
addTime |
Date |
申诉时间 |
appealReason |
String |
申诉原因 |
customerNumber |
String |
客户号码 |
fileName |
String |
申诉凭证 |
freezeReasonName |
String |
冻结原因 |
rebikeReason |
String |
打回原因 |
status |
Integer |
申诉状态,1:通过,2:打回,3:未审核 |
transactTime |
Date |
审核时间 |
示例
请求示例
https://api-bj.clink.cn/cc/list_number_appeal?
offset=0
&limit=10
&startTime=2021-05-25%2000:00:00
&endTime=2021-05-25%2023:59:59
&appealStatus=1
&appealReason=%E5%AE%A2%E6%88%B7%E5%9B%9E%E8%AE%BF
&<公共请求参数>
返回示例
{
"requestId": "ba078ace-717c-4dea-af41-d4dd5035edd6",
"pageNumber": 1,
"pageSize": 10,
"totalCount": 1,
"numberAppeals": [
{
"addTime": 1616392440978,
"appealReason": "测试消息请忽略",
"customerNumber": "138xxxx8888",
"fileName": "https://demo.com/demo.png",
"freezeReasonName": "呼叫过频",
"rebikeReason": "凭证不清",
"status": 2,
"transactTime": 1616392740978
}
]
}
4.3.3. SRS号码申诉
POST /cc/srs_number_appeal
请求示例
https://api-bj.clink.cn/cc/srs_number_appeal
&<公共请求参数>
POST 请求体
{
"numberAppeals": [
{
"customerNumber": "133xxxx2312",
"comment": "测试xxx",
"whiteType": 1
},
{
"customerNumber": "133xxxx2313",
"comment": "测试xxx",
"whiteType": 1
}
]
}
请求参数
名称 |
类型 |
必填 |
描述 |
numberAppeals |
Array |
true |
待添加白名单列表 号码申诉的numberAppeals参数详情 |
号码申诉的numberAppeals参数详情
名称 |
类型 |
必填 |
描述 |
customerNumber |
String |
true |
客户号码 |
comment |
String |
false |
备注 |
whiteType |
Integer |
true |
白名单类型 1-意向客户 2-成交客户 3-回访客户 4-黑名单解禁 5-测试号码 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
code |
Integer |
-1:失败,0:成功 |
message |
String |
返回信息 |
返回示例
{
"requestId": "cdab1851-5426-44e5-8d5e-bb06c085cff1",
"code": 0
}
5. 增值功能
5.1. 发送短信
POST /cc/sms_send
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
cno |
String |
false |
座席工号,长度为4-11个字符,必须全部为数字 |
adminId |
Integer |
false |
管理员id (字段废弃) |
adminUsername |
String |
false |
管理员用户名 |
tel |
String |
true |
客户号码,必须是手机号 |
content |
String |
true |
短信内容 |
customerId |
Integer |
false |
需要关联的客户资料id |
示例
请求示例
https://api-bj.clink.cn/cc/sms_send
&<公共请求参数>
POST 请求体
{
"cno":"0000",
"tel":"138xxxx8888",
"content":"短信内容"
}
返回示例
{
"requestId":"1f058c02-14a4-43e9-821c-0ec7cbb90c1b"
}
5.2. 短信模板
GET /cc/list_sms_templates
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
status |
Integer |
false |
审核状态。取值范围如下: 1: 审核中 2: 审核通过 3: 审核未通过 默认全部 |
2 |
name |
String |
false |
模板名称 |
模板名称 |
startTime |
Long |
true |
时间范围,开始时间,秒级时间戳 |
1722441600 |
endTime |
Long |
true |
时间范围,结束时间,秒级时间戳 |
1722527999 |
offset |
Integer |
false |
偏移量,范围 0-99990。默认值为 0。注:limit + offset 不允许超过100000 |
0 |
limit |
Integer |
false |
查询条数,范围 10-100。默认值为 10。注:limit + offset 不允许超过100000 |
10 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
requestId |
String |
请求唯一ID |
smsTemplates |
Object[] |
|
pageNumber |
Integer |
当前页码 |
pageSize |
Integer |
一页展示条数 |
totalCount |
Integer |
总条数 |
短信模板列表
名称 | 类型 | 描述 |
---|---|---|
name |
String |
模板名称 |
content |
String |
模板内容 |
copTemplateId |
String |
模板ID |
status |
Integer |
审核状态 1: 审核中 2: 审核通过 3: 审核未通过 |
comment |
String |
打回原因 |
createTime |
Long |
创建时间 |
示例
请求示例
https://api-bj.clink.cn/cc/list_sms_templates?
startTime=1722441600&endTime=1722527999&status=2&offset=0&limit=10
返回示例
{
"pageNumber": 1,
"requestId": "9a100005-26f5-xxxx-xxxx-78208baa7d5c",
"pageSize": 10,
"smsTemplates": [
{
"name": "测试模板1",
"content": "模板内容",
"copTemplateId": "123",
"status": 2,
"comment": "打回原因",
"createTime": 1715754655000
},
{
"name": "测试模板2",
"content": "模板内容",
"copTemplateId": "123",
"status": 2,
"comment": "打回原因",
"createTime": 1715237555000
}
],
"totalCount": 2
}
5.3. 短信记录
GET /cc/list_sms
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
type |
Integer |
false |
短信类别。取值范围如下: 1: 呼入挂机短信 2: 外呼挂机短信 3: 座席提醒短信 4: 座席发送短信 5: 工单通知短信 6: 语音导航短信 7: 管理员发送短信 8: 视频客服邀请短信 9: 询前表单验证码短信 10: 企微名片短信 11: 闪信 默认全部 |
1 |
senderName |
String |
false |
发信人 |
发信人 |
receiverNameOrTel |
String |
false |
收信人或收信人手机号码 |
收信人 |
status |
Integer |
false |
发送结果。取值范围如下: 0: 发送成功 1: 发送失败 2: 发送中 默认全部 |
0 |
hiddenType |
Integer |
false |
是否隐藏号码。 0: 不隐藏,1: 中间四位,2: 最后八位,3: 全部号码,4: 最后四位。默认值为 0 |
0 |
startTime |
Long |
true |
时间范围,开始时间,秒级时间戳,默认当天 |
1722441600 |
endTime |
Long |
true |
时间范围,结束时间,秒级时间戳,默认当天 |
1722527999 |
offset |
Integer |
false |
偏移量,范围 0-99990。默认值为 0。注:limit + offset 不允许超过100000 |
0 |
limit |
Integer |
false |
查询条数,范围 10-100。默认值为 10。注:limit + offset 不允许超过100000 |
10 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
requestId |
String |
请求唯一ID |
smsRecords |
Object[] |
|
pageNumber |
Integer |
当前页码 |
pageSize |
Integer |
一页展示条数 |
totalCount |
Integer |
总条数 |
短信记录列表
名称 | 类型 | 描述 |
---|---|---|
id |
String |
记录唯一ID |
senderId |
String |
发信人ID |
senderName |
String |
发信人 |
receiverName |
String |
收信人 |
tel |
String |
收信人电话 |
telEncrypt |
String |
收信人电话加密串 |
templateName |
Long |
短信模板名称 |
content |
String |
短信内容 |
amount |
String |
实际条数 |
type |
Integer |
短信类别 |
status |
String |
发送结果 |
description |
String |
结果描述 |
createTime |
Long |
创建时间 |
示例
请求示例
https://api-bj.clink.cn/cc/list_sms?
startTime=1722441600&endTime=1722527999&offset=0&limit=10
返回示例
{
"pageNumber": 1,
"requestId": "9a100005-26f5-xxxx-xxxx-78208baa7d5c",
"pageSize": 10,
"smsRecords": [
{
"id": "id",
"senderId": "发信人ID",
"senderName": "发信人",
"receiverName": "收信人名称",
"tel": "138xxxxxxxx",
"telEncrypt": "收信人电话加密串",
"content": "短信内容",
"amount": 0,
"type": 5,
"status": -1,
"description": "运营商拦截",
"createTime": 1722851131,
"templateName": "短信模板名称"
}
],
"totalCount": 1
}
5.4. 手机号码状态检测
GET /cc/phone_status
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
tel |
String |
true |
手机号码,必须是手机号 |
encrypt |
Integer |
false |
加密传输,0:不加密;1:加密,默认不加密。 加密逻辑可参考SDK中EncryptUtil工具类aesEncrypt方法。 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
status |
String |
号码状态, NORMAL:正常; SHUTDOWN:停机; NOT_EXIST:空号; POWER_OFF:关机; BUSY:忙(正在通话中); CALL_FORWARDING:呼叫转移; VIRTUAL_NUMBER:虚拟小号; NUMBER_PORTABILITY:携号转网; SUSPECTED_POWER_OFF:疑似关机(一定几率接通); FUNCTIONAL_SHUTDOWN:功能性停机; UNKNOWN:未知; |
carrier |
String |
运营商,CMCC:中国移动;CUCC:中国联通,CTCC:中国电信 |
province |
String |
号码省份 |
city |
String |
号码地区 |
areaCode |
String |
号码区号 |
示例
请求示例
https://api-bj.clink.cn/cc/phone_status?tel=130xxxx0000
&<公共请求参数>
返回示例
{
"requestId": "1f058c02-14a4-43e9-821c-0ec7cbb90c1b",
"phoneStatus": {
"status": "NORMAL",
"carrier": "CTCC",
"province": "北京",
"city": "北京",
"areaCode": "010"
}
}
5.5. 号码风险预检测
GET /cc/srs_pre_check_rm
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
customerNumber |
String |
true |
客户号码,手机或固话 |
obClid |
String |
false |
指定的外显号码 |
cno |
String |
false |
座席号 |
trunkGroupKey |
String |
false |
中继群组id |
requestUniqueId |
String |
false |
自定义请求唯一标识 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
requestId |
String |
默认参数,和requestUniqueId不同 |
permited |
Boolean |
外呼结果,true表示允许外呼,false表示不允许外呼 |
示例
请求示例
https://api-bj.clink.cn/cc/srs_pre_check_rm?customerNumber=187xxxx820&obClid=0213xxxxx69
&<公共请求参数>
返回示例
{
"requestId": "1f058c02-14a4-43e9-821c-0ec7cbb90c1b",
"permited": true
}
6. 数据
为了提升服务质量,我们的接口已升级至新版本。新版本在数据处理和性能上更为出色,因此旧版本将停止维护。请尽快迁移到新版本,以确保您的应用程序持续获得最佳支持和性能。历史接口文档已归档在 历史版本接口归档,感谢您的理解与配合。
6.1. 呼入通话记录
6.1.1. 查询客户来电记录列表
GET /cc/list_cdr_ib
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
startTime |
Long |
false |
开始时间,时间戳格式精确到秒。默认值取当前月份第一天 |
1708398399 |
startTimeEnd |
Long |
false |
开始时间查询截止,时间戳格式精确到秒,开始时间和结束时间跨度不能超过一个月。默认值取当前时间 |
1708398399 |
bridgeTime |
Long |
false |
接听时间,时间戳格式精确到秒。 |
1708398400 |
bridgeTimeEnd |
Long |
false |
接听时间查询截止,时间戳格式精确到秒。 |
1708398400 |
endTime |
Long |
false |
结束时间,时间戳格式精确到秒。 |
1708398412 |
endTimeEnd |
Long |
false |
结束时间查询截止,时间戳格式精确到秒。 |
1708398412 |
hiddenType |
Integer |
false |
是否隐藏号码。 0: 不隐藏,1: 中间四位,2: 最后八位,3: 全部号码,4: 最后四位。默认值为 0 |
0 |
bridgeDuration |
Integer |
false |
通话时长范围查询最小值,和bridgeDurationEnd配合使用 |
0 |
bridgeDurationEnd |
Integer |
false |
通话时长范围查询最大值 |
120 |
totalDuration |
Integer |
false |
总时长范围查询最小值,和totalDurationEnd配合使用 |
0 |
totalDurationEnd |
Integer |
false |
总时长范围查询最大值 |
120 |
cnos |
String[] |
false |
座席号 |
0001,0002 |
qnos |
String[] |
false |
队列号 |
0001,0002 |
firstCallCno |
String[] |
false |
首呼座席 |
0001,0002 |
firstCallQno |
String[] |
false |
首呼队列 |
0001,0002 |
firstCallNumber |
String |
false |
首呼座席电话 |
156xxxx8888 |
clientNumber |
String |
false |
座席电话 |
156xxxx8888 |
customerNumber |
String |
false |
客户号码 |
138xxxx8888 |
hotlines |
String[] |
false |
热线号码 |
0100003xxxx,01026xxxxx6 |
hotlineName |
String |
false |
热线别名 |
热线别名 |
xnumber |
String[] |
false |
虚拟号码 |
0100003xxxx,01026xxxxx6 |
statuses |
Integer[] |
false |
接听状态。取值范围如下: 1: 人工接听 2: 人工未接听 3: 系统应答 4: 系统未应答 默认全部 |
1 |
statusResult |
Integer[] |
false |
呼叫结果。配合接听状态为人工未接听和系统应答时做级联查询,取值范围如下: 1: 已进入留言 2: 客户速挂 3: 座席拒接 4: 振铃未接 8: IVR中放弃 9: 已进IVR 10: 未进IVR 11: 队列中放弃 12: 队列中溢出 默认全部 |
1 |
onHookSource |
Integer[] |
false |
挂断方,默认查询全部。说明参考通用字段 |
1000 |
callRemember |
Integer[] |
false |
主叫记忆。取值范围如下: 1: 外呼主叫记忆 2: 来电主叫记忆 |
1 |
statusRobot |
Integer[] |
false |
机器人接听状态。取值范围如下: 1: 机器人未应答 2: 机器人应答 |
2 |
investigationKeys |
Integer |
false |
满意度评价 |
1 |
province |
String |
false |
客户归属地省份 |
北京 |
city |
String |
false |
客户归属地城市 |
北京 |
agentAnswerInTime |
Integer |
false |
首次及时应答。取值范围如下: 0: 否 1: 是 默认全部 |
0 |
evaluation |
Integer |
false |
是否邀评。取值范围如下: 0: 否 1: 是 默认全部 |
0 |
userField |
String |
false |
自定义字段 |
{"xxx1": "","xxx2": ""} |
mainUniqueId |
String |
false |
通话记录唯一标识 |
medias_1-162046xxxx.12 |
existTicket |
Integer |
false |
工单有无。取值范围如下: 0: 无 1: 有 默认全部 |
0 |
existBusiness |
Integer |
false |
业务记录有无。取值范围如下: 0: 无 1: 有 默认全部 |
0 |
isRtcCall |
Integer |
false |
是否为RTC通话。取值范围如下: 1: 是 0: 否 默认全部 |
0 |
bindTypes |
Integer[] |
false |
接听设备。取值范围如下: 1: 手机 2: IP话机 3: 软电话 默认全部 |
1 |
scrollSearch |
boolean |
false |
是否滚动查询。默认false,true代表使用滚动查询。 |
false |
scrollId |
String |
false |
滚动查询ID。配合scrollSearch使用,第一次查询时不需要传递此参数,后续查询可从返回列表中取值,并传参数。当scrollId为空时,代表滚动查询结束。 |
xxxxxx |
offset |
Integer |
false |
偏移量,范围 0-99990。默认值为 0。注:limit + offset 不允许超过100000 |
0 |
limit |
Integer |
false |
查询条数,范围 10-100。默认值为 10。注:limit + offset 不允许超过100000 |
10 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
cdrIb |
Object[] |
|
scrollId |
String |
滚动查询ID |
pageNumber |
Integer |
当前页码 |
pageSize |
Integer |
一页展示条数 |
totalCount |
Integer |
总条数 |
客户来电记录列表
名称 | 类型 | 描述 |
---|---|---|
customerNumber |
String |
客户号码 |
customerNumberEncrypt |
String |
客户号码加密串 |
customerProvince |
String |
客户号码省份 |
customerCity |
String |
客户号码城市 |
firstCallNumber |
String |
首呼座席电话 |
firstCallCno |
String |
首呼座席工号 |
firstCallCname |
String |
首呼座席姓名 |
firstCallQno |
String |
首呼队列号 |
firstCallQname |
String |
首呼队列名称 |
ivrName |
String |
IVR名称 |
hotline |
String |
热线号码 |
hotlineName |
String |
热线别名 |
xnumber |
String |
虚拟号码 |
status |
String |
接听状态 |
statusResult |
String |
呼叫结果 |
statusRobot |
String |
机器人接听状态 |
mainUniqueId |
String |
通话ID |
tagNames |
String[] |
通话标签 |
callId |
String |
CallID |
webrtcCallId |
String |
WebRTCCallID |
recordFile |
String |
录音文件 |
onHookSource |
String |
挂断方 |
investigationKeys |
Integer |
满意度评价 |
agentAnswerInTime |
String |
首次及时应答 |
evaluation |
String |
是否邀评 |
userField |
String |
自定义字段 |
startTime |
Long |
开始时间 |
endTime |
Long |
结束时间 |
bridgeTime |
Long |
首次接听时间 |
bridgeDuration |
Integer |
通话时长 |
totalDuration |
Integer |
总时长 |
firstJoinQueueTime |
Long |
首次进入队列时间 |
sayVoiceDuration |
Integer |
语音播报时长 |
markData |
String |
备注 |
rtcUid |
String |
rtcUid |
bindType |
Integer |
接听设备 |
ticketIds |
Set<Integer> |
工单ID |
businessIds |
Set<Integer> |
业务记录ID |
示例
请求示例
https://api-bj.clink.cn/cc/list_cdr_ib?
offset=0
&limit=10
&mainUniqueId=medias_1-162046xxxx.12
&startTime=1536201058
&endTime=1536201058
&<公共请求参数>
返回示例
{
"requestId": "ac108b17-ac8c-41f0-b2b1-4007e3b3cb81",
"pageNumber": 1,
"pageSize": 10,
"totalCount": 100,
"scrollId": "xxxxxx",
"cdrIb": [
{
"customerNumber": "138xxxx8888",
"customerNumberEncrypt": "xxxx",
"customerProvince": "北京",
"customerCity": "北京",
"firstCallNumber": "xxxx",
"bindType": 1,
"firstCallCno": "xxxx",
"firstCallCname": "xxxx",
"firstCallQno": "xxxx",
"firstCallQname": "xxxx",
"ivrName": "IVR名称",
"hotline": "xxxx",
"hotlineName": "热线别名",
"xnumber": "",
"status": "人工未接听",
"statusResult": "客户速挂",
"statusRobot": "",
"mainUniqueId": "medias_1-162046xxxx.12",
"tagNames": [
"标签"
],
"callId": "",
"webrtcCallId": "",
"recordFile": "",
"onHookSource": "客户挂断",
"investigationKeys": null,
"agentAnswerInTime": "",
"evaluation": null,
"userField": "",
"startTime": 1713848570,
"endTime": 1713848599,
"bridgeTime": null,
"bridgeDuration": 0,
"totalDuration": 29,
"firstJoinQueueTime": 1713848594,
"sayVoiceDuration": 0,
"ticketIds": [111,222],
"businessIds": [333,444]
}
]
}
变更历史
变更时间 | 变更内容概要 |
---|---|
2024/11/14 |
查询条件新增bindType接听设备,接口返回新增bindType接听设备。 |
2025/06/05 |
接口返回新增ticketIds工单ID、businessIds业务记录ID。 |
2025/06/20 |
接口支持滚动查询,见scrollSearch,scrollId。 |
6.1.2. 查询座席接听记录列表
GET /cc/list_cdr_ib_agent
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
startTime |
Long |
false |
开始时间,时间戳格式精确到秒。默认值取当前月份第一天 |
1708398399 |
startTimeEnd |
Long |
false |
开始时间查询截止,时间戳格式精确到秒,开始时间和结束时间跨度不能超过一个月。默认值取当前时间 |
1708398399 |
bridgeTime |
Long |
false |
接听时间,时间戳格式精确到秒。 |
1708398400 |
bridgeTimeEnd |
Long |
false |
接听时间查询截止,时间戳格式精确到秒。 |
1708398400 |
endTime |
Long |
false |
结束时间,时间戳格式精确到秒。 |
1708398412 |
endTimeEnd |
Long |
false |
结束时间查询截止,时间戳格式精确到秒。 |
1708398412 |
hiddenType |
Integer |
false |
是否隐藏号码。 0: 不隐藏,1: 中间四位,2: 最后八位,3: 全部号码,4: 最后四位。默认值为 0 |
0 |
detailCallType |
Integer[] |
false |
呼叫类型,默认查询全部。说明参考通用字段 |
101 |
qno |
String[] |
false |
队列号 |
0001,0002 |
cno |
String[] |
false |
座席号 |
0001,0002 |
clientNumber |
String |
false |
座席号码 |
156xxxx8888 |
bridgeStatus |
Integer[] |
false |
接听状态。取值范围如下: 0: 人工未接听 1: 人工接听 默认全部 |
0 |
bridgeStatusDetail |
Integer[] |
false |
呼叫结果。人工未接听原因,配合接听状态为人工未接听时做级联查询,取值范围如下: 1: 客户速挂 2: 座席拒接 3: 振铃未接 默认全部 |
1 |
bridgeDuration |
Integer |
false |
通话时长范围查询最小值,和bridgeDurationEnd配合使用 |
0 |
bridgeDurationEnd |
Integer |
false |
通话时长范围查询最大值 |
120 |
onHookSource |
Integer[] |
false |
挂断方,默认查询全部。说明参考通用字段 |
1000 |
agentAnswerInTime |
Integer |
false |
及时应答。取值范围如下: 0: 否 1: 是 默认全部 |
0 |
mainUniqueId |
String |
false |
通话记录唯一标识 |
medias_1-162046xxxx.12 |
customerNumber |
String |
false |
客户号码 |
156xxxx8888 |
hotlines |
String[] |
false |
热线号码 |
xxxx1,xxxx2 |
hotlineName |
String |
false |
热线别名 |
别名 |
callRemember |
Integer[] |
false |
主叫记忆。取值范围如下: 1: 外呼主叫记忆 2: 来电主叫记忆 默认全部 |
1,2 |
bindTypes |
Integer[] |
false |
接听设备。取值范围如下: 1: 手机 2: IP话机 3: 软电话 默认全部 |
1 |
scrollSearch |
boolean |
false |
是否滚动查询。默认false,true代表使用滚动查询。 |
false |
scrollId |
String |
false |
滚动查询ID。配合scrollSearch使用,第一次查询时不需要传递此参数,后续查询可从返回列表中取值,并传参数。当scrollId为空时,代表滚动查询结束。 |
xxxxxx |
offset |
Integer |
false |
偏移量,范围 0-99990。默认值为 0。注:limit + offset 不允许超过100000 |
0 |
limit |
Integer |
false |
查询条数,范围 10-100。默认值为 10。注:limit + offset 不允许超过100000 |
10 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
cdrIbAgent |
Object[] |
|
scrollId |
String |
滚动查询ID |
pageNumber |
Integer |
当前页码 |
pageSize |
Integer |
一页展示条数 |
totalCount |
Integer |
总条数 |
座席接听记录列表
名称 | 类型 | 描述 |
---|---|---|
uniqueId |
String |
唯一标识 |
mainUniqueId |
String |
通话ID |
qno |
String |
来电队列号 |
qname |
String |
来电队列名称 |
cno |
String |
座席号 |
clientName |
String |
座席名称 |
clientNumber |
String |
座席电话 |
bridgeStatus |
String |
接听状态 |
bridgeStatusDetail |
String |
呼叫结果 |
sipCauseDesc |
String |
呼叫情况 |
onHookSource |
String |
挂断方 |
agentAnswerInTime |
Integer |
及时应答 |
detailCallType |
String |
呼叫类型 |
callId |
String |
CallID |
webrtcCallId |
String |
WebRTCCallID |
recordFile |
String |
录音文件名 |
startTime |
Long |
开始时间 |
ringTime |
Long |
振铃时间 |
ibRingingDuration |
Integer |
振铃时长 |
answerTime |
Long |
接听时间 |
offhookTime |
Long |
座席接起时间 |
sayVoiceDuration |
Integer |
语音播报时长 |
endTime |
Long |
结束时间 |
bridgeDuration |
Integer |
通话时长 |
customerNumber |
String |
客户号码,带区号 |
customerNumberEncrypt |
String |
客户号码加密串 |
customerProvince |
String |
客户号码省份 |
customerCity |
String |
客户号码城市 |
hotline |
String |
热线号码 |
hotlineName |
String |
热线别名 |
remember |
String |
主叫记忆。obRemember: 外呼主叫记忆,ibRemember: 来电主叫记忆 |
bindType |
Integer |
接听设备 |
示例
请求示例
https://api-bj.clink.cn/cc/list_cdr_ib_agent?
offset=0
&limit=10
&customerNumber=156xxxx8888
&mainUniqueId=medias_1-162046xxxx.12
&startTime=1536201058
&endTime=1536201058
&<公共请求参数>
返回示例
{
"requestId": "ac108b17-ac8c-41f0-b2b1-4007e3b3cb81",
"pageNumber": 1,
"pageSize": 10,
"totalCount": 100,
"scrollId": "xxxxxx",
"cdrIbAgent": [
{
"cno": "0001",
"clientName": "xxx",
"bindType": 1,
"clientNumber": "156xxxx8888",
"customerNumber":"153xxxx8888",
"customerNumberEncrypt":"TNjljZjZlNjgxYmIwNjMxGEwMzA3MmQ0MDQzYWE****",
"customerProvince":"北京",
"customerCity":"北京",
"qno": "0001",
"qname": "xxxx",
"hotline": "xxxx",
"hotlineName": "热线别名",
"bridgeStatus": "人工接听",
"bridgeStatusDetail": "-",
"sipCauseDesc": "处理成功",
"uniqueId": "medias_1-170839xxxx.14",
"mainUniqueId": "medias_1-162046xxxx.12",
"agentAnswerInTime": 0,
"detailCallType": "呼转座席",
"callId": "xxxx",
"webrtcCallId": "xxxx",
"recordFile": null,
"startTime": 1708398399,
"ringTime": 1708398400,
"answerTime": 1708398406,
"endTime": 1708398412,
"ibRingingDuration": 6,
"bridgeDuration": 6,
"onHookSource": "座席挂断",
"offhookTime": 1708398406,
"remember": "ibRemember",
"sayVoiceDuration": 0
}
]
}
变更历史
变更时间 | 变更内容概要 |
---|---|
2024/04/25 |
查询条件新增customerNumber客户号码,接口返回新增客户号码加密串、客户号码省份、客户号码城市。 |
2024/05/30 |
查询条件新增hotlines热线号码,接口返回新增热线号码,热线别名。 |
2024/06/13 |
查询条件新增callRemember主叫记忆,接口返回新增remember主叫记忆。 |
2024/11/14 |
查询条件新增bindType接听设备,接口返回新增bindType接听设备。 |
2025/06/20 |
接口支持滚动查询,见scrollSearch,scrollId。 |
6.1.3. 查询客户来电记录详情
GET /cc/detail_cdr_ib
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
mainUniqueId |
String |
true |
通话记录唯一标识 |
medias_1-162046xxxx.12 |
hiddenType |
Integer |
false |
是否隐藏号码。 0: 不隐藏,1: 中间四位,2: 最后八位,3: 全部号码,4: 最后四位。默认值为 0 |
0 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
cdrIbDetail |
Object[] |
客户来电记录详情
名称 | 类型 | 描述 |
---|---|---|
customerNumber |
String |
客户号码 |
customerNumberEncrypt |
String |
客户号码加密串 |
customerProvince |
String |
客户号码省份 |
customerCity |
String |
客户号码城市 |
firstCallNumber |
String |
首呼座席电话 |
firstCallCno |
String |
首呼座席工号 |
firstCallCname |
String |
首呼座席姓名 |
firstCallQno |
String |
首呼队列号 |
firstCallQname |
String |
首呼队列名称 |
ivrName |
String |
IVR名称 |
hotline |
String |
热线号码 |
hotlineName |
String |
热线别名 |
xnumber |
String |
虚拟号码 |
status |
String |
接听状态 |
statusResult |
String |
呼叫结果 |
statusRobot |
String |
机器人接听状态 |
mainUniqueId |
String |
通话ID |
tagNames |
String[] |
通话标签 |
callId |
String |
CallID |
webrtcCallId |
String |
WebRTCCallID |
recordFile |
String |
录音文件 |
onHookSource |
String |
挂断方 |
investigationKeys |
Integer |
满意度评价 |
agentAnswerInTime |
String |
首次及时应答 |
evaluation |
String |
是否邀评 |
userField |
String |
自定义字段 |
startTime |
Long |
开始时间 |
endTime |
Long |
结束时间 |
bridgeTime |
Long |
首次接听时间 |
bridgeDuration |
Integer |
通话时长 |
totalDuration |
Integer |
总时长 |
firstJoinQueueTime |
Long |
首次进入队列时间 |
sayVoiceDuration |
Integer |
语音播报时长 |
markData |
String |
备注 |
rtcUid |
String |
rtcUid |
bindType |
Integer |
接听设备 |
ivrFlows |
Object[] |
|
investigation |
Object |
路由和IVR
名称 | 类型 | 描述 |
---|---|---|
pathName |
String |
节点名称 |
path |
String |
节点 id |
routerStartTime |
Long |
路由开始时间 |
routerEndTime |
Long |
路由结束时间 |
routerName |
Long |
路由名称 |
name |
Long |
ivr 名称 |
action |
Long |
执行动作 |
pressKey |
String |
按键值 |
pressTime |
Long |
按键时间 |
startTime |
Long |
开始时间 |
endTime |
Long |
结束时间 |
满意度记录
名称 | 类型 | 描述 |
---|---|---|
cno |
String |
座席号 |
clientName |
String |
座席名称 |
keys |
Integer |
按键值 |
multiKeys |
String |
多按键值 |
startTime |
Long |
开始时间 |
endTime |
Long |
结束时间 |
示例
请求示例
https://api-bj.clink.cn/cc/detail_cdr_ib?
mainUniqueId=medias_1-162046xxxx.12
&<公共请求参数>
返回示例
{
"requestId": "ac108b17-ac8c-41f0-b2b1-4007e3b3cb81",
"cdrIbDetail": [
{
"customerNumber": "138xxxx8888",
"customerNumberEncrypt": "xxxx",
"customerProvince": "北京",
"customerCity": "北京",
"firstCallNumber": "xxxx",
"bindType": 1,
"firstCallCno": "xxxx",
"firstCallCname": "xxxx",
"firstCallQno": "xxxx",
"firstCallQname": "xxxx",
"ivrName": "IVR名称",
"hotline": "xxxx",
"hotlineName": "热线别名",
"xnumber": "",
"status": "人工未接听",
"statusResult": "客户速挂",
"statusRobot": "",
"mainUniqueId": "medias_1-162046xxxx.12",
"tagNames": [
"标签"
],
"callId": "",
"webrtcCallId": "",
"recordFile": "",
"onHookSource": "客户挂断",
"investigationKeys": null,
"agentAnswerInTime": "",
"evaluation": null,
"userField": "",
"startTime": 1713848570,
"endTime": 1713848599,
"bridgeTime": null,
"bridgeDuration": 0,
"totalDuration": 29,
"firstJoinQueueTime": 1713848594,
"sayVoiceDuration": 0,
"ivrFlows": [
{
"pathName": "节点",
"routerStartTime": 1731483814,
"path": "xxxxxx",
"routerEndTime": 1731483897,
"routerName": "路由名称",
"name": "IVR名称",
"action": "执行动作",
"startTime": 1731483897,
"endTime": 1731483927
},
{
"pathName": "节点2",
"routerStartTime": 1731483814,
"path": "xxxxxx",
"routerEndTime": 1731483927,
"routerName": "路由名称",
"name": "IVR名称",
"action": "队列",
"startTime": 1731483927,
"endTime": 1731483974
}
],
"investigation": {
"startTime": 1731483974,
"endTime": 1731483979,
"cno": "座席号",
"clientName": "座席名称",
"keys": 1,
"multiKeys": "1"
}
}
]
}
6.2. 外呼通话记录
6.2.1. 查询外呼记录列表
GET /cc/list_cdr_ob
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
startTime |
Long |
false |
开始时间,时间戳格式精确到秒。默认值取当前月份第一天 |
1708398399 |
startTimeEnd |
Long |
false |
开始时间查询截止,时间戳格式精确到秒,开始时间和结束时间跨度不能超过一个月。默认值取当前时间 |
1708398399 |
bridgeTime |
Long |
false |
接听时间,时间戳格式精确到秒。 |
1708398400 |
bridgeTimeEnd |
Long |
false |
接听时间查询截止,时间戳格式精确到秒。 |
1708398400 |
endTime |
Long |
false |
结束时间,时间戳格式精确到秒。 |
1708398412 |
endTimeEnd |
Long |
false |
结束时间查询截止,时间戳格式精确到秒。 |
1708398412 |
hiddenType |
Integer |
false |
是否隐藏号码。 0: 不隐藏,1: 中间四位,2: 最后八位,3: 全部号码,4: 最后四位。默认值为 0 |
0 |
bridgeDuration |
Integer |
false |
通话时长范围查询最小值,和bridgeDurationEnd配合使用 |
0 |
bridgeDurationEnd |
Integer |
false |
通话时长范围查询最大值 |
120 |
totalDuration |
Integer |
false |
总时长范围查询最小值,和totalDurationEnd配合使用 |
0 |
totalDurationEnd |
Integer |
false |
总时长范围查询最大值 |
120 |
cnos |
String[] |
false |
座席工号 |
0001,0002 |
qnos |
String[] |
false |
外呼组 |
0001,0002 |
clientNumber |
String |
false |
座席电话 |
156xxxx8888 |
customerNumber |
String |
false |
客户号码 |
138xxxx8888 |
callType |
int[] |
false |
通话类型 4: 预览外呼,6: 主叫外呼, 默认全部 |
4 |
leftClid |
String[] |
false |
外显号码 |
0100003xxxx,01026xxxxx6 |
xnumber |
String[] |
false |
虚拟号码 |
0100003xxxx,01026xxxxx6 |
status |
Integer[] |
false |
接听状态。取值范围如下: 1: 客户未接听 2: 座席未接听 3: 客户接听 4: 座席接听 默认全部 |
1 |
sipCauseType |
int[] |
false |
呼叫结果。取值范围如下: 0: 呼叫成功 1: 呼叫失败 2: 线路故障 3: 线路风控 默认全部 |
1 |
sipCause |
Integer[] |
false |
呼叫失败原因。配合呼叫结果做级联查询,取值范围如下: -700: 客户无人接听 710: 客户占线 712: 客户拒接 713: 号码空号 714: 号码关机 715: 号码暂无法接听 716: 号码停机 默认全部 |
-700,713 |
sipCauseRaw |
Integer[] |
false |
被叫状态。取值范围如下: 710: 客户占线 711: 呼叫超时 712: 客户拒接 713: 号码空号 714: 关机 715: 号码暂无法接听 716: 号码停机 717: 呼叫受限 718: 无人接听 719: 正在通话中 720: 暂停服务 721: 来电提醒 722: 不再使用 723: 来电助手 724: 号码格式不正确 默认全部 |
710,713 |
onHookSource |
Integer[] |
false |
挂断方,默认查询全部。说明参考通用字段 |
1000 |
investigationKeys |
Integer |
false |
满意度评价 |
1 |
province |
String |
false |
客户归属地省份 |
北京 |
city |
String |
false |
客户归属地城市 |
北京 |
mainUniqueId |
String |
false |
通话记录唯一标识 |
medias_1-162046xxxx.12 |
userField |
String |
false |
自定义字段 |
{"xxx1": "","xxx2": ""} |
evaluation |
Integer |
false |
是否邀评。取值范围如下: 0: 否 1: 是 默认全部 |
0 |
taskName |
String |
false |
外呼任务名称 |
任务名称 |
existTicket |
Integer |
false |
工单有无。取值范围如下: 0: 无 1: 有 默认全部 |
0 |
existBusiness |
Integer |
false |
业务记录有无。取值范围如下: 0: 无 1: 有 默认全部 |
0 |
isRtcCall |
Integer |
false |
是否为RTC通话。取值范围如下: 0: 否 1: 是 默认全部 |
0 |
scrollSearch |
boolean |
false |
是否滚动查询。默认false,true代表使用滚动查询。 |
false |
scrollId |
String |
false |
滚动查询ID。配合scrollSearch使用,第一次查询时不需要传递此参数,后续查询可从返回列表中取值,并传参数。当scrollId为空时,代表滚动查询结束。 |
xxxxxx |
offset |
Integer |
false |
偏移量,范围 0-99990。默认值为 0。注:limit + offset 不允许超过100000 |
0 |
limit |
Integer |
false |
查询条数,范围 10-100。默认值为 10。注:limit + offset 不允许超过100000 |
10 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
cdrOb |
Object[] |
|
scrollId |
String |
滚动查询ID |
pageNumber |
Integer |
当前页码 |
pageSize |
Integer |
一页展示条数 |
totalCount |
Integer |
总条数 |
外呼记录列表
名称 | 类型 | 描述 |
---|---|---|
customerNumber |
String |
客户号码 |
customerNumberEncrypt |
String |
客户号码加密串 |
customerArea |
String |
客户地区,省份/城市 |
customerProvince |
String |
客户号码省份 |
customerCity |
String |
客户号码城市 |
callType |
String |
通话类型 |
callTypeKey |
Integer |
通话类型Key值 |
leftClid |
String |
外显号码 |
leftClidArea |
String |
外显号码归属地区,省份/城市 |
leftClidProvince |
String |
外显号码归属省份 |
leftClidCity |
String |
外显号码归属城市 |
trunkGroupKey |
String |
中继组号 |
xnumber |
String |
虚拟号码 |
xnumberArea |
String |
虚拟号码归属地区,省份/城市 |
xnumberProvince |
String |
虚拟号码归属省份 |
xnumberCity |
String |
虚拟号码归属城市 |
status |
Integer |
接听状态值 |
statusDesc |
String |
接听状态描述 |
tagNames |
String[] |
通话标签 |
mainUniqueId |
String |
通话ID |
requestUniqueId |
String |
通话唯一ID |
obSipCause |
String |
呼叫结果 |
obSipCauseRaw |
String |
被叫状态 |
onHookSource |
String |
挂断方 |
recordFile |
String |
录音文件 |
asrRecord |
Integer |
转写记录标识 1:存在,0:不存在 |
evaluation |
String |
是否邀评 |
investigationKeys |
Integer |
满意度评价 |
callId |
String |
CallID |
webrtcCallId |
String |
WebRTCCallID |
rtcUid |
String |
RtcUid |
cno |
String |
座席工号 |
clientName |
String |
座席名称 |
clientNumber |
String |
座席电话 |
startTime |
Long |
开始时间 |
upTime |
Long |
座席接起时间 |
calleeRingingTime |
Long |
客户响铃时间 |
bridgeTime |
Long |
客户接听时间 |
endTime |
Long |
结束时间 |
bridgeDuration |
Integer |
通话时长 |
totalDuration |
Integer |
总时长 |
preRingWaitDuration |
Integer |
响铃前等待时长 |
calleeRingingDuration |
Integer |
客户响铃时长 |
obWaitDuration |
Integer |
外呼等待时长 |
taskId |
Integer |
外呼任务id |
taskName |
String |
外呼任务名称 |
taskInventoryId |
Integer |
外呼任务详情id |
existTicket |
Integer |
是否存在工单 |
ticketIds |
Integer[] |
工单id |
existBusiness |
Integer |
是否存在业务记录 |
businessIds |
Integer[] |
业务记录ID |
userField |
String |
自定义字段 |
existCustomer |
boolean |
是否存在客户资料 |
customerAreaCode |
String |
客户号码区号 |
customerPostCode |
String |
追加客户邮编 |
customerVip |
Integer |
客户VIP标识 |
enterpriseId |
Integer |
企业号 |
markData |
String |
备注 |
示例
请求示例
https://api-bj.clink.cn/cc/list_cdr_ob?
offset=0
&limit=10
&mainUniqueId=medias_1-162046xxxx.12
&startTime=1536201058
&endTime=1536201058
&<公共请求参数>
返回示例
{
"requestId": "ac108b17-xxxx-4007e3b3cb81",
"pageNumber": 1,
"pageSize": 10,
"totalCount": 100,
"scrollId": "xxxxxx",
"cdrOb": [
{
"customerNumber": "1312361xxxx",
"customerArea": "北京/北京",
"customerProvince": "北京",
"customerCity": "北京",
"callType": "预览外呼",
"callTypeKey": 4,
"leftClid": "xxxx",
"leftClidArea": "上海/上海",
"leftClidProvince": "上海",
"leftClidCity": "上海",
"trunkGroupKey": "xxxx",
"xnumber": "",
"xnumberArea": null,
"xnumberProvince": null,
"xnumberCity": null,
"status": 3,
"statusDesc": "客户接听",
"tagNames": null,
"mainUniqueId": "medias_1-171532xxxx.53",
"requestUniqueId": "849f4a6501420a5ec2ec0a95a919xxxx",
"obSipCause": "呼叫成功",
"obSipCauseRaw": "呼叫成功",
"onHookSource": "客户挂断",
"recordFile": "xxxx",
"asrRecord": 0,
"evaluation": 0,
"investigationKeys": "",
"callId": "xxxx",
"rtcUid": null,
"webrtcCallId": "xxxx",
"cno": "0001",
"clientName": "xxxx",
"clientNumber": "xxxx",
"startTime": 1715326248,
"upTime": 1715326249,
"calleeRingingTime": 1715326251,
"bridgeTime": 1715326258,
"endTime": 1715326267,
"bridgeDuration": 9,
"totalDuration": 19,
"preRingWaitDuration": 3,
"calleeRingingDuration": 7,
"obWaitDuration": 10,
"taskId": null,
"taskName": null,
"taskInventoryId": null,
"existTicket": 0,
"existBusiness": 0,
"businessIds": null,
"ticketIds": null,
"userField": "xxxx",
"existCustomer": false,
"customerNumberEncrypt": "xxxx",
"customerAreaCode": "xxxx",
"customerPostCode": "xxxx",
"customerVip": 0,
"type": "cdrObAgent",
"enterpriseId": 1111100,
"markData": null
}
]
}
变更历史
变更时间 | 变更内容概要 |
---|---|
2025/05/22 |
查询条件新增sipCauseRaw被叫状态,接口返回新增obSipCauseRaw被叫状态。 |
2025/06/20 |
接口支持滚动查询,见scrollSearch,scrollId。 |
6.2.2. 查询外呼记录详情
GET /cc/cdr_ob_details
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
mainUniqueId |
String |
true |
通话记录唯一标识 |
medias_1-162046xxxx.12 |
hiddenType |
Integer |
false |
是否隐藏号码。 0: 不隐藏,1: 中间四位,2: 最后八位,3: 全部号码,4: 最后四位。默认值为 0 |
0 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
cdrObDetails |
Object[] |
外呼详情
名称 | 类型 | 描述 |
---|---|---|
cno |
String |
座席工号 |
clientName |
String |
座席名称 |
clientNumber |
String |
座席电话 |
startTime |
Long |
开始时间 |
calleeRingingTime |
Long |
客户响铃时间 |
answerTime |
Long |
客户接听时间 |
endTime |
Long |
结束时间 |
bridgeDuration |
Integer |
通话时长 |
callType |
Integer |
通话类型,说明参考通用字段 |
callTypeDesc |
String |
通话类型描述 |
detailCallType |
Integer |
呼叫类型,说明参考通用字段 |
detailCallTypeDesc |
String |
呼叫类型描述 |
obSipCause |
String |
呼叫结果 |
obSipCauseRaw |
String |
被叫状态 |
sipCause |
Integer |
呼叫情况 |
sipCauseDesc |
String |
呼叫情况描述 |
recordFile |
String |
录音 |
tsiFile |
String |
客户彩铃录音 |
callId |
String |
CallID |
webrtcCallId |
String |
WebRTCCallID |
mainUniqueId |
String |
通话ID |
uniqueId |
String |
通话唯一ID |
示例
请求示例
https://api-bj.clink.cn/cc/cdr_ob_details
&mainUniqueId=medias_1-162046xxxx.12
&<公共请求参数>
返回示例
{
"requestId": "ac108b17-xxxx-4007e3b3cb81",
"cdrObDetails": [
{
"cno": "xxx",
"clientName": "xxx",
"clientNumber": "xxx",
"startTime": 1717583916,
"calleeRingingTime": 1717583922,
"answerTime": 1717583928,
"endTime": 1717583950,
"bridgeDuration": 22,
"callType": 4,
"callTypeDesc": "预览外呼",
"detailCallType": 208,
"detailCallTypeDesc": "呼转客户",
"obSipCause": "呼叫成功",
"obSipCauseRaw": "呼叫成功",
"sipCause": 200,
"sipCauseDesc": "处理成功",
"recordFile": null,
"tsiFile": null,
"callId": "1d7acd5d-xxxx-xxxx-xxxx-0d3c08317140",
"webrtcCallId": "",
"mainUniqueId": "medias_1-162046xxxx.12",
"uniqueId": "medias_1-162046xxxx.18"
}
]
}
变更历史
变更时间 | 变更内容概要 |
---|---|
2025/05/22 |
接口返回新增obSipCauseRaw被叫状态。 |
6.3. WebCall
6.3.1. 查询WebCall记录列表
GET /cc/list_cdr_web_call
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
startTime |
Long |
false |
开始时间,时间戳格式精确到秒。默认值取当前月份第一天 |
1708398399 |
startTimeEnd |
Long |
false |
开始时间查询截止,时间戳格式精确到秒,开始时间和结束时间跨度不能超过一个月。默认值取当前时间 |
1708398399 |
upTime |
Long |
false |
首叫接听时间,时间戳格式精确到秒。 |
1708398400 |
upTimeEnd |
Long |
false |
首叫接听时间查询截止,时间戳格式精确到秒。 |
1708398400 |
bridgeTime |
Long |
false |
转接接听时间,时间戳格式精确到秒。 |
1708398400 |
bridgeTimeEnd |
Long |
false |
转接接听时间查询截止,时间戳格式精确到秒。 |
1708398400 |
endTime |
Long |
false |
结束时间,时间戳格式精确到秒。 |
1708398412 |
endTimeEnd |
Long |
false |
结束时间查询截止,时间戳格式精确到秒。 |
1708398412 |
hiddenType |
Integer |
false |
是否隐藏号码。 0: 不隐藏,1: 中间四位,2: 最后八位,3: 全部号码,4: 最后四位。默认值为 0 |
0 |
bridgeDuration |
Integer |
false |
通话时长范围查询最小值,和bridgeDurationEnd配合使用 |
0 |
bridgeDurationEnd |
Integer |
false |
通话时长范围查询最大值 |
120 |
totalDuration |
Integer |
false |
总时长范围查询最小值,和totalDurationEnd配合使用 |
0 |
totalDurationEnd |
Integer |
false |
总时长范围查询最大值 |
120 |
customerNumber |
String |
false |
首叫号码 |
156xxxx8888 |
clientNumber |
String |
false |
转接号码 |
156xxxx8888 |
clid |
String[] |
false |
外显号码 |
0100003xxxx,01026xxxxx6 |
xnumber |
String[] |
false |
虚拟号码 |
0100003xxxx,01026xxxxx6 |
statuses |
Integer[] |
false |
接听状态。取值范围如下: 1: 首叫未接听 2: 首叫已接听 3: 接入 IVR 4: 转接未接听 5: 转接接听 默认全部 |
1 |
mainUniqueId |
String |
false |
通话记录唯一标识 |
medias_1-162046xxxx.12 |
scrollSearch |
boolean |
false |
是否滚动查询。默认false,true代表使用滚动查询。 |
false |
scrollId |
String |
false |
滚动查询ID。配合scrollSearch使用,第一次查询时不需要传递此参数,后续查询可从返回列表中取值,并传参数。当scrollId为空时,代表滚动查询结束。 |
xxxxxx |
offset |
Integer |
false |
偏移量,范围 0-99990。默认值为 0。注:limit + offset 不允许超过100000 |
0 |
limit |
Integer |
false |
查询条数,范围 10-100。默认值为 10。注:limit + offset 不允许超过100000 |
10 |
existTicket |
Integer |
false |
工单有无。取值范围如下: 0: 无 1: 有 默认全部 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
cdrWebCall |
Object[] |
|
scrollId |
String |
滚动查询ID |
pageNumber |
Integer |
当前页码 |
pageSize |
Integer |
一页展示条数 |
totalCount |
Integer |
总条数 |
WebCall记录列表
名称 | 类型 | 描述 |
---|---|---|
customerNumber |
String |
首叫号码 |
customerNumberEncrypt |
String |
首叫号码加密串 |
customerProvince |
String |
首叫号码省份 |
customerCity |
String |
首叫号码城市 |
clid |
String |
外显号码 |
clidProvince |
String |
外显号码省份 |
clidCity |
String |
外显号码城市 |
trunkGroupKey |
String |
中继组号 |
xnumber |
String |
虚拟号码 |
xnumberProvince |
String |
虚拟号码省份 |
xnumberCity |
String |
虚拟号码城市 |
status |
String |
接听状态值 |
statusDesc |
String |
接听状态描述 |
mainUniqueId |
String |
通话ID |
ivrId |
Integer |
IVR唯一标识 |
ivrName |
String |
IVR名称 |
sipCause |
Integer |
呼叫情况值 |
sipCauseDesc |
String |
呼叫情况描述 |
recordFile |
String |
录音文件 |
callId |
String |
CallID |
tsiFile |
String |
首叫彩铃录音 |
markData |
String |
备注 |
startTime |
Long |
开始时间 |
endTime |
Long |
结束时间 |
ringTime |
Long |
首叫响铃时间 |
upTime |
Long |
首叫接听时间 |
firstDetailStartTime |
Long |
转接开始时间 |
calleeRingingTime |
Long |
转接响铃时间 |
bridgeTime |
Long |
转接接听时间 |
obRingingDuration |
Integer |
首叫响铃时长 |
bridgeDuration |
Integer |
通话时长 |
totalDuration |
Integer |
总时长 |
ticketIds |
Set<Integer> |
工单ID |
示例
请求示例
https://api-bj.clink.cn/cc/list_cdr_web_call?
offset=0
&limit=10
&mainUniqueId=medias_1-162046xxxx.12
&startTime=1536201058
&startTimeEnd=1536201058
&<公共请求参数>
返回示例
{
"requestId": "ac108b17-xxxx-xxxx-xxxx-4007e3b3cb81",
"pageNumber": 1,
"pageSize": 10,
"totalCount": 100,
"scrollId": "xxxxxx",
"cdrWebCall": [
{
"customerNumber": "186xxxx0000",
"customerNumberEncrypt": "",
"customerProvince": "北京",
"customerCity": "北京",
"clid": "xxxx",
"clidProvince": "北京",
"clidCity": "北京",
"trunkGroupKey": null,
"xnumber": "",
"xnumberProvince": null,
"xnumberCity": null,
"status": 1,
"statusDesc": "首叫未接听",
"mainUniqueId": "medias_1-170085xxxx.689",
"ivrId": null,
"ivrName": null,
"sipCause": 480,
"sipCauseDesc": "暂时不可用",
"recordFile": "",
"callId": "f53a374a-xxxx-xxxx-xxxx-1ad30e9e26f3",
"tsiFile": "",
"markData": "",
"startTime": 1715852869,
"endTime": 1715852868,
"ringTime": null,
"upTime": null,
"obRingingDuration": 0,
"firstDetailStartTime": null,
"calleeRingingTime": null,
"bridgeTime": null,
"bridgeDuration": 0,
"totalDuration": 0
}
]
}
变更历史
变更时间 | 变更内容概要 |
---|---|
2025/06/20 |
接口支持滚动查询,见scrollSearch,scrollId。 |
6.4. 通话录音
6.4.1. 下载通话录音文件
GET /cc/download_record_file
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
mainUniqueId |
String |
true |
通话记录唯一标识 |
recordSide |
Integer |
false |
不传递获取mp3格式录音,传递时获取wav格式录音。1:双轨录音客户侧,2:双轨录音座席侧,3:两侧合成录音 |
recordType |
String |
false |
录音类型。 "record": 通话录音,"voicemail": 留言。默认值为 "record" |
示例
请求示例
https://api-bj.clink.cn/cc/download_record_file
&mainUniqueId=medias_0-1500000000.0
&<公共请求参数>
6.4.2. 查看通话录音地址
GET /cc/describe_record_file_url
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
mainUniqueId |
String |
true |
通话记录唯一标识 |
medias_0-1500000000.0 |
recordSide |
Integer |
false |
不传递获取mp3格式录音,传递时获取wav格式录音。1:双轨录音客户侧,2:双轨录音座席侧,3:两侧合成录音 |
1 |
timeout |
Long |
false |
获取录音地址超时时长,单位为秒,默认为一小时,范围在一到二十四小时。 |
3600 |
download |
Integer |
false |
0表示试听,1为下载,默认为1 |
1 |
recordType |
String |
false |
录音类型。 "record": 通话录音,"voicemail": 留言。默认值为 "record" |
record |
返回参数
名称 | 类型 | 描述 |
---|---|---|
recordFileUrl |
String |
通话录音地址 |
audioFlows |
List<Object> |
[录音流程] , 仅当 获取mp3格式的通话录音时,返回该字段(即:不传 recordSide 且 recordType = "record" or 不传 ) 。 |
录音流程
名称 | 类型 | 描述 |
---|---|---|
node |
Integer |
节点,1:录音,2:保持,3:静音,4:咨询 |
type |
Integer |
类型,0:开始,1:结束 |
timestamp |
Long |
时间戳,单位:秒 |
示例
请求示例
https://api-bj.clink.cn/cc/describe_record_file_url
&mainUniqueId=medias_0-1500000000.0
&<公共请求参数>
返回示例
{
"requestId": "5f18cc14-95ed-406b-9b60-85138d264731",
"recordFileUrl": "http://clink-voice-test.oss-cn-beijing.aliyuncs.com/12072019/record/8000000/8000000-1790000000000-15200000000-15200000000--record-medias_0-1500000000.0.mp3?Expires=1563335356&OSSAccessKeyId=LtBixG7jRhBj6RKj&Signature=7vImjXOF3%2F35cDkCKbYPJTCPYuA%3D&response-content-disposition=attachment%3B%20filename%3D8000000-1790000000000-15200000000-15200000000--record-medias_0-1500000000.0.mp3",
"audioFlows": [
{ "node": 1, "type": 0, "timestamp": 1708607758 },
{ "node": 2, "type": 0, "timestamp": 1708607761 },
{ "node": 4, "type": 0, "timestamp": 1708607761 },
{ "node": 4, "type": 1, "timestamp": 1708607762 },
{ "node": 2, "type": 1, "timestamp": 1708607763 },
{ "node": 1, "type": 1, "timestamp": 1708607804 }
]
}
返回错误码
以下为本接口特有的错误码。更多错误码,请查看错误码说明。
code | HTTP Status | message |
---|---|---|
DownloadRecordFileError |
400 |
该通话没有录音 |
通话录音地址过期时间为1小时。 |
变更历史
变更时间 | 变更内容概要 |
---|---|
2024/02/29 |
返回值追加 audioFlows 录音流程。 |
2024/06/27 |
audioFlows录音流程新增咨询场景:node = 4。 |
6.4.3. 下载通话详情录音文件
GET /cc/download_detail_record_file
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
mainUniqueId |
String |
true |
通话记录唯一标识 |
uniqueId |
String |
true |
通话记录唯一标识 |
recordSide |
Integer |
false |
不传递获取mp3格式录音,传递时获取wav格式录音。1:双轨录音客户侧,2:双轨录音座席侧,3:两侧合成录音 |
示例
请求示例
https://api-bj.clink.cn/cc/download_detail_record_file
&mainUniqueId=medias_0-1500000000.0&uniqueId=medias_0-1500000000.1
&<公共请求参数>
6.4.4. 查看通话详情录音地址
GET /cc/describe_detail_record_file_url
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
mainUniqueId |
String |
true |
通话记录唯一标识 |
uniqueId |
String |
true |
通话记录唯一标识 |
recordSide |
Integer |
false |
不传递获取mp3格式录音,传递时获取wav格式录音。1:双轨录音客户侧,2:双轨录音座席侧,3:两侧合成录音 |
timeout |
Long |
false |
获取录音地址超时时长,单位为秒,默认为一小时,范围在一到二十四小时。 |
download |
Integer |
false |
0表示试听,1为下载,默认为1 |
示例
请求示例
https://api-bj.clink.cn/cc/describe_detail_record_file_url
&mainUniqueId=medias_1-1604542113.9&uniqueId=medias_1-1604542150.11
&<公共请求参数>
返回示例
{
"requestId": "5f18cc14-95ed-406b-9b60-85138d264731",
"recordFileUrl": "http://clink-voice-test.oss-cn-beijing.aliyuncs.com/05112020/record/8000559/8000559-20201105100833-15318271736-6682--record-medias_1-1604542113.9.mp3?Expires=1604892501&OSSAccessKeyId=LTAImAEeNHqLgBic&Signature=i5zcw8guWC4ouc%2FaVbznC2mFWt0%3D&response-content-disposition=attachment%3B%20filename%3D8000559-20201105100833-15318271736-6682--record-medias_1-1604542113.9.mp3"
}
6.5. 留言记录
6.5.1. 查询留言记录列表
GET /cc/list_comments
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
hiddenType |
Integer |
false |
是否隐藏号码。 0: 不隐藏,1: 中间四位,2: 最后八位,3: 全部号码,4: 最后四位。默认值为 0 |
customerNumber |
String |
false |
客户号码 |
hotline |
String |
false |
热线号码 |
startTime |
Long |
false |
开始时间,时间戳格式精确到秒。默认值取当前月份第一天 |
endTime |
Long |
false |
结束时间,时间戳格式精确到秒,开始时间和结束时间跨度不能超过一个月。默认值取当前时间 |
offset |
Integer |
false |
偏移量,范围 0-99990。默认值为 0。注:limit + offset 不允许超过100000 |
limit |
Integer |
false |
查询条数,范围 10-100。默认值为 10。注:limit + offset 不允许超过100000 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
cdrComments |
Object[] |
|
pageNumber |
Integer |
当前页码 |
pageSize |
Integer |
一页展示条数 |
totalCount |
Integer |
总条数 |
留言记录列表
名称 | 类型 | 描述 |
---|---|---|
uniqueId |
String |
通话记录唯一标识 |
customerNumber |
String |
客户号码 |
customerArea |
String |
客户地区 |
hotline |
String |
来电热线号码 |
startTime |
Long |
开始时间 |
endTime |
Long |
结束时间 |
bridgeDuration |
Integer |
录音时长 |
voiceMail |
String |
留言箱名 |
recordFile |
String |
录音文件名 |
示例
请求示例
https://api-bj.clink.cn/cc/list_comments?
offset=0
&limit=10
&hiddenType=1
&customerNumber=153xxxx8888
&hotline=02788xxx888
&startTime=1536201058
&endTime=1536201058
&<公共请求参数>
返回示例
{
"requestId": "ba078ace-717c-4dea-af41-d4dd5035edd6",
"pageNumber": 1,
"pageSize": 10,
"totalCount": 1,
"cdrComments": [
{
"uniqueId": "AWS_DEV_MEDIA_SERVER_8-1537329247.6",
"customerNumber": "010xxxx0766",
"customerArea": "北京/北京",
"hotline": "027xxxx5119",
"startTime": 1536200599,
"endTime": 1536200699,
"bridgeDuration": 24,
"voiceMail": "测试队列留言箱",
"recordFile": "8000026-20180906102319-010****0766-01012345678--voicemail-AWS_DEV_MEDIA_SERVER_8-1536200599.14"
}
]
}
6.6. 通话录音转写记录
6.6.1. 查询ASR转写记录
GET /cc/sqc_asr
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
mainUniqueId |
String |
true |
通话记录唯一标识 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
mainUniqueId |
String |
通话记录唯一标识 |
enterpriseId |
Integer |
企业ID |
startTime |
Long |
开始时间(秒级时间戳) |
bridgeTime |
Long |
接听时间(秒级时间戳) |
cno |
String |
座席工号 |
customerNumber |
String |
客户号码 |
agentAsrs |
Object[] |
座席侧转写文本字段描述 |
clientAsrs |
Object[] |
客户侧转写文本字段描述 |
字段描述
名称 | 类型 | 描述 |
---|---|---|
channelId |
Integer |
该句所属的音轨ID |
beginTime |
Integer |
该句的起始时间偏移,单位:毫秒 |
endTime |
Integer |
该句的结束时间偏移,单位:毫秒 |
speechRate |
Integer |
本句的平均语速,单位:每分钟字数 |
silenceDuration |
Integer |
本句与上一句之间的静音时长,单位:毫秒 |
emotionValue |
Integer |
情绪能量值1-10,值越高情绪越强烈 |
text |
String |
本句的转写文本结果 |
side |
String |
座席侧转写文本:agent;客户侧转写文本:client |
返回示例
{
"requestId":"c72e30d1-d48f-450a-a222-112114786869",
"asr":{
"enterpriseId":"8000000",
"mainUniqueId":"medias_1-1500000000.0",
"customerNumber":"130xxxx0000",
"cno":"0001",
"startTime":1606392391,
"bridgeTime":1606392394,
"agentAsrs":[
{
"channelId":0,
"beginTime":2590,
"endTime":4120,
"speechRate":39,
"silenceDuration":0,
"emotionValue":6,
"text":"嗯",
"side":"agent"
},
{
"channelId":0,
"beginTime":6810,
"endTime":7700,
"speechRate":67,
"silenceDuration":2,
"emotionValue":6,
"text":"嗯",
"side":"agent"
}
],
"clientAsrs":[
]
}
}
6.6.2. 查询RASR转写记录
GET /cc/bot_asr
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
enterpriseId |
String |
true |
企业id |
mainUniqueId |
String |
true |
通话记录唯一标识 |
示例
请求示例
https://api-bj.clink.cn/bot_asr?mainUniqueId=medias_0-1500000000.0&enterpriseId=12345678&<公共请求参数>
返回参数
名称 | 类型 | 描述 |
---|---|---|
role |
String |
角色 客户:customer;机器人:robot;客户端:client;座席端:agent |
speakTime |
Long |
说话时间 毫秒级时间戳 |
action |
String |
动作 END:结束 TRANSFER:转人工 |
intent |
String |
机器人意图 |
返回示例
{
"botDialogs": [
{
"role": "robot",
"speakTime": 1610955252359,
"text": "您好,这边是***客服中心,工号***请问您是赵先生本人吗?",
"action": [
],
"intent": "INTENT_HELLO"
},
{
"role": "customer",
"speakTime": 1610955262973,
"text": "不是。"
},
{
"role": "robot",
"speakTime": 1610955263228,
"text": "很抱歉打扰您了,感谢您的接听,祝您生活愉快再见",
"action": [
"END"
],
"intent": "flow"
}
],
"requestId": "dbfaf58e-ac86-4ff8-8a3b-d431f1ab4b10"
}
6.6.3. 查询AI对话转写记录
GET /cc/robot_rasr
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
mainUniqueId |
String |
true |
通话记录唯一标识 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
enterpriseId |
String |
企业ID |
mainUniqueId |
String |
通话记录唯一标识 |
uniqueId |
String |
当前通话通道唯一标识 |
startTime |
Long |
开始时间 秒级时间戳 |
endTime |
Long |
结束时间 秒级时间戳 |
rasrDialogs |
Object |
|
additions |
List<Map<String,Object>> |
自定义业务变量 变量名称、变量值映射关系 |
转写内容
名称 | 类型 | 描述 |
---|---|---|
role |
String |
角色 客户:customer;机器人:robot |
speakTime |
Long |
说话时间 秒级时间戳 |
text |
String |
转写文本结果 |
返回示例
{
"requestId": "616b3200-fb13-4702-8d0e-f83e75e1f881",
"rasrResult": {
"uniqueId": "medias_1-1703239426.143",
"mainUniqueId": "medias_1-1703239426.143",
"customerNumber": "xxx",
"startTime": 1703239431,
"endTime": 1703239444,
"enterpriseId": 8000000,
"rasrDialogs": [{
"role": "robot",
"speakTime": 1703239431,
"text": "xxx"
},
{
"role": "customer",
"speakTime": 1703239431,
"text": "xxx"
},
{
"role": "robot",
"speakTime": 1703239443,
"text": "xxxx"
}],
"additions": [{
"name1": "value1",
"name2": "value2",
"name3": "value3"
}]
}
}
6.6.4. 通话语音流实时推送
所需信息
1、推送地址(用于接受语音流的ws服务地址), 例如:ws://ws-bj.demo.cn/realtime_voice
2、appId: 应用id
3、accessKeyId: 鉴权keyId
4、secretKey: 通道密码
鉴权(非必需)
生成签名
-
第一步:获取baseString
将appId,accessKeyId,时间(系统时间)用逗号拼接,并url_encode。
假设上述中的key对应的值分别为:tr001,clink2,2018-09-25T19:34:42+0800,则baseString如下
tr001%clink2%2C2018-09-25T19%3A34%3A42%2B0800
-
第二步:获取signature
使用accessKeySecret对baseString进行HMAC sha1运算签名,base64加密
假设accessKeySecret为:c8452c4f40a9b2984567a69040ba8d81
签名并加密后得到:GOzDfDFC9ackodnz03TuKXPT224=
-
上传签名
生成的签名signature需要拼接到authString尾部一同上传至服务端进行校验。
-
服务端校验
客户端上传的signature和服务端计算的signature进行对比。若一致,则校验通过;若不一致,则返回相对应的错误码。
接口说明
该服务是基于 WebSocket 协议实现数据的传输的。主要包括两个阶段:握手阶段和实时通信阶段。
握手阶段
WebSocket握手阶段主要用于业务参数声明和权限校验,参数在握手请求的url中指定,握手请求和参数必须符合websocket协议规范(rfc6455)
-
调用接口(拟)
协议 |
调用链接 |
WebSocket |
ws://test.95590.cn/kdvoice/?{请求参数} |
请求参数格式为key1=value1&key2=value2…(key和value都需要进行url_encode)
-
请求示例:
ws://test.xxxx.cn/xxxx/?uniqueId=sip-4-1576118532.64017&enterpriseId=7600147&cno=20002&monitorSide=2&callStartTimestamp=1576118532000&customerNumber=88888888&agentNumber=999999999&sampleRate=8000&sampleWidth=16×tamp=1576118551857&authString=poc001%2
-
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
uniqueId |
String |
true |
当前通话通道唯一标识 |
mainUniqueId |
String |
true |
通话唯一标识,如果是主通道,mainUniqueId 等于 uniqueId |
monitorSide |
Integer |
true |
录音侧:0:混合,1:座席,2:客户 |
enterpriseId |
Integer |
true |
企业ID |
cno |
String |
true |
座席工号 |
callStartTimestamp |
String |
true |
通话开始时间戳,13位unix时间戳,单位毫秒 |
customerNumber |
String |
true |
客户电话号码 |
agentNumber |
String |
true |
坐席电话号码 |
sampleRate |
Integer |
true |
采样率,单位每秒XX次,本次默认为8000 |
sampleWidth |
Integer |
true |
采样宽度,单位:位,本次默认为16 |
timestamp |
String |
true |
websocket连接建立时间,13位,单位毫秒 |
authString |
String |
true |
鉴权参数串。它的值由baseString和signature拼接而成,拼接符为逗号,拼接后进行url_encode。例:“tr001,clink2,2018-09-25T19:34:42+0800,GOzDfDFC9ackodnz03TuKXPT224=”,"tr001,clink2,2018-09-25T19:34:42+0800"为baseString,"GOzDfDFC9ackodnz03TuKXPT224="为signature。 |
-
返回信息
请求成功
{
"event":"started",
"sessionId":"fc325ada-649b-4c73-9916-b18c4eb0bce7"
}
请求失败
拒绝建立连接
实时推送阶段
Websocket连接建立之后,进入实时通信阶段,此时客户端的主动操作有两种:上传数据和结束上传,被动操作为接受心跳数据和超时断开。
-
上传数据
在实时转写过程中,客户端不断构造binary message发送到服务端,内容是音频的二进制数据。
-
结束上传
在音频数据全部上传完成后,客户端构造一个text message发送到服务端,内容是{"action": "end"}。
6.7. 满意度记录
6.7.1. 查询满意度记录列表
GET /cc/list_investigations
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
hiddenType |
Integer |
false |
是否隐藏号码。 0: 不隐藏,1: 中间四位,2: 最后八位,3: 全部号码,4: 最后四位。默认值为 0 |
customerNumber |
String |
false |
客户号码 |
hotline |
String |
false |
热线号码 |
mainUniqueId |
String |
false |
通话唯一标识 |
startTime |
Long |
false |
开始时间,时间戳格式精确到秒。默认值取当前月份第一天 |
endTime |
Long |
false |
结束时间,时间戳格式精确到秒,开始时间和结束时间跨度不能超过一个月。默认值取当前时间 |
offset |
Integer |
false |
偏移量,范围 0-99990。默认值为 0。注:limit + offset 不允许超过100000 |
limit |
Integer |
false |
查询条数,范围 10-100。默认值为 10。注:limit + offset 不允许超过100000 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
cdrInvestigations |
Object[] |
|
pageNumber |
Integer |
当前页码 |
pageSize |
Integer |
一页展示条数 |
totalCount |
Integer |
总条数 |
满意度记录列表
名称 | 类型 | 描述 |
---|---|---|
mainUniqueId |
String |
主通道通话唯一标识 |
hotline |
String |
来电热线号码 |
numberTrunk |
String |
中继号 |
queue |
String |
队列号 |
customerNumber |
String |
客户号码 |
callType |
String |
呼叫类型 |
cno |
String |
座席编号 |
clientName |
Integer |
座席名称 |
transfer |
String |
转移 |
consult |
String |
咨询 |
startTime |
long |
开始时间 |
endTime |
long |
结束时间 |
keys |
Integer |
满意度按键值;当键值为 null 时,说明用户无按键操作 |
multiKeys |
String |
多按键值 |
recordFile |
String |
录音地址 |
customerCity |
String |
客户号码所在城市 |
customerProvince |
String |
客户号码所在省份 |
customerNumberEncrypt |
String |
加密号码 |
bridgeDuration |
Integer |
通话时长 |
示例
请求示例
https://api-bj.clink.cn/cc/list_investigations?
offset=0
&limit=10
&hiddenType=1
&customerNumber=153xxxx8888
&hotline=02788xxxx888
&startTime=1536201058
&endTime=1536201058
&mainUniqueId=medias_1-1620645376.86
&<公共请求参数>
返回示例
{
"requestId": "ba078ace-717c-4dea-af41-d4dd5035edd6",
"pageNumber": 1,
"pageSize": 10,
"totalCount": 1,
"cdrInvestigations": [
{
"mainUniqueId": "medias_1-0000000000.0",
"hotline": "",
"numberTrunk": "",
"queue": "",
"customerNumber": "153xxxx8888",
"callType": "预览外呼",
"cno": "2005",
"clientName": "zhangsan",
"transfer": "",
"consult": "",
"startTime": 1537863298,
"endTime": 1537863302,
"keys": 1,
"multiKeys": "01",
"recordFile": "8000026-20180920113735-153xxxx8888-8001--record-AWS_DEV_MEDIA_SERVER_8-1537414655.24",
"customerCity": "北京",
"customerProvince": "北京",
"customerNumberEncrypt": "TNjljZjZlNjgxYmIwNjMxGEwMzA3MmQ0MDQzYWEyMjY",
"bridgeDuration": 12
}
]
}
6.7.2. 添加满意度记录
POST /cc/create_investigations
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
mainUniqueId |
String |
true |
通话唯一标识 |
keys |
Integer |
true |
满意度记录值 |
示例
请求示例
https://api-bj.clink.cn/create_investigations&<公共请求参数>
请求体
{
"mainUniqueId":"medias_1-0000000000.0",
"keys":1
}
返回示例
{
"requestId":"ba078ace-717c-4dea-af41-d4dd5035edd6",
"investigation":{
"mainUniqueId":"medias_1-0000000000.0",
"keys":1
}
}
6.8. 日志记录
6.8.1. 查询登录日志记录列表
GET /cc/list_log_login
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
userType |
String |
true |
用户类型 (字段废弃) 1: 管理员, 2: 座席 |
startTime |
Long |
true |
开始时间,时间戳格式精确到秒。默认值取当前月份第一天 |
endTime |
Long |
true |
结束时间,时间戳格式精确到秒,开始时间和结束时间跨度不能超过一个月。默认值取当前时间 |
offset |
Integer |
false |
偏移量 |
limit |
Integer |
false |
查询条数 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
loginLogs |
Object[] |
|
pageNumber |
Integer |
当前页码 |
pageSize |
Integer |
一页展示条数 |
totalCount |
Integer |
总条数 |
登录日志记录列表
名称 | 类型 | 描述 |
---|---|---|
enterpriseId |
String |
企业id |
identifier |
String |
企业编号 |
loginMethod |
String |
登录方式 管理员:1: 管理员后台 2: 管理员微信 座席:3: 座席前台 4: 座席微信 5: 工具条 |
cno |
String |
座席号 |
qno |
String |
队列号 |
qname |
String |
队列名称 |
username |
String |
用户名 |
ip |
String |
登录IP |
loginType |
String |
登录类型 1: 登入 2: 登出 |
logOnOrOutTime |
long |
登入/登出时间 |
userType |
String |
用户类型 1: 管理员 2:座席 |
result |
String |
登录结果 1: 成功 2: 失败 |
description |
String |
登录结果描述 |
示例
请求示例
https://api-bj.clink.cn/cc/list_log_login?
offset=0
&limit=10
&userType=2
&startTime=1646841600
&endTime=1646927999
&<公共请求参数>
返回示例
{
"requestId": "ba078ace-717c-4dea-af41-d4dd5035edd6",
"pageNumber": 1,
"pageSize": 10,
"totalCount": 1,
"loginLogs": [
{
"enterpriseId":"8000559",
"identifier":"xx",
"loginMethod":"6",
"cno":"522123",
"qno":"5222",
"qname":"app队列",
"username":"张三",
"ip":"118.197.99.35",
"loginType":"2",
"logOnOrOutTime":1646927459,
"userType": null,
"result":"1",
"description":"登出成功"
}
]
}
6.8.2. 查询操作日志记录列表
GET /cc/list_log_operation
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
userType |
String |
true |
用户类型 1: 管理员, 2: 座席 |
startTime |
Long |
true |
开始时间,时间戳格式精确到秒。默认值取当前月份第一天 |
endTime |
Long |
true |
结束时间,时间戳格式精确到秒,开始时间和结束时间跨度不能超过一个月。默认值取当前时间 |
offset |
Integer |
false |
偏移量 |
limit |
Integer |
false |
查询条数 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
operationLogs |
Object[] |
|
pageNumber |
Integer |
当前页码 |
pageSize |
Integer |
一页展示条数 |
totalCount |
Integer |
总条数 |
操作日志记录列表
名称 | 类型 | 描述 |
---|---|---|
enterpriseId |
String |
企业id |
platform |
String |
操作平台 1:后台;2:微信端 |
cno |
String |
座席号 |
operator |
String |
操作人 |
module |
String |
操作模块 2:通话记录;3:报表统计;4:客户管理;5:工单管理;6:外呼管理;7:系统监控;8:电话设置;9:知识库;10:增值服务;11:系统管理;12:客服质检;13:客服管理;15:业务记录;16:在线客服;17:日志管理;18:问卷管理;19:自动外呼任务 |
object |
String |
操作对象 |
optType |
String |
操作方式 |
userType |
String |
用户类型 1:管理员;2:座席 |
operateTime |
Long |
操作时间 |
result |
String |
操作结果 1:成功;2:失败 |
comment |
String |
详细信息 |
示例
请求示例
https://api-bj.clink.cn/cc/list_log_operation?
offset=0
&limit=10
&userType=2
&startTime=1646841600
&endTime=1646927999
&<公共请求参数>
返回示例
{
"requestId": "ba078ace-717c-4dea-af41-d4dd5035edd6",
"pageNumber": 1,
"pageSize": 10,
"totalCount": 1,
"operationLogs": [
{
"enterpriseId":"8000559",
"platform":"3",
"cno":"13524",
"operator":"13524",
"module":"3",
"object":"知识库文章查询,id:",
"optType":"读取",
"userType":"2",
"operateTime":1646824065,
"result":"1",
"comment":"知识库文章查询;path:/api/kb/articles;请求参数:{\"kbId\":\"\",\"limitOffset\":{\"limit\":10,\"offset\":0},\"channelType\":\"CONTENT\",\"type\":0,\"pinyinStatus\":\"\",\"directoryId\":\"\",\"keyword\":\"\",\"order\":\"NONE\"};操作用户:13524,企业ID:8000559"
}
]
}
6.8.3. 查询工作日志记录列表
GET /cc/list_log_agent
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
startTime |
Long |
true |
开始时间,时间戳格式精确到秒。默认值取当前月份第一天 |
endTime |
Long |
true |
结束时间,时间戳格式精确到秒,开始时间和结束时间跨度不能超过一个月。默认值取当前时间 |
offset |
Integer |
false |
偏移量 |
limit |
Integer |
false |
查询条数 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
agentLogs |
Object[] |
|
pageNumber |
Integer |
当前页码 |
pageSize |
Integer |
一页展示条数 |
totalCount |
Integer |
总条数 |
工作日志记录列表
名称 | 类型 | 描述 |
---|---|---|
cno |
String |
座席号 |
agentName |
String |
座席姓名 |
qname |
String |
所属队列 |
eventDesc |
String |
事件描述 |
eventTime |
Integer |
事件时间 |
data1 |
String |
附加数据1 |
data2 |
String |
附加数据2 |
data3 |
String |
附加数据3 |
data4 |
String |
附加数据4 |
data5 |
String |
附加数据5 |
detail |
String |
描述信息 |
statisticType |
Integer |
统计类型 2: 呼叫中心 |
示例
请求示例
https://api-bj.clink.cn/cc/list_log_agent?
offset=0
&limit=10
&startTime=1646841600
&endTime=1646927999
&<公共请求参数>
返回示例
{
"requestId": "ba078ace-717c-4dea-af41-d4dd5035edd6",
"pageNumber": 1,
"pageSize": 10,
"totalCount": 1,
"agentLogs": [
{
"cno":"389400069",
"agentName":"zhangwd",
"qname":"zhangwd,feng123",
"eventDesc":"置闲",
"eventTime":1646830387,
"data1":"",
"data2":"",
"data3":"",
"data4":"",
"data5":null,
"detail":"",
"statisticType":2
}
]
}
6.8.4. 查询工作时长日志记录列表
GET /cc/list_log_agent_duration
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
startTime |
Long |
true |
开始时间,时间戳格式精确到秒。默认值取当前月份第一天 |
endTime |
Long |
true |
结束时间,时间戳格式精确到秒,开始时间和结束时间跨度不能超过一个月。默认值取当前时间 |
offset |
Integer |
false |
偏移量 |
limit |
Integer |
false |
查询条数 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
agentLogs |
Object[] |
|
pageNumber |
Integer |
当前页码 |
pageSize |
Integer |
一页展示条数 |
totalCount |
Integer |
总条数 |
工作时长日志记录列表
名称 | 类型 | 描述 |
---|---|---|
cno |
String |
座席号 |
agentName |
String |
座席姓名 |
qname |
String |
所属队列 |
startTime |
Long |
开始时间 |
endTime |
Long |
结束时间 |
duration |
Integer |
持续时间 |
stateDesc |
String |
状态描述 |
createTime |
Integer |
创建时间 |
data1 |
String |
附加数据1 |
data2 |
String |
附加数据2 |
detail |
String |
描述信息 |
statisticType |
Integer |
统计类型 2: 呼叫中心 |
示例
请求示例
https://api-bj.clink.cn/cc/list_log_agent_duration?
offset=0
&limit=10
&startTime=1646841600
&endTime=1646927999
&<公共请求参数>
返回示例
{
"requestId": "ba078ace-717c-4dea-af41-d4dd5035edd6",
"pageNumber": 1,
"pageSize": 10,
"totalCount": 1,
"agentDurationLogs": [
{
"cno":"2029",
"agentName":"wangli",
"qname":"wangli_Q1,wangli_Q3,wyyceshi",
"startTime":1646838000,
"endTime":1646841600,
"duration":3600,
"stateDesc":"空闲",
"createTime":null,
"data1":"",
"data2":"",
"detail":"",
"statisticType":2
}
]
}
7. 监控
7.1. 座席状态监控
GET /cc/agent_status
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
qnos |
String[] |
false |
所属队列号 |
cnos |
String[] |
false |
座席号,4-11 位数字 |
agentStatus |
String[] |
false |
座席状态, IDLE:空闲; PAUSE:置忙; WRAPUP:整理; CALLING: 呼叫中; RINGING:响铃; BUSY:通话 |
agentStatusDetails |
String[] |
false |
座席状态详情,空闲,忙碌,整理,呼叫中,响铃,呼入振铃,外呼振铃,通话,呼入通话,外呼通话,自定义置忙状态查询置忙状态 |
pauseTypes |
Integer[] |
false |
置忙类型,1:普通;2:休息;3:IM;4:强制 |
offset |
Integer |
false |
偏移量,默认值为 0,最大范围10000 |
limit |
Integer |
false |
查询记录条数,默认只为 10,最大范围100 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
agentStatus |
Object[] |
|
pageNumber |
Integer |
当前页码 |
pageSize |
Integer |
一页展示条数 |
totalCount |
Integer |
总条数 |
座席状态详情
名称 |
类型 |
描述 |
cno |
String |
座席号 |
clientName |
String |
座席名称 |
bindType |
Integer |
电话类型,1:电话;2:IP话机;3:软电话 |
bindTel |
String |
绑定号码 |
customerNumber |
String |
客户号码 |
customerNumberEncrypt |
String |
客户来电号码加密串 |
pauseType |
Integer |
置忙类型 |
pauseDescription |
String |
置忙状态描述 |
agentStatus |
String |
座席状态 |
customerStatus |
String |
客户状态,空闲,呼叫中,响铃,通话 |
agentStatusDetail |
String |
座席状态详情 |
idleTimeOut |
Integer |
空闲超时时间(单位分钟) |
incomingCallCount |
Integer |
座席来电次数 |
queueIncomingCallCount |
Integer |
队列来电接听数 |
bridgeCallCount |
Integer |
座席来电接听次数 |
stateDuration |
Long |
状态时长 |
loginDuration |
Long |
登录时长 |
ibAnsweredRingingDuration |
Long |
呼入接听总响铃时长 |
code |
String |
座席code |
queueInfo |
String |
队列信息 |
queues |
String |
队列编号 |
obCallCount |
Integer |
座席外呼数 |
obClientUnbridgeCount |
Integer |
外呼座席未接听数 |
obCustomerBridgeCount |
Integer |
外呼客户接听数 |
obCustomerUnbridgeCount |
Integer |
外呼客户未接听数 |
obBridgeRate |
Double |
外呼接听率 |
obBridgeDuration |
Long |
外呼通话时长 |
obAvgBridgeDuration |
Long |
外呼平均通话时长 |
tagNames |
String[] |
座席标签 |
ibClientAnsweredCount |
Integer |
客户呼入接听数 |
ibClientUnansweredCount |
Integer |
客户呼入未接听数 |
quickUnlinkCount |
Integer |
客户速挂数 |
ibClientTotalCount |
Integer |
客户呼入数 |
ibClientAnsweredRate |
Double |
客户呼入接听率 |
predictToCall |
Integer |
座席是否处于预测外呼状态 1:是 0:否 |
queuesMap |
Map<String,String> |
队列号,队列名映射。 |
示例
请求示例
https://api-bj.clink.cn/cc/agent_status
&<公共请求参数>
返回示例
{
"pageNumber":1,
"requestId":"ba078ace-717c-4dea-af41-d4dd5035edd6",
"pageSize":10,
"totalCount":13,
"agentStatus":[
{
"cno":"0000",
"clientName":"0000",
"bindType": 1,
"bindTel": "18782004287",
"customerNumber": "",
"customerNumberEncrypt": "",
"pauseType": null,
"pauseDescription": null,
"agentStatus": "空闲",
"customerStatus": "空闲",
"agentStatusDetail": "空闲",
"idleTimeOut": 5,
"incomingCallCount": 0,
"bridgeCallCount": 0,
"queueIncomingCallCount": 0,
"stateDuration": 4113,
"loginDuration": 1206474,
"ibAnsweredRingingDuration": null,
"code": null,
"queueInfo": null,
"queues": null,
"queuesMap": {
"4287": "第一队"
},
"obCallCount": null,
"obClientUnbridgeCount": null,
"obCustomerBridgeCount": null,
"obCustomerUnbridgeCount": null,
"obBridgeRate": 0.0,
"obBridgeDuration": 0,
"obAvgBridgeDuration": 0,
"tagNames": null,
"ibClientAnsweredCount": 0,
"ibClientUnansweredCount": 0,
"quickUnlinkCount": 0,
"ibClientTotalCount": 0,
"ibClientAnsweredRate": 0.0,
"predictToCall": 0
}
]
}
7.2. 座席状态详情
GET /cc/agent_status_detail
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
cno |
String |
true |
座席号,4-11 位数字 |
返回参数
名称 |
类型 |
描述 |
enterpriseId |
Integer |
企业id |
cno |
String |
座席号 |
name |
String |
座席名称 |
loginType |
Integer |
登录终端,1:工具条;2:座席;3:管理员;4:接口;6:APP;9:移动SDK |
bindType |
Integer |
电话类型,1:电话;2:IP话机;3:软电话 |
bindTel |
String |
绑定号码 |
status |
String |
座席状态, IDLE:空闲; PAUSE:置忙; WRAPUP:整理; CALLING: 呼叫中; RINGING:响铃; BUSY:通话 |
statusDetails |
String |
座席状态详情,空闲,忙碌,整理,呼叫中,响铃,呼入振铃,外呼振铃,通话,呼入通话,外呼通话,自定义置忙状态 |
示例
请求示例
https://api-bj.clink.cn/agent_status_detail?cno=0000
&<公共请求参数>
返回示例
{
"requestId": "72382c74-ac75-4252-b6ba-32ebe5df98bf",
"agentStatusDetail": {
"enterpriseId": 8000559,
"bindTel": "0000",
"cno": "0000",
"name": "0000",
"loginType": 1,
"bindType": 3,
"statusDetails": "忙碌",
"status": "PAUSE"
}
}
7.3. 队列状态监控
GET /cc/queue_status
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
qnos |
String[] |
true |
所属队列号 |
statusScope |
String |
false |
监控范围,all(默认):全部;queueEntries: 排队成员;queueParams:队列参数;agentStatus:队列成员(设置的范围值非all时,其他属性会返回为`null`) |
返回参数
名称 | 类型 | 描述 |
---|---|---|
queueStatus |
Object[] |
座席状态详情
名称 | 类型 | 描述 |
---|---|---|
queueParams |
Object |
|
agentStatus |
Object[] |
|
queueEntries |
Object[] |
队列参数
名称 | 类型 | 描述 |
---|---|---|
maxWait |
Integer |
最大等待座席数 |
availableCount |
Integer |
可用座席数 |
idleCount |
Integer |
空闲座席数 |
completed |
Integer |
接通电话数 |
abandoned |
Integer |
放弃电话数 |
calls |
Integer |
等待电话数 |
serviceLevel |
Integer |
服务水平描述 |
serviceLevelPerf |
String |
服务水平 |
weight |
Integer |
队列优先级 |
strategy |
Integer |
排队策略,1: 顺序;2: 轮选;3: 平均;4: 随机;5: 技能优先;6: 最长空闲时间 |
queueTimeout |
Integer |
队列超时时长 |
memberTimeout |
Integer |
座席超时时长 |
队列成员
名称 | 类型 | 描述 |
---|---|---|
cno |
String |
座席号 |
clientName |
String |
座席名称 |
bindType |
Integer |
电话类型,1:电话;2:IP话机;3:软电话 |
bindTel |
String |
绑定号码 |
customerNumber |
String |
客户号码 |
customerNumberEncrypt |
String |
客户来电号码加密串 |
pauseType |
Integer |
置忙类型 |
agentStatus |
String |
座席状态,座席状态,IDLE:空闲;PAUSE:置忙;WRAPUP:整理;CALLING:呼叫中;RINGING:响铃;BUSY:通话 |
incomingCallCount |
Integer |
座席来电次数 |
bridgeCallCount |
Integer |
座席来电接听次数 |
stateDuration |
Long |
状态时长 |
loginDuration |
Long |
登录时长 |
排队成员
名称 | 类型 | 描述 |
---|---|---|
uniqueId |
String |
通话唯一标识 |
customerNumber |
String |
客户主叫号码 |
startTime |
Long |
客户来电时间 |
joinTime |
Long |
进入排队时间 |
waitTime |
Long |
客户等待时长 |
priority |
Integer |
客户等级,0:普通; 1:VIP; |
overflow |
Integer |
溢出次数 |
position |
Integer |
排队位置 |
示例
请求示例
https://api-bj.clink.cn/queue_status?qnos=0000
&<公共请求参数>
返回示例
{
"queueStatus": [
{
"qno": "0000",
"qname": "0000",
"queueParams": {
"maxWait": 5,
"availableCount": 1,
"idleCount": 0,
"completed": 0,
"abandoned": 10,
"calls": 2,
"serviceLevel": 10,
"serviceLevelPerf": "0.00",
"weight": 2,
"strategy": 1,
"queueTimeout": 600,
"memberTimeout": 25
},
"agentStatus": [
{
"cno": "6666",
"clientName": "6666",
"bindType": 3,
"bindTel": "0000",
"customerNumber": "",
"pauseType": 1,
"pauseDescription": ",忙碌",
"agentStatus": "PAUSE",
"incomingCallCount": 0,
"bridgeCallCount": 0,
"stateDuration": 0,
"loginDuration": 0
}
],
"queueEntries": [
{
"customerNumber": "130xxxx0000",
"customerNumberEncrypt": null,
"startTime": 1574236309,
"joinTime": 1574236310,
"waitTime": 10,
"priority": 0,
"uniqueId": "medias_1-1500000000.100",
"overflow": 1,
"position": 2
}
]
}
],
"requestId": "0c29f98e-8d36-4c58-90e6-e53121e5552a"
}
8. 报表
8.1. 座席状态报表
POST /cc/stat_client_status
请求参数
字段名 | 类型 | 必填 | 说明 |
---|---|---|---|
date |
String |
true |
同步日期,时间格式(yyyyMMdd) |
fields |
List<String> |
false |
指定需要显示的字段 (默认全部) |
startHour |
Integer |
false |
查询开始时间 (单位:小时,范围:0-24) |
endHour |
Integer |
false |
查询结束时间 (单位:小时,范围:0-24) |
报表字段 注:时长字段 单位均为秒
字段名 | 类型 | 说明 |
---|---|---|
date |
String |
日期 |
cno |
String |
座席编号 |
clientName |
String |
座席名称 |
qno |
String |
队列编号 |
qname |
String |
队列名称 |
statisticsCount |
Integer |
状态统计次数 |
detail |
Map<String,Integer> |
状态统计详情(含次数和时长且成对出现) |
返回参数
名称 | 类型 | 描述 |
---|---|---|
statClientStatus |
List<Map<String,Object>> |
报表数据 |
示例
请求示例
https://api-bj.clink.cn/cc/stat_client_status
&date=20200225
&<公共请求参数>
返回示例
{
"requestId":"38ce8a44-6850-44e4-a074-9359wqf4cc73",
"statClientStatus":[
{
"date":"20200410",
"cno":"0000",
"clientName":"小陈",
"qno":"小陈的队列",
"qnmae":"0001",
"statisticsCount":4,
"detail":{
"午饭次数":"2",
"午饭时间":160,
"小休次数":"1",
"小休时间":50,
"示忙次数":"1",
"示忙时间":50
}
}
]
}
8.2. 座席报表
POST /cc/stat_client
请求参数
字段名 | 类型 | 必填 | 说明 | 示例 |
---|---|---|---|---|
date |
String |
true |
同步日期,时间格式(yyyyMMdd) |
20240203 |
dateEnd |
String |
false |
同步日期截止,时间格式(yyyyMMdd) ,默认与date相同,查询时间范围最大支持6个月 |
20240303 |
cnos |
List<String> |
false |
座席工号,指定需要查询的座席 (默认全部座席) |
0001,0002 |
fields |
List<String> |
false |
指定需要显示的字段 (默认全部) 传入statKey可返回按键值及按键值占比,如返回示例中的statKeyCount1与statKeyRate1 |
ibTotalCount,obTotalCount |
statisticMethod |
Integer |
false |
统计方式 (默认为2:汇总) 取值范围为[2,3]; 2:汇总统计;3:分时统计 注:分时统计下只会返回存在座席工作情况的数据,若座席在该时段没有工作或进行登录,则不会返回该时段的数据 |
2 |
startHour |
Integer |
false |
查询开始时间 (单位:小时,范围:0-23),缺省值为0 |
0 |
endHour |
Integer |
false |
查询结束时间 (单位:小时,范围:0-23),缺省值为23 |
23 |
startMinute |
Integer |
false |
查询开始分钟 (单位:分,范围:0、15、30、45),缺省值为0 |
0 |
endMinute |
Integer |
false |
查询结束分钟 (单位:分,范围:0、15、30、45、59),缺省为59 注:由startHour:startMinute和endHour:endMinute组成的开始时间和结束时间,开始时间不得晚于或等于结束时间。 只使用startHour或endHour时,请注意startMinute与endMinute的缺省值。 |
59 |
报表字段 注:时长字段 单位均为秒
字段名 | 类型 | 说明 | 释义 |
---|---|---|---|
date |
String |
日期 |
当统计方式为2时会回传同步日期;统计方式为3时会返回分时信息,例 0-1时 |
cno |
String |
座席工号 |
座席工号 |
clientName |
String |
座席名称 |
座席名称 |
totalBridgeDuration |
Integer |
通话总时长 |
呼入通话总时长+外呼通话总时长 |
ibBridgeDuration |
Integer |
呼入通话总时长 |
客户呼入通话,座席接听总通话时长(不包括内部呼叫) |
totalDuration |
Integer |
总时长 |
呼入总时长+外呼总时长 |
ibTotalDuration |
Integer |
呼入总时长 |
客户呼入,在通话记录统计中,从开始时间到通话结束时间的总时长(不包括内部呼叫) |
obTotalDuration |
Integer |
外呼总时长 |
外呼通话,从发起通话到通话结束的总时长(包含预览外呼+主叫外呼两种类型,座席未接听、客户未接听、双方接听三种状态,但不包括内部呼叫+webcall+预测外呼) |
ibClientCount |
Integer |
客户呼入座席总通数 |
客户呼入接通通数+客户呼入未接通通数+客户速挂数 |
ibTotalCount |
Integer |
座席来电总次数 |
座席来电接听次数+座席来电未接听次数 |
obTotalCount |
Integer |
座席外呼总次数 |
外呼客户的总次数(包含预览外呼+主叫外呼;不包括内部呼叫+webcall+预测外呼) |
ibClientAnsweredCount |
Integer |
客户呼入接听通数 |
在呼入座席总通数中,座席接听的通数(不包括内部呼叫、转移、咨询、三方通话) |
ibClientUnansweredCount |
Integer |
客户呼入未接听通数 |
在呼入座席总通数中,座席未接听的通数(不包含客户速挂数) |
ibClientAnsweredRate |
Double |
客户呼入座席接听率 |
客户呼入接听通数/(客户呼入接听通数+客户呼入未接听通数) |
ibAnsweredCount |
Integer |
座席来电接听次数 |
座席来电中,座席接听的次数(不包括内部呼叫) |
ibUnansweredCount |
Integer |
座席来电未接听次数 |
座席来电中,座席未接听的次数 |
ibAnsweredRate |
Double |
座席来电接听率 |
座席来电接听次数/(座席来电接听次数+座席来电未接听次数) |
agentAnswerInTimeCount |
Integer |
座席及时应答数 |
客户呼入,从座席振铃到被座席接听的等待时长小于预设值,则为座席及时应答(默认为10秒)配置路径:呼叫中心-全局设置-呼叫行为-座席及时应答 |
customerHangupCount |
Integer |
客户挂断数 |
客户呼入接听后,由客户主动挂机并结束通话的次数 |
clientHangupCount |
Integer |
座席挂断数 |
客户呼入接听后,由座席主动挂机并结束通话的次数 |
quickUnlinkCount |
Integer |
客户速挂数 |
客户速挂开启后,当通话分配到座席时,如果座席的振铃时长小于设定的时长客户就挂机,记为客户速挂,这部分数据不计入座席的接听率之中。 |
ibValidCount |
Integer |
呼入有效通话次数 |
人工接听通话时长大于自定义配置时长的呼入次数(未配置则默认5秒) |
ibAvgValidDuration |
Integer |
呼入有效通话平均时长 |
呼入有效通话的平均时长(呼入有效通话总时长/呼入有效通话次数) |
ibValidDuration |
Integer |
呼入有效通话时长 |
呼入有效通话的总通话时长 |
ibRingingRangeCount |
Integer |
X秒接听数 |
客户呼入,在预设的振铃时长内被座席接听,则该通话为某个预设值的接听数,默认为:10秒、15秒、20秒(配置路径:呼叫报表-属性设置-接听时长设置) |
ibRingingRangeRate |
Double |
X秒接听率 |
X秒接听数/客户呼入接听通数,只查询率X秒接听率(队列)时,会将对应的接听数一并返回 |
ibAvgRingDuration |
Integer |
呼入平均振铃时长 |
客户呼入,平均振铃时长 |
ibAnsweredAvgRingDuration |
Integer |
呼入接听平均振铃时长 |
客户呼入,座席接听振铃平均时长 |
ibUnansweredAvgRingDuration |
Integer |
呼入未接听平均振铃时长 |
客户呼入,座席未接听振铃平均时长 |
ibMaxBridgeDuration |
Integer |
呼入最大通话时长 |
呼入通话中,座席接听最大通话时长 |
ibMinBridgeDuration |
Integer |
呼入最小通话时长 |
呼入通话中,座席接听最小通话时长 |
ibAvgBridgeDuration |
Integer |
呼入平均通话时长 |
呼入通话中,座席接听的平均通话时长 |
ibAvgAnswerDelayDuration |
Integer |
呼入接听平均延迟时长 |
从开始呼叫座席,到座席接听前的平均时长(呼入接听总延迟时长/客户呼入接听通数) |
ibAnswerDelayDuration |
Integer |
呼入接听总延迟时长 |
从开始呼叫座席,到座席接听前的总时长(客户呼入) |
ibMaxAnswerDelayDuration |
Integer |
呼入接听最大延迟时长 |
从开始呼叫座席,到座席接听前的最大时长(客户呼入) |
ibMinAnswerDelayDuration |
Integer |
呼入接听最小延迟时长 |
从开始呼叫座席,到座席接听前的最小时长(客户呼入) |
ibWrapUpDuration |
Integer |
呼入总整理时长 |
呼入通话后,座席的总整理时长 |
ibMaxWrapUpDuration |
Integer |
呼入最大整理时长 |
呼入通话后,座席的最大整理时长 |
ibMinWrapUpDuration |
Integer |
呼入最小整理时长 |
呼入通话后,座席的最小整理时长 |
ibAvgWrapUpDuration |
Integer |
呼入平均整理时长 |
呼入通话后,座席的平均整理时长 |
ibAvgHandleDuration |
Integer |
呼入平均处理时长 |
呼入通话中,座席处理每通通话的平均时长(呼入通话总时长+ 呼入总整理时长)/ 客户呼入接听通数 |
ibHoldDuration |
Integer |
呼入总保持时长 |
呼入通话中,座席操作保持的总时长 |
ibAvgHoldDuration |
Integer |
呼入平均保持时长 |
呼入通话中,座席操作保持的平均时长(呼入总保持时长/呼入保持次数) |
ibHoldCount |
Integer |
呼入保持次数 |
呼入通话时,座席操作保持通话的总次数 |
ibTransferCount |
Integer |
呼入发起转移数 |
电话呼入到本座席,主动发起转移通话到其他座席的电话次数 |
ibTransferredCount |
Integer |
呼入被转移数 |
电话呼入到其他座席,由其他座席将通话转移到本座席的电话次数 |
ibTransferredAnsweredRate |
Double |
呼入被转移接听率 |
电话呼入到其他座席,由其他座席将通话转移到本座席的接听率(呼入被转移接听数/呼入被转移数) |
ibTransferredAnsweredCount |
Integer |
呼入被转移接听数 |
电话呼入到其他座席,由其他座席将通话转移到本座席接听的次数 |
ibTransferredUnansweredCount |
Integer |
呼入被转移未接听数 |
电话呼入到其他座席,由其他座席将通话转移到本座席未接听的次数 |
ibTransferAnsweredRate |
Double |
呼入发起转移接听率 |
电话呼入到本座席,主动发起转移通话到其他座席的接听率(呼入发起转移接听数/呼入发起转移数) |
ibTransferAnsweredCount |
Integer |
呼入发起转移接听数 |
电话呼入到本座席,主动发起转移通话到其他座席的接听数 |
ibTransferUnansweredCount |
Integer |
呼入发起转移未接听数 |
电话呼入到本座席,主动发起转移通话到其他座席的电话未接听次数 |
ibConsultCount |
Integer |
呼入发起咨询数 |
客户呼入通话,主动发起至其他座席的咨询次数 |
ibConsultedCount |
Integer |
呼入被咨询数 |
客户呼入通话,由其他座席咨询至本座席的次数 |
obAnsweredCount |
Integer |
外呼双方接听数 |
外呼通话,双方接听的电话次数 |
obCustomerNoAnswerCount |
Integer |
外呼客户未接听数 |
座席外呼通话,客户未接听的电话次数 |
obClientNoAnswerCount |
Integer |
外呼座席未接听数 |
座席外呼通话,座席未接听的电话次数(通过工作台发起外呼时,系统会先呼叫座席绑定设备,如具备通话条件,再呼叫客户) |
obBridgeDuration |
Integer |
外呼通话总时长 |
外呼通话,座席的通话总时长(双方接听时长) |
obMaxBridgeDuration |
Integer |
外呼最大通话时长 |
外呼通话时长,座席的最大通话时长(双方接听时长) |
obMinBridgeDuration |
Integer |
外呼最小通话时长 |
外呼通话时长,座席的最小通话时长(双方接听时长) |
obAvgBridgeDuration |
Integer |
外呼平均通话时长 |
外呼通话时长,座席的平均时长(双方接听时长) |
obAvgHoldDuration |
Integer |
外呼平均保持时长 |
外呼通话中,座席操作保持的平均时长(双方接听时长) |
obValidCount |
Integer |
外呼有效通话次数 |
外呼通话,双方接听通话时长大于自定义配置时长的外呼次数(未配置则默认5秒) |
obAvgValidDuration |
Integer |
外呼有效通话平均时长 |
外呼有效通话的平均时长(外呼有效通话总时长/外呼有效通话次数) |
obValidDuration |
Integer |
外呼有效通话时长 |
外呼有效通话的总通话时长 |
obHoldDuration |
Integer |
外呼总保持时长 |
外呼通话中,座席操作保持的总时长(双方接听时长) |
obHoldCount |
Integer |
外呼保持次数 |
外呼通话时,座席操作保持通话的总次数 |
obWrapUpDuration |
Integer |
外呼总整理时长 |
外呼通话后,座席的总整理时长 |
obAvgWrapUpDuration |
Integer |
外呼平均整理时长 |
外呼通话后,座席的平均整理时长 |
obAnsweredWaitDuration |
Integer |
客户接听等待总时长 |
客户接听,从外呼开始时间,到客户接听时的座席等待的总时长 |
obAnsweredWaitAvgDuration |
Integer |
客户接听平均等待时长 |
客户接听等待总时长/外呼双方接听数 |
obNoAnsweredWaitDuration |
Integer |
客户未接听等待总时长 |
客户未接听,从外呼开始时间到座席结束通话的等待的总时长 |
obNoAnsweredWaitAvgDuration |
Integer |
客户未接听平均等待时长 |
客户未接听等待总时长/外呼客户未接听数 |
internalBridgeCount |
Integer |
内部呼叫双方接听总次数 |
座席发起内部呼叫双方接听的总次数 |
internalTotalCount |
Integer |
内部呼叫总次数 |
座席发起内部呼叫的总次数 |
internalTotalDuration |
Integer |
内部呼叫总时长 |
座席发起内部呼叫的总时长 |
internalBridgeDuration |
Integer |
内部呼叫总通话时长 |
座席发起内部呼叫双方接听的总通话时长 |
internallyBridgeCount |
Integer |
被内部呼叫双方接听总次数 |
座席被内部呼叫双方接听的总次数 |
internallyTotalCount |
Integer |
被内部呼叫总次数 |
座席被内部呼叫的总次数 |
internallyTotalDuration |
Integer |
被内部呼叫总时长 |
座席被内部呼叫的总时长 |
internallyBridgeDuration |
Integer |
被内部呼叫总通话时长 |
座席被内部呼叫双方接听的总通话时长 |
keyCount |
Integer |
按键数 |
客户参与了满意度调查按键的通话总次数 |
keyRate |
Double |
参评率 |
客户参与满意度调查率(按键数/调查数) |
investigationTotalCount |
Integer |
调查数 |
客户进入了满意度调查的通话次数 |
abandonCount |
Integer |
放弃数 |
客户未参与做满意度调查的通话次数 |
firstIbBridgeCount |
Integer |
首次来电接听数 |
首次来电接听总次数(当前来电在首次来电时效内没有来电记录则视为首次来电,可自定义配置) |
firstIbSolveRate |
Double |
首次来电解决率 |
首次来电解决数/首次来电接听数 |
firstIbSolveCount |
Integer |
首次来电解决数 |
当前来电号码为首次来电,且在首次来电解决时效内没有再次来电的总数(可自定义配置) |
loginDuration |
Integer |
座席总登录时长 |
座席总登录时长(不包括登录初始化,座席工作时长日志内,空闲+呼叫中+通话+保持+整理+置忙各状态时长总和) |
idleDuration |
Integer |
总空闲时长 |
座席的总空闲时长 |
idleCount |
Integer |
总空闲次数 |
系统自动将座席置为空闲状态以及手动操作置为空闲状态的总次数。 |
avgIdleDuration |
Integer |
平均空闲时长 |
座席的平均空闲时长 |
minIdleDuration |
Integer |
最小空闲时长 |
座席的最小空闲时长 |
maxIdleDuration |
Integer |
最大空闲时长 |
座席的最大空闲时长 |
workPauseDuration |
Integer |
座席总工作置忙时长 |
座席的总工作置忙类型时长(置忙状态中的工作置忙状态) |
minWorkPauseDuration |
Integer |
最小工作置忙时长 |
座席的最小工作置忙类型时长 |
maxWorkPauseDuration |
Integer |
最大工作置忙时长 |
座席的最大工作置忙类型时长 |
restPauseDuration |
Integer |
座席总休息置忙时长 |
座席的总休息置忙类型时长(置忙状态中的休息置忙状态) |
minRestPauseDuration |
Integer |
最小休息置忙时长 |
座席的最小休息置忙类型时长 |
maxRestPauseDuration |
Integer |
最大休息置忙时长 |
座席的最大休息置忙类型时长 |
hoursUtilization |
Double |
工时利用率 |
座席处理通话在总登录时长中的占比(座席工作时长日志内,(通话+保持+整理)总时长/总登录时长) |
workPauseRate |
Double |
工作置忙占比 |
座席登录总时长中的工作置忙时间占比(总工作置忙时长/总登录时长) |
restPauseRate |
Double |
休息置忙占比 |
座席登录总时长中的休息置忙时间占比(总休息置忙时长/总登录时长) |
firstLogInTime |
String |
座席首次登录时间 |
统计时日内座席第一次登录系统的时间,不支持分时和时序查询;按天统计为当天首次登录时间;按周或按月统计为本周或本月内首次登录的时间 |
lastLogoutTime |
String |
座席最后登出时间 |
统计时日内座席最后一次退出系统的时间。不支持分时和时序查询;按天统计为当天最后一次下线的时间;按周或按月统计为本周或本月内最后一次下线的时间 |
firstIdleTime |
String |
座席首次空闲时间 |
统计时日内座席第一次切换为空闲状态的时间,不支持分时和时序查询;按天统计为当天首次空闲时间;按周或按月统计为本周或本月内首次空闲的时间 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
statClient |
List<Map<String,Object>> |
报表数据 |
示例
请求示例
POST https://api-bj.clink.cn/cc/stat_client?<公共请求参数>
Content-Type: application/x-www-form-urlencoded
date=20240203&dateEnd=20240303&statisticMethod=3&cnos=0001,0002
返回示例
{
"requestId":"ceb98dd9-6c3d-4ea6-a17a-e423192e892b",
"statClient":[
{
"cno": "0001",
"cname": "xx",
"date": "20240203",
"dateEnd": "20240303",
"totalBridgeDuration": 85,
"totalDuration": 137,
"ibTotalDuration": 122,
"ibBridgeDuration": 85,
"obTotalDuration": 15,
"ibClientCount": 1,
"ibTotalCount": 1,
"obTotalCount": 1,
"ibClientAnsweredCount": 1,
"ibClientUnansweredCount": 0,
"ibAvgRingDuration": 0,
"ibAnsweredAvgRingDuration": 0,
"ibUnansweredAvgRingDuration": 0,
"ibClientAnsweredRate": 100.0,
"ibAnsweredCount": 1,
"ibUnansweredCount": 0,
"ibAnsweredRate": 100.0,
"agentAnswerInTimeCount": 0,
"customerHangupCount": 0,
"clientHangupCount": 1,
"quickUnlinkCount": 0,
"ibValidCount": 1,
"ibValidDuration": 85,
"ibAvgValidDuration": 85,
"ibMaxBridgeDuration": 85,
"ibMinBridgeDuration": 85,
"ibAvgBridgeDuration": 85,
"ibAvgAnswerDelayDuration": 29,
"ibAnswerDelayDuration": 29,
"ibMaxAnswerDelayDuration": 29,
"ibMinAnswerDelayDuration": 29,
"ibWrapUpDuration": 0,
"ibMaxWrapUpDuration": 0,
"ibMinWrapUpDuration": 0,
"ibAvgWrapUpDuration": 0,
"ibAvgHandleDuration": 85,
"ibHoldDuration": 0,
"ibHoldCount": 0,
"ibAvgHoldDuration": 0,
"ibTransferCount": 0,
"ibTransferAnsweredCount": 0,
"ibTransferUnansweredCount": 0,
"ibTransferAnsweredRate": 0.0,
"ibTransferredCount": 0,
"ibTransferredAnsweredCount": 0,
"ibTransferredAnsweredRate": 0.0,
"ibTransferredUnansweredCount": 0,
"ibConsultCount": 0,
"ibConsultedCount": 0,
"obAnsweredCount": 0,
"obCustomerNoAnswerCount": 1,
"obClientNoAnswerCount": 0,
"obAnsweredWaitDuration": 0,
"obAnsweredWaitAvgDuration": 0,
"obNoAnsweredWaitDuration": 15,
"obNoAnsweredWaitAvgDuration": 15,
"obBridgeDuration": 0,
"obMaxBridgeDuration": 0,
"obMinBridgeDuration": 0,
"obAvgBridgeDuration": 0,
"obValidCount": 0,
"obValidDuration": 0,
"obAvgValidDuration": 0,
"obAvgHoldDuration": 0,
"obHoldDuration": 0,
"obHoldCount": 0,
"obWrapUpDuration": 0,
"obAvgWrapUpDuration": 0,
"internalBridgeCount": 0,
"internalTotalCount": 0,
"internalTotalDuration": 0,
"internalBridgeDuration": 0,
"internallyBridgeCount": 0,
"internallyTotalCount": 0,
"internallyTotalDuration": 0,
"internallyBridgeDuration": 0,
"firstIbBridgeCount": 0,
"firstIbSolveRate": 0.0,
"firstIbSolveCount": 0,
"loginDuration": 0,
"idleDuration": 0,
"idleCount": 0,
"avgIdleDuration": 0,
"minIdleDuration": 0,
"maxIdleDuration": 0,
"workPauseDuration": 0,
"minWorkPauseDuration": 0,
"maxWorkPauseDuration": 0,
"restPauseDuration": 0,
"minRestPauseDuration": 0,
"maxRestPauseDuration": 0,
"hoursUtilization": 0.0,
"workPauseRate": 0.0,
"restPauseRate": 0.0,
"firstLogInTime": "2024/05/21 11:01:11",
"lastLogoutTime": "",
"firstIdleTime": "2023/11/08 10:19:31",
"investigationTotalCount": 1,
"abandonCount": 0,
"keyCount": 1,
"keyRate": 100.0,
"statKeyCount1": 1,
"statKeyRate1": 100.0,
"ibRingingRangeCount20": 0,
"ibRingingRangeCount17": 0,
"ibRingingRangeCount22": 0,
"ibRingingRangeRate20": 0.0,
"ibRingingRangeRate17": 0.0,
"ibRingingRangeRate22": 0.0
}
]
}
变更历史
变更时间 | 变更内容概要 |
---|---|
2024/03/19 |
新增dateEnd,支持时间范围查询,最大时间跨度为6个月。 |
2024/05/30 |
新增firstLogInTime座席首次登录时间,调整lastLogoutTime座席最后登出时间与firstIdleTime座席首次空闲时间的字段释义。 根据请求参数fields优化查询逻辑,提高查询效率。 |
8.3. 座席报表-各队列中工作量统计
POST /cc/stat_client_queue
请求参数
字段名 | 类型 | 必填 | 说明 | 示例 |
---|---|---|---|---|
date |
String |
true |
同步日期,时间格式(yyyyMMdd) |
20240303 |
cno |
String |
true |
座席工号,指定需要查询的座席 |
0001 |
statisticMethod |
Integer |
false |
统计方式 (默认为2:汇总) 取值范围为[2,3]; 2:汇总统计;3:分时统计 注:分时统计下只会返回存在座席工作情况的数据,若座席在该时段没有工作或进行登录,则不会返回该时段的数据 |
2 |
startHour |
Integer |
false |
查询开始时间 (单位:小时,范围:0-23),缺省值为0 |
0 |
endHour |
Integer |
false |
查询结束时间 (单位:小时,范围:0-23),缺省值为23 |
23 |
报表字段 注:时长字段 单位均为秒
字段名 | 类型 | 说明 | 释义 |
---|---|---|---|
date |
String |
日期 |
当统计方式为2时会回传同步日期;统计方式为3时会返回分时信息,例 0-1时 |
qno |
String |
队列号 |
队列号 |
qname |
String |
队列名称 |
队列名称 |
ibBridgeDuration |
Integer |
呼入通话总时长 |
客户呼入通话,座席接听总通话时长(不包括内部呼叫) |
ibTotalDuration |
Integer |
呼入总时长 |
客户呼入,在通话记录统计中,从开始时间到通话结束时间的总时长(不包括内部呼叫) |
ibClientAnsweredCount |
Integer |
客户呼入接听通数 |
在呼入座席总通数中,座席接听的通数(不包括内部呼叫、转移、咨询、三方通话) |
ibClientUnansweredCount |
Integer |
客户呼入未接听通数 |
在呼入座席总通数中,座席未接听的通数(不包含客户速挂数) |
ibClientAnsweredRate |
Double |
客户呼入座席接听率 |
客户呼入接听通数/(客户呼入接听通数+客户呼入未接听通数) |
ibWrapUpDuration |
Integer |
呼入总整理时长 |
呼入通话后,座席的总整理时长 |
ibMaxWrapUpDuration |
Integer |
呼入最大整理时长 |
呼入通话后,座席的最大整理时长 |
ibMinWrapUpDuration |
Integer |
呼入最小整理时长 |
呼入通话后,座席的最小整理时长 |
ibAvgHandleDuration |
Integer |
呼入平均处理时长 |
呼入通话中,座席处理每通通话的平均时长(呼入通话总时长+ 呼入总整理时长)/ 客户呼入接听通数 |
ibTransferredCount |
Integer |
呼入被转移数 |
电话呼入到其他座席,由其他座席将通话转移到本座席的电话次数 |
ibTransferredAnsweredRate |
Double |
呼入被转移接听率 |
电话呼入到其他座席,由其他座席将通话转移到本座席的接听率(呼入被转移接听数/呼入被转移数) |
ibTransferredAnsweredCount |
Integer |
呼入被转移接听数 |
电话呼入到其他座席,由其他座席将通话转移到本座席接听的次数 |
ibTransferredUnansweredCount |
Integer |
呼入被转移未接听数 |
电话呼入到其他座席,由其他座席将通话转移到本座席未接听的次数 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
statClientQueue |
List<Map<String,Object>> |
报表数据 |
示例
请求示例
https://api-bj.clink.cn/cc/stat_client_queue
&date=20240303
&<公共请求参数>
返回示例
{
"requestId":"ceb98dd9-6c3d-4ea6-a17a-e423192e892b",
"statClientQueue":[
{
"qno": "0000",
"qname": "xx",
"date": "20240303",
"ibTotalDuration": 122,
"ibBridgeDuration": 85,
"ibClientAnsweredCount": 1,
"ibClientUnansweredCount": 0,
"ibClientAnsweredRate": 100.0,
"ibWrapUpDuration": 0,
"ibMaxWrapUpDuration": 0,
"ibMinWrapUpDuration": 0,
"ibAvgHandleDuration": 85,
"ibTransferredCount": 0,
"ibTransferredAnsweredCount": 0,
"ibTransferredAnsweredRate": 0.0,
"ibTransferredUnansweredCount": 0
},
{
"qno": "",
"qname": "",
"date": "20240303",
"ibTotalDuration": 122,
"ibBridgeDuration": 85,
"ibClientAnsweredCount": 1,
"ibClientUnansweredCount": 0,
"ibClientAnsweredRate": 100.0,
"ibWrapUpDuration": 0,
"ibMaxWrapUpDuration": 0,
"ibMinWrapUpDuration": 0,
"ibAvgHandleDuration": 85,
"ibTransferredCount": 0,
"ibTransferredAnsweredCount": 0,
"ibTransferredAnsweredRate": 0.0,
"ibTransferredUnansweredCount": 0
}
]
}
8.4. 队列报表
POST /cc/stat_new_queue
请求参数
字段名 | 类型 | 必填 | 说明 | 示例 |
---|---|---|---|---|
date |
String |
true |
同步日期,时间格式(yyyyMMdd) |
20240203 |
dateEnd |
String |
false |
同步日期截止,时间格式(yyyyMMdd) ,默认与date相同,查询时间范围最大支持6个月 |
20240303 |
qnos |
List<String> |
false |
队列编号,指定需要查询的队列 (默认全部队列) |
0001,0002 |
fields |
List<String> |
false |
指定需要显示的字段 (默认全部) |
enterCount,answeredCount |
statisticMethod |
Integer |
false |
统计方式 (默认为2) 取值范围为[2,3]; 2:汇总统计;3:分时统计 注:分时统计下只会返回存在队列工作情况的数据,若队列在该时段没有工作或来电,则不会返回该时段的数据 |
2 |
startHour |
Integer |
false |
查询开始时间 (单位:小时,范围:0-23),缺省值为0 |
0 |
endHour |
Integer |
false |
查询结束时间 (单位:小时,范围:0-23),缺省值为23 |
23 |
startMinute |
Integer |
false |
查询开始分钟 (单位:分,范围:0、15、30、45),缺省值为0 |
0 |
endMinute |
Integer |
false |
查询结束分钟 (单位:分,范围:0、15、30、45、59),缺省值为59 注:由startHour:startMinute和endHour:endMinute组成的开始时间和结束时间,开始时间不得晚于或等于结束时间。 只使用startHour或endHour时,请注意startMinute与endMinute的缺省值。 |
59 |
报表字段 注:时长字段 单位均为秒
字段名 | 类型 | 说明 | 释义 |
---|---|---|---|
date |
String |
日期 |
当统计方式为2时会回传同步日期;统计方式为3时会返回分时信息,例 0-1时 |
qno |
String |
队列编号 |
队列编号 |
qname |
String |
队列名称 |
队列名称 |
enterCount |
Integer |
队列来电总次数 |
队列的来电总次数(队列来电接听次数+ 队列来电未接听次数) |
answeredCount |
Integer |
队列来电接听次数 |
队列的来电总次数中,最终由本队列座席接听的电话次数 |
noAnsweredCount |
Integer |
队列来电未接听次数 |
队列的来电总次数中,最终未被本队列座席接听的电话次数(排队放弃数+队列溢出数) |
telEnterCount |
Integer |
客户呼入队列电话通数 |
由IVR按键进入队列和来电直转队列的电话总通数(客户呼入队列接听通数+客户呼入队列未接听通数) |
telAnsweredCount |
Integer |
客户呼入队列接听通数 |
客户呼入队列电话次数中,最终由本队列座席接听的电话通数 |
telNoAnsweredCount |
Integer |
客户呼入队列未接听通数 |
客户呼入队列电话次数中,最终未被本队列座席接听的电话通数 |
botQueueCount |
Integer |
机器人转移至队列数 |
由机器人接待后(包括机器人应答和未应答),转移至本队列的电话通数 |
botQueueAnsweredCount |
Integer |
机器人转移至队列接听数 |
由机器人接待后(包括机器人应答和未应答),转移至本队列的电话通数中,由本队列座席接听的电话次数 |
botQueueUnansweredCount |
Integer |
机器人转移至队列未接听数 |
由机器人接待后(包括机器人应答和未应答),转移至本队列的电话通数,未被本队列座席接听的电话次数 |
overflowCount |
Integer |
溢入到队列次数 |
由其他队列或本队列溢出后,再溢入到本队列的电话次数(溢入到队列接听次数+溢入到队列未接听次数) |
overflowAnsweredCount |
Integer |
溢入到队列接听次数 |
溢入到队列次数中,最终由本队列座席接听的电话次数 |
overflowNoAnsweredCount |
Integer |
溢入到队列未接听次数 |
溢入到队列次数中,最终未被本队列座席接听的电话次数 |
transferredCount |
Integer |
转移到本队列次数 |
发起转移至本队列的电话次数(转移到本队列接听次数+转移到本队列未接听次数 ) |
transferredSelfCount |
Integer |
本队列转移到本队列次数 |
由本队列分配电话至座席,再由座席发起转接至本队列的电话次数(若电话未通过队列分配至座席,则座席发起的转接无法进行统计) |
transferredOtherCount |
Integer |
其他队列转移到本队列次数 |
其他队列将电话分配至该队列内的某座席,再由该座席发起转接至本队列的电话次数(若电话未通过队列分配至座席,则座席发起的转接无法进行统计) |
transferredAnsweredCount |
Integer |
转移到本队列接听次数 |
转移到本队列次数中,最终由本队列座席接听的电话次数 |
transferredNoAnsweredCount |
Integer |
转移到本队列未接听次数 |
转移到本队列次数中,最终未被本队列座席接听的电话次数 |
transferCount |
Integer |
转移至其他队列次数 |
由队列分配的电话,由本队列中的座席接听后,再被转移至其他队列的次数(座席在转移时选择队列节点) |
transferAnsweredCount |
Integer |
转移至其他队列接听次数 |
转移至其他队列次数中,最终由其他队列座席接听的电话次数 |
transferNoAnsweredCount |
Integer |
转移至其他队列未接听次数 |
转移至其他队列次数中,最终未被其他队列座席接听的电话次数 |
quickUnlinkCount |
Integer |
队列来电客户速挂数 |
客户速挂开启后,当通话经过队列分配到座席时,如果座席的振铃时长小于设定的时长客户就挂机,记为队列来电客户速挂数。 |
joinQueueCount |
Integer |
排队数 |
当电话进入队列后,等待座席接听的次数(排队中成功数+排队中放弃数+排队超时溢出数+排队无可用座席溢出数) |
completeCount |
Integer |
排队成功数 |
当电话进入队列后,系统成功将电话分配至某位座席并接听,排队成功的次数 |
queueFailCount |
Integer |
排队失败数 |
当电话进入队列等待接听,未被座席接听的电话数(排队放弃数+排队超时溢出数+排队无可用座席数 或 排队失败:已分配座席+排队失败:未分配座席) |
queueFailAssignedCount |
Integer |
排队失败:已分配座席 |
当电话进入队列等待接听,已经分配座席但未被接听的电话数量 |
queueFailUnassignedCount |
Integer |
排队失败:未分配座席 |
当电话进入队列等待接听,未分配过座席,也未被座席接听的电话数 |
abandonCount |
Integer |
排队放弃数 |
当电话进入队列后,客户主动挂机放弃排队的次数 |
emptyCount |
Integer |
排队无可用座席溢出数 |
当电话进入队列后,因系统判断在当前队列中无可用的座席,导致的次数 |
queueOverflowCount |
Integer |
队列溢出数 |
由本队列溢出的次数(无座席溢出数+排队超时溢出数+排队上限溢出数+排队无可用座席溢出数) |
joinEmptyCount |
Integer |
进队列前无座席溢出数 |
当电话进入队列时,因系统判断当前队列的座席处于不可用状态,导致溢出的次数(配置路径:队列设置-座席不可用状态) |
timeoutCount |
Integer |
排队超时溢出数 |
当电话进入队列后,因在队列设置的超时时间内无座席应答,导致的溢出次数(配置路径:队列设置-队列超时时间) |
joinFullCount |
Integer |
进队列前排队上限溢出数 |
当电话进入队列时,因系统判断超过队列设置的最大排队数(上限),导致溢出的次数(配置路径:队列设置-最大排队数) |
bridgeDuration |
Integer |
通话总时长(队列) |
当电话进入队列,座席接听的总通话时长 |
avgBridgeDuration |
Integer |
平均通话时长(队列) |
当电话进入队列,座席接听的平均通话时长 |
wrapUpDuration |
Integer |
整理总时长(队列) |
通话结束后,座席总整理时长 |
avgWrapUpDuration |
Integer |
平均整理时长(队列) |
通话结束后,座席平均整理时长 |
queueTotalDuration |
Integer |
排队总时长 |
当电话进入队列后,等待座席接听的总时长(排队中成功总时长+排队放弃总时长+排队中超时时长+排队中无可用座席总时长) |
abandonWaitDuration |
Integer |
排队放弃总时长 |
当电话进入队列后,到客户主动挂机放弃排队时的等待总时长 |
avgAbandonWaitDuration |
Integer |
排队放弃平均时长 |
当电话进入队列后,到客户主动挂机放弃排队时的等待平均时长 |
maxAbandonWaitDuration |
Integer |
排队放弃最大时长 |
当电话进入队列后,到客户主动挂机放弃排队时的最大等待时长 |
completeWaitDuration |
Integer |
排队成功总时长 |
当电话进入队列后,系统成功将电话分配至某位座席并接听的等待总时长 |
avgCompleteWaitDuration |
Integer |
排队成功平均时长 |
当电话进入队列后,系统成功将电话分配至某位座席并接听的等待平均时长 |
maxCompleteWaitDuration |
Integer |
排队成功最大时长 |
当电话进入队列后,系统成功将电话分配至某位座席并接听的最大等待时长 |
timeoutWaitDuration |
Integer |
排队超时时长 |
当电话进入队列后,因在队列设置的超时时间内无座席应答,导致等待的总时长 |
emptyWaitDuration |
Integer |
排队无可用座席总时长 |
当电话进入队列后,因系统判断在当前队列中无可用的座席前,等待的总时长 |
answeredRate |
Double |
队列来电接听率 |
队列来电接听次数/队列来电总次数 |
serviceLevelRate |
Double |
队列服务水平 |
服务水平数 / 队列来电总次数 |
serviceLevelCount |
Integer |
服务水平数 |
客户来电从进入队列开始到被座席接听的等待时长小于预设值的电话数(如客户电话在不同队列中转接时,都将分别计算每个队列的服务水平数) |
telAnsweredRate |
Integer |
客户呼入队列接通率 |
客户呼入队列接听通数/客户呼入队列电话通数 |
agentHangupCount |
Integer |
座席挂机通数 |
客户电话接通后,由座席主动挂机的电话通数 |
customerHangupCount |
Integer |
客户挂机通数 |
客户电话接通后,由客户主动挂机的电话通数 |
orderCallBackTotalCount |
Integer |
预约回呼数 |
队列中预约回呼的电话数 |
orderCallBackUntreatedCount |
Integer |
未回呼数 |
预约回呼数中,未回电的电话数 |
orderCallBackProcessedCount |
Integer |
已回呼数 |
预约回呼数中,已回电的电话数 |
ibRingingRangeCount |
Integer |
X秒接听数(队列) |
客户呼入队列,在预设的振铃时长内被座席接听,则该通话为某个预设值的接听数,默认为:10秒、15秒、20秒(配置路径:呼叫报表-属性设置-接听时长设置) |
ibRingingRangeRate |
Double |
X秒接听率(队列) |
X秒接听数/队列来电接听次数,只查询率X秒接听率(队列)时,会将对应的接听数一并返回 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
statNewQueue |
List<Map<String,Object>> |
报表数据 |
示例
请求示例
https://api-bj.clink.cn/cc/stat_new_queue?<公共请求参数>
Content-Type: application/x-www-form-urlencoded
date=20240203&dateEnd=20240303&statisticMethod=3&qnos=0001,0002
返回示例
{
"requestId":"38ce8a44-6850-44e4-a074-93080bf4cc73",
"statNewQueue":[
{
"date":"20240203",
"dateEnd": "20240303",
"qno":"0001",
"qname":"xxxx",
"enterCount": 12,
"answeredCount": 5,
"noAnsweredCount": 7,
"telEnterCount": 12,
"telAnsweredCount": 5,
"telNoAnsweredCount": 7,
"quickUnlinkCount": 2,
"overflowCount": 0,
"overflowAnsweredCount": 0,
"overflowNoAnsweredCount": 0,
"transferredCount": 0,
"transferredAnsweredCount": 0,
"transferredNoAnsweredCount": 0,
"transferCount": 0,
"transferAnsweredCount": 0,
"transferNoAnsweredCount": 0,
"joinQueueCount": 11,
"completeCount": 5,
"queueFailCount": 6,
"queueFailAssignedCount": 6,
"queueFailUnassignedCount": 0,
"abandonCount": 6,
"emptyCount": 0,
"queueOverflowCount": 1,
"joinEmptyCount": 1,
"timeoutCount": 0,
"joinFullCount": 0,
"bridgeDuration": 19,
"avgBridgeDuration": 3,
"wrapUpDuration": 0,
"avgWrapUpDuration": 0,
"queueTotalDuration": 55,
"abandonWaitDuration": 44,
"avgAbandonWaitDuration": 7,
"maxAbandonWaitDuration": 0,
"completeWaitDuration": 11,
"avgCompleteWaitDuration": 2,
"maxCompleteWaitDuration": 0,
"timeoutWaitDuration": 0,
"emptyWaitDuration": 0,
"answeredRate": 41.67,
"serviceLevelRate": 0.0,
"telAnsweredRate": 0.0,
"serviceLevelCount": 5,
"agentHangupCount": 1,
"customerHangupCount": 4,
"orderCallBackTotalCount": 0,
"orderCallBackUntreatedCount": 0,
"orderCallBackProcessedCount": 0,
"ibRingingRangeCount10": 5,
"ibRingingRangeCount15": 5,
"ibRingingRangeCount20": 5,
"ibRingingRangeRate10": 100.0,
"ibRingingRangeRate15": 100.0,
"ibRingingRangeRate20": 100.0
}
]
}
变更历史
变更时间 | 变更内容概要 |
---|---|
2024/03/19 |
新增dateEnd,支持时间范围查询,最大时间跨度为6个月。 |
2024/11/14 |
新增quickUnlinkCount队列来电客户速挂数。 |
8.5. 呼入报表-来电统计
POST /cc/stat_ib
请求参数
字段名 | 类型 | 必填 | 说明 | 示例 |
---|---|---|---|---|
date |
String |
true |
同步日期,时间格式(yyyyMMdd) |
20240203 |
dateEnd |
String |
false |
同步日期截止,时间格式(yyyyMMdd) ,默认与date相同,查询时间范围最大支持6个月 |
20240303 |
hotlines |
List<String> |
false |
热线号码,指定需要查询的热线号码 (默认全部热线号码) |
xxxx,xxxx |
fields |
List<String> |
false |
指定需要显示的字段 (默认全部) |
ibTotalCount,ibAnsweredCount |
statisticMethod |
Integer |
false |
统计方式 (默认为2) 取值范围为[2,3]; 2:汇总统计;3:分时统计 注:分时统计下只会返回存在队列工作情况的数据,若队列在该时段没有工作或来电,则不会返回该时段的数据 |
2 |
startHour |
Integer |
false |
查询开始时间 (单位:小时,范围:0-23),缺省值为0 |
0 |
endHour |
Integer |
false |
查询结束时间 (单位:小时,范围:0-23),缺省值为23 |
23 |
startMinute |
Integer |
false |
查询开始分钟 (单位:分,范围:0、15、30、45),缺省值为0 |
0 |
endMinute |
Integer |
false |
查询结束分钟 (单位:分,范围:0、15、30、45、59),缺省值为59 注:由startHour:startMinute和endHour:endMinute组成的开始时间和结束时间,开始时间不得晚于或等于结束时间。 只使用startHour或endHour时,请注意startMinute与endMinute的缺省值。 |
59 |
报表字段 注:时长字段 单位均为秒
字段名 | 类型 | 说明 | 释义 |
---|---|---|---|
date |
String |
日期 |
当统计方式为2时会回传同步日期;统计方式为3时会返回分时信息,例 0-1时 |
hotline |
String |
热线号码 |
热线号码 |
hotlineName |
String |
热线别名 |
热线别名 |
ibTotalCount |
Integer |
来电总通数 |
客户呼入热线号码的总通数(人工接听+人工未接听+系统应答+系统未应答+客户速挂) |
ibAnsweredCount |
Integer |
人工接听数 |
客户呼入至座席振铃后,座席接听的通数 |
ibUnansweredCount |
Integer |
人工未接听数 |
客户呼入至座席振铃后,座席未接听的通数(不包括客户速挂) |
ibBotAnsweredCount |
Integer |
机器人应答数 |
客户呼入,由机器人应答过的电话通数 |
ibBotUnansweredCount |
Integer |
机器人未应答数 |
客户呼入,机器人未响应电话通数 |
ibSystemAnsweredCount |
Integer |
系统应答数 |
系统接听的电话通数 |
ibSystemUnAnsweredCount |
Integer |
系统未应答数 |
系统拒绝接听,未应答的电话通数 |
quickUnlinkCount |
Integer |
客户速挂数 |
客户速挂开启后,当通话分配到座席时,如果座席的振铃时长小于设定的时长客户就挂机,记为客户速挂,这部分数据不计入座席的接听率之中 |
ibIvrCount |
Integer |
进入IVR数 |
来电总通数中转IVR的电话通数(进入IVR转队列数+进入IVR未转队列数)或(进入IVR系统应答+进入IVR人工接听数+进入IVR人工未接听数+进入IVR客户速挂) |
ibIvrQueueCount |
Integer |
进入IVR转队列数 |
进入IVR数中,转队列的电话通数 |
ibIvrNoQueueCount |
Integer |
进入IVR未转队列数 |
进入IVR数中,未转队列的电话通数 |
ibIvrSystemAnsweredCount |
Integer |
进入IVR系统应答数 |
进入IVR数中,由系统接听的电话通数 |
ibIvrAnsweredCount |
Integer |
进入IVR人工接听数 |
进入IVR数中,呼入至座席振铃后,座席接听的电话通数 |
ibIvrUnAnsweredCount |
Integer |
进入IVR人工未接听数 |
进入IVR数中,呼入至座席振铃后,座席未接听的电话通数(不包括客户速挂) |
ibIvrQuickUnlinkCount |
Integer |
进入IVR客户速挂 |
进入IVR数中,呼入至座席振铃后,客户速挂的电话通数 |
ibNoIvrCount |
Integer |
未进入IVR数 |
来电总通数中,未转IVR的电话通数 |
ivrDirectTelCount |
Integer |
进入IVR直转电话/IP话机数 |
进入IVR电话通数中,直转电话/IP话机的电话通数(进入IVR直转电话/IP话机人工接听数+进入IVR直转电话/IP话机人工未接听数+进入IVR直转电话/IP话机系统应答数) |
ivrDirectTelAnsweredCount |
Integer |
进入IVR直转电话/IP话机人工接听数 |
进入IVR电话通数中,直转电话/IP话机的人工接听通数 |
ivrDirectTelUnansweredCount |
Integer |
进入IVR直转电话/IP话机人工未接听数 |
进入IVR电话通数中,直转电话/IP话机的人工未接听通数 |
ivrDirectTelSysAnsweredCount |
Integer |
进入IVR直转电话/IP话机系统应答数 |
进入IVR电话通数中,直转电话/IP话机的系统应答数 |
ibDirectTelCount |
Integer |
直转电话/IP话机数 |
总来电数中,直转电话/IP话机的电话通数 |
ibDirectQueueCount |
Integer |
直转队列数 |
总来电数中,通过接口或主叫记忆实现直转队列的电话通数 |
ibDirectAgentCount |
Integer |
直转座席数 |
总来电数中,客户呼入时,直转座席的电话通数(专属座席优先、外呼主叫记忆) |
ibWebCount |
Integer |
网上400呼入数 |
来自网上400呼入的电话通数 |
ibVipCount |
Integer |
VIP呼入数 |
来自VIP客户呼入的电话通数 |
ibRestrictCount |
Integer |
黑名单来电数 |
来自黑名单客户呼入的电话通数 |
ibQueueCount |
Integer |
进入队列来电通数 |
客户呼入进入队列的电话通数(进入IVR转队列+直转队列数) |
ibAgentCount |
Integer |
呼叫座席来电总数 |
客户呼入,呼叫座席的电话总通数 |
answeredAgentCount |
Integer |
接听电话座席数 |
客户呼入,接听过电话的座席数 |
avgAnsweredAgentCount |
Integer |
人均接听量 |
人工接听数/接听电话座席数(需要与“接听电话座席数”同时勾选使用) |
repeatHotlineCount |
Integer |
热线重复来电数 |
相同的客户来电号码呼叫本热线号码的重复数 |
ibtotalDuration |
Integer |
呼入总时长 |
在通话记录统计中,从开始时间到通话结束时间的总时长(不包括内部呼叫) |
ibAvgDuration |
Integer |
呼入平均时长 |
呼入电话平均时长(呼入总时长/来电总通数) |
ibBridgeDuration |
Integer |
呼入通话总时长(客户侧) |
呼入电话,为人工接听的总通话时长(从客户角度统计通话时长,当发生座席报号、咨询转移情况时,会与座席报表不同) |
ibAvgBridgeDuration |
Integer |
呼入平均通话时长 |
呼入电话,人工接听平均通话时长(呼入总通话时长/人工接听数) |
ibQueueDuration |
Integer |
进入队列排队总时长 |
客户电话进入队列的总排队时长 |
ibAvgQueueDuration |
Integer |
进入队列平均排队时长 |
进入队列总排队时长/进入队列来电通数 |
ibAnsweredQueueDuration |
Integer |
人工接听排队总时长 |
客户电话进入队列,最终由人工接听前的总排队时长 |
ibAvgAnsweredQueueDuration |
Integer |
人工接听平均排队时长 |
人工接听总排队时长/人工接听数 |
ibAnsweredRate |
Double |
呼入人工接听率 |
所有来电中,被人工的接听的比率(人工接听数/来电总通数) |
ibRingingRangeCount |
Integer |
X秒接听数 |
客户呼入,在预设的振铃时长内被座席接听,则该通话为某个预设值的接听数,默认为:10秒、15秒、20秒(配置路径:呼叫报表-属性设置-接听时长设置) |
ibRingingRangeRate |
Double |
X秒接听率 |
X秒接听数/人工接听数,只查询率X秒接听率时,会将对应的接听数一并返回 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
statIb |
List<Map<String,Object>> |
报表数据 |
示例
请求示例
https://api-bj.clink.cn/cc/stat_ib?<公共请求参数>
Content-Type: application/x-www-form-urlencoded
date=20240203&dateEnd=20240303&statisticMethod=3&hotlines=xxxx,xxxx
返回示例
{
"requestId":"38ce8a44-6850-44e4-a074-93080bf4cc73",
"statIb":[
{
"hotline": "xxxx",
"hotlineName": "热线别名",
"date": "20240203",
"dateEnd": "20240303",
"ibTotalCount": 2,
"ibAnsweredCount": 0,
"ibUnansweredCount": 0,
"ibSystemAnsweredCount": 1,
"ibSystemUnAnsweredCount": 0,
"quickUnlinkCount": 1,
"ibIvrCount": 2,
"ibIvrQueueCount": 1,
"ibIvrNoQueueCount": 1,
"ibIvrSystemAnsweredCount": 1,
"ibIvrAnsweredCount": 0,
"ibIvrUnAnsweredCount": 0,
"ibIvrQuickUnlinkCount": 1,
"ivrDirectTelAnsweredCount": 0,
"ivrDirectTelUnansweredCount": 0,
"ivrDirectTelSysAnsweredCount": 0,
"ivrDirectTelCount": 0,
"ibNoIvrCount": 0,
"ibDirectTelCount": 0,
"ibDirectQueueCount": 0,
"ibDirectAgentCount": 0,
"ibWebCount": 0,
"ibVipCount": 0,
"ibRestrictCount": 0,
"ibQueueCount": 1,
"ibAgentCount": 1,
"ibtotalDuration": 9,
"ibAvgDuration": 4,
"ibBridgeDuration": 0,
"ibAvgBridgeDuration": 0,
"ibQueueDuration": 3,
"ibAvgQueueDuration": 3,
"ibAnsweredQueueDuration": 0,
"ibAvgAnsweredQueueDuration": 0,
"ibAnsweredRate": 0.0,
"answeredAgentCount": 0,
"repeatHotlineCount": 1,
"avgAnsweredAgentCount": 0,
"ibRingingRangeCount20": 0,
"ibRingingRangeCount17": 0,
"ibRingingRangeCount22": 0,
"ibRingingRangeRate20": 0.0,
"ibRingingRangeRate17": 0.0,
"ibRingingRangeRate22": 0.0
}
]
}
变更历史
变更时间 | 变更内容概要 |
---|---|
2024/03/19 |
新增dateEnd,支持时间范围查询,最大时间跨度为6个月。 |
8.6. 呼入报表-按地区统计
POST /cc/stat_ib_area
请求参数
字段名 | 类型 | 必填 | 说明 | 示例 |
---|---|---|---|---|
date |
String |
true |
同步日期,时间格式(yyyyMMdd) |
20240203 |
dateEnd |
String |
false |
同步日期截止,时间格式(yyyyMMdd) ,默认与date相同,查询时间范围最大支持6个月 |
20240203 |
hotlines |
List<String> |
false |
热线号码,指定需要查询的热线号码 (默认全部热线号码) |
xxxx,xxxx |
fields |
List<String> |
false |
指定需要显示的字段 (默认全部) |
ibTotalCount,proportionRate |
报表字段 注:时长字段 单位均为秒
字段名 | 类型 | 说明 | 释义 |
---|---|---|---|
date |
String |
日期 |
当统计方式为2时会回传同步日期;统计方式为3时会返回分时信息,例 0-1时 |
hotline |
String |
热线号码 |
热线号码 |
hotlineName |
String |
热线别名 |
热线别名 |
province |
String |
省份 |
省份 |
city |
String |
城市 |
城市 |
ibTotalCount |
Integer |
来电总通数 |
客户呼入热线号码的总通数(人工接听+人工未接听+系统应答+系统未应答+客户速挂) |
proportionRate |
Double |
比例 |
地区来电占比 |
ibAnsweredRate |
Double |
呼入人工接听率 |
所有来电中,被人工的接听的比率(人工接听数/来电总通数) |
ibAnsweredCount |
Integer |
人工接听数 |
客户呼入至座席振铃后,座席接听的通数 |
ibRingingRangeCount |
Integer |
X秒接听数 |
客户呼入,在预设的振铃时长内被座席接听,则该通话为某个预设值的接听数,默认为:10秒、15秒、20秒(配置路径:呼叫报表-属性设置-接听时长设置) |
ibRingingRangeRate |
Double |
X秒接听率 |
X秒接听数/人工接听数,只查询率X秒接听率时,会将对应的接听数一并返回 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
statIbArea |
List<Map<String,Object>> |
报表数据 |
示例
请求示例
https://api-bj.clink.cn/cc/stat_ib_area?<公共请求参数>
Content-Type: application/x-www-form-urlencoded
date=20240203&dateEnd=20240303&hotlines=xxxx,xxxx
返回示例
{
"requestId":"38ce8a44-6850-44e4-a074-93080bf4cc73",
"statIbArea":[
{
"hotline": "xxxx",
"hotlineName": "热线别名",
"date": "20240203",
"dateEnd": "20240303",
"ibTotalCount": 1,
"province": "北京",
"city": "北京",
"proportionRate": 100.0,
"ibAnsweredRate": 0.0,
"ibAnsweredCount": 0,
"ibRingingRangeCount20": 0,
"ibRingingRangeCount17": 0,
"ibRingingRangeCount22": 0,
"ibRingingRangeRate20": 0.0,
"ibRingingRangeRate17": 0.0,
"ibRingingRangeRate22": 0.0
}
]
}
变更历史
变更时间 | 变更内容概要 |
---|---|
2024/03/19 |
新增dateEnd,支持时间范围查询,最大时间跨度为6个月。 |
8.7. 外呼报表-按座席统计
POST /cc/stat_ob_client
请求参数
字段名 | 类型 | 必填 | 说明 | 示例 |
---|---|---|---|---|
date |
String |
true |
同步日期,时间格式(yyyyMMdd) |
20240203 |
dateEnd |
String |
false |
同步日期截止,时间格式(yyyyMMdd) ,默认与date相同,查询时间范围最大支持6个月 |
20240303 |
cnos |
List<String> |
false |
座席编号,指定需要查询的座席编号 (默认全部座席) |
0001,0002 |
fields |
List<String> |
false |
指定需要显示的字段 (默认全部) |
totalCount,answeredCount |
statisticMethod |
Integer |
false |
统计方式 (默认为2) 取值范围为[2,3]; 2:汇总统计;3:分时统计 注:分时统计下只会返回存在队列工作情况的数据,若队列在该时段没有工作或来电,则不会返回该时段的数据 |
2 |
startHour |
Integer |
false |
查询开始时间 (单位:小时,范围:0-23),缺省值为0 |
0 |
endHour |
Integer |
false |
查询结束时间 (单位:小时,范围:0-23),缺省值为23 |
23 |
startMinute |
Integer |
false |
查询开始分钟 (单位:分,范围:0、15、30、45),缺省值为0 |
0 |
endMinute |
Integer |
false |
查询结束分钟 (单位:分,范围:0、15、30、45、59),缺省值为59 注:由startHour:startMinute和endHour:endMinute组成的开始时间和结束时间,开始时间不得晚于或等于结束时间。 只使用startHour或endHour时,请注意startMinute与endMinute的缺省值。 |
59 |
报表字段 注:时长字段 单位均为秒
字段名 | 类型 | 说明 | 释义 |
---|---|---|---|
date |
String |
日期 |
当统计方式为2时会回传同步日期;统计方式为3时会返回分时信息,例 0-1时 |
cno |
String |
座席编号 |
座席编号 |
cname |
String |
座席名称 |
座席名称 |
totalCount |
Integer |
外呼总次数 |
座席外呼客户的总次数,排除因线路故障/风控等导致外呼失败的因素(包含预览外呼+主叫外呼;不包括内部呼叫+webcall+预测外呼) |
answeredCount |
Integer |
客户接听数 |
座席外呼通话,双方接听的电话次数 |
customerNoAnswerCount |
Integer |
客户未接听数 |
座席外呼通话,客户未接听的电话次数 |
clientNoAnswerCount |
Integer |
座席未接听数 |
座席外呼通话,座席未接听的电话次数(通过工作台发起外呼时,系统会先呼叫座席绑定设备,如具备通话条件,再呼叫客户) |
validCount |
Integer |
有效通话次数 |
外呼通话,双方接听通话时长大于自定义配置时长的外呼次数(未配置则默认5秒) |
lineFaultCount |
Integer |
线路故障 |
因被叫客户的线路问题,导致无法发起外呼 |
lineRiskControlCount |
Integer |
线路风控 |
因线路风控,导致无法发起外呼 |
vacantNumberCount |
Integer |
号码空号 |
因客户号码空号,导致无法接通(需开通号码状态识别) |
powerOffCount |
Integer |
号码关机 |
因客户号码关机,导致无法接通(需开通号码状态识别) |
shutdownCount |
Integer |
号码停机 |
因客户号码停机,导致无法接通(需开通号码状态识别) |
unavailableCount |
Integer |
号码暂无法接听 |
因客户电话暂时无法接听,导致无法接通(需开通号码状态识别) |
busyCount |
Integer |
客户占线 |
因客户电话占线,导致无法接通(需开通号码状态识别) |
rejectedCount |
Integer |
客户拒接 |
因客户电话拒接,导致无法接通(需开通号码状态识别) |
unansweredCount |
Integer |
客户无人接听 |
客户电话已接通,但无人接听 |
clientNoAnswerRate |
Double |
座席未接听率 |
座席未接听数/外呼总次数 |
answeredRate |
Double |
外呼接听率 |
客户接听数/(外呼总次数-座席未接听数) |
answeredWaitDuration |
Integer |
客户接听等待总时长 |
客户接听,从外呼开始时间,到客户接听时的座席等待的总时长 |
answeredWaitAvgDuration |
Integer |
客户接听平均等待时长 |
客户接听等待总时长/客户接听数 |
noAnsweredWaitDuration |
Integer |
客户未接听等待总时长 |
客户未接听,从外呼开始时间到座席结束通话的等待的总时长 |
noAnsweredWaitAvgDuration |
Integer |
客户未接听平均等待时长 |
客户未接听等待总时长/客户未接听数 |
totalDuration |
Integer |
总时长 |
外呼通话,从发起通话到通话结束的总时长(包含预览外呼+主叫外呼两种类型,座席未接听、客户未接听、双方接听三种状态,但不包括内部呼叫+webcall+预测外呼) |
avgDuration |
Integer |
平均时长 |
外呼通话,从发起通话到通话结束的平均时长 |
bridgeDuration |
Integer |
通话总时长 |
外呼通话,座席的通话总时长(双方接听时长) |
maxBridgeDuration |
Integer |
最大通话时长 |
外呼通话时长,座席的最大通话时长(双方接听时长) |
minBridgeDuration |
Integer |
最小通话时长 |
外呼通话时长,座席的最小通话时长(双方接听时长) |
avgBridgeDuration |
Integer |
平均通话时长 |
外呼通话时长,座席的平均时长(双方接听时长) |
validDuration |
Integer |
有效通话总时长 |
外呼有效通话的总通话时长 |
avgValidDuration |
Integer |
有效通话平均时长 |
外呼有效通话的平均时长(有效通话总时长/有效通话次数) |
holdDuration |
Integer |
外呼总保持时长 |
外呼通话中,座席操作保持的总时长(双方接听时长) |
avgHoldDuration |
Integer |
平均保持时长 |
外呼通话中,座席操作保持的平均时长(双方接听时长) |
holdCount |
Integer |
保持次数 |
外呼通话时,座席操作保持通话的总次数 |
wrapUpDuration |
Integer |
总整理时长 |
外呼通话后,座席的总整理时长 |
avgWrapUpDuration |
Integer |
平均整理时长 |
外呼通话后,座席的平均整理时长 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
statObClient |
List<Map<String,Object>> |
报表数据 |
示例
请求示例
https://api-bj.clink.cn/cc/stat_ob_client?<公共请求参数>
Content-Type: application/x-www-form-urlencoded
date=20240203&dateEnd=20240303&statisticMethod=3&cnos=0001,0002
返回示例
{
"requestId":"38ce8a44-6850-44e4-a074-93080bf4cc73",
"statObClient":[
{
"cno": "0001",
"cname": "座席名称",
"date": "20240203",
"dateEnd": "20240303",
"totalCount": 17,
"answeredCount": 0,
"customerNoAnswerCount": 14,
"clientNoAnswerCount": 3,
"lineFaultCount": 0,
"lineRiskControlCount": 0,
"vacantNumberCount": 0,
"powerOffCount": 0,
"shutdownCount": 0,
"unavailableCount": 0,
"busyCount": 0,
"rejectedCount": 0,
"unansweredCount": 14,
"clientNoAnswerRate": 17.65,
"answeredRate": 0.0,
"answeredWaitDuration": 0,
"answeredWaitAvgDuration": 0,
"noAnsweredWaitDuration": 416,
"noAnsweredWaitAvgDuration": 29,
"totalDuration": 503,
"avgDuration": 29,
"bridgeDuration": 0,
"maxBridgeDuration": 0,
"minBridgeDuration": 0,
"avgBridgeDuration": 0,
"validCount": 0,
"validDuration": 0,
"avgValidDuration": 0,
"holdDuration": 0,
"avgHoldDuration": 0,
"holdCount": 0,
"wrapUpDuration": 0,
"avgWrapUpDuration": 0
}
]
}
变更历史
变更时间 | 变更内容概要 |
---|---|
2024/03/19 |
新增dateEnd,支持时间范围查询,最大时间跨度为6个月。 |
8.8. 外呼报表-按外显号码统计
POST /cc/stat_ob_hotline
请求参数
字段名 | 类型 | 必填 | 说明 | 示例 |
---|---|---|---|---|
date |
String |
true |
同步日期,时间格式(yyyyMMdd) |
20240203 |
dateEnd |
String |
false |
同步日期截止,时间格式(yyyyMMdd) ,默认与date相同,查询时间范围最大支持6个月 |
20240303 |
hotlines |
List<String> |
false |
外显号码,指定需要查询的外显号码 (默认全部外显号码) |
xxxx,xxxx |
fields |
List<String> |
false |
指定需要显示的字段 (默认全部) |
totalCount,answeredCount |
areaAgg |
Integer |
false |
是否按地区聚合 (默认为0) 取值范围为[0,1]; 0:按地区聚合;1:按地区拆分 |
0 |
报表字段 注:时长字段 单位均为秒
字段名 | 类型 | 说明 | 释义 |
---|---|---|---|
date |
String |
日期 |
当统计方式为2时会回传同步日期;统计方式为3时会返回分时信息,例 0-1时 |
hotline |
String |
热线号码 |
热线号码 |
numberHome |
String |
号码归属地 |
号码归属地 |
province |
String |
省份 |
省份 |
city |
String |
城市 |
城市 |
proportionRate |
Double |
比例 |
地区来电占比 |
totalCount |
Integer |
外呼总次数 |
座席外呼客户的总次数,排除因线路故障/风控等导致外呼失败的因素(包含预览外呼+主叫外呼;不包括内部呼叫+webcall+预测外呼) |
answeredCount |
Integer |
客户接听数 |
座席外呼通话,双方接听的电话次数 |
customerNoAnswerCount |
Integer |
客户未接听数 |
座席外呼通话,客户未接听的电话次数 |
clientNoAnswerCount |
Integer |
座席未接听数 |
座席外呼通话,座席未接听的电话次数(通过工作台发起外呼时,系统会先呼叫座席绑定设备,如具备通话条件,再呼叫客户) |
lineFaultCount |
Integer |
线路故障 |
因被叫客户的线路问题,导致无法发起外呼 |
lineRiskControlCount |
Integer |
线路风控 |
因线路风控,导致无法发起外呼 |
vacantNumberCount |
Integer |
号码空号 |
因客户号码空号,导致无法接通(需开通号码状态识别) |
powerOffCount |
Integer |
号码关机 |
因客户号码关机,导致无法接通(需开通号码状态识别) |
shutdownCount |
Integer |
号码停机 |
因客户号码停机,导致无法接通(需开通号码状态识别) |
unavailableCount |
Integer |
号码暂无法接听 |
因客户电话暂时无法接听,导致无法接通(需开通号码状态识别) |
busyCount |
Integer |
客户占线 |
因客户电话占线,导致无法接通(需开通号码状态识别) |
rejectedCount |
Integer |
客户拒接 |
因客户电话拒接,导致无法接通(需开通号码状态识别) |
unansweredCount |
Integer |
客户无人接听 |
客户电话已接通,但无人接听 |
clientNoAnswerRate |
Double |
座席未接听率 |
座席未接听数/外呼总次数 |
answeredRate |
Double |
外呼接听率 |
客户接听数/(外呼总次数-座席未接听数) |
返回参数
名称 | 类型 | 描述 |
---|---|---|
statObHotline |
List<Map<String,Object>> |
报表数据 |
示例
请求示例
https://api-bj.clink.cn/cc/stat_ob_hotline?<公共请求参数>
Content-Type: application/x-www-form-urlencoded
date=20240203&dateEnd=20240303&hotlines=xxxx,xxxx
返回示例
{
"requestId":"38ce8a44-6850-44e4-a074-93080bf4cc73",
"statObHotline":[
{
"hotline": "xxxx",
"date": "20240203",
"dateEnd": "20240303",
"numberHome": "上海/上海",
"province": "北京",
"city": "北京",
"proportionRate": 50.0,
"totalCount": 1,
"customerNoAnswerCount": 0,
"clientNoAnswerCount": 0,
"answeredCount": 1,
"lineFaultCount": 0,
"lineRiskControlCount": 0,
"vacantNumberCount": 0,
"powerOffCount": 0,
"shutdownCount": 0,
"unavailableCount": 0,
"busyCount": 0,
"rejectedCount": 0,
"unansweredCount": 0,
"clientNoAnswerRate": 0.0,
"answeredRate": 100.0
}
]
}
变更历史
变更时间 | 变更内容概要 |
---|---|
2024/03/19 |
新增dateEnd,支持时间范围查询,最大时间跨度为6个月。 |
8.9. 外呼报表-按外显号码统计(座席分析)
POST /cc/stat_ob_hotline_client
请求参数
字段名 | 类型 | 必填 | 说明 | 示例 |
---|---|---|---|---|
date |
String |
true |
同步日期,时间格式(yyyyMMdd) |
20240203 |
dateEnd |
String |
false |
同步日期截止,时间格式(yyyyMMdd) ,默认与date相同,查询时间范围最大支持6个月 |
20240303 |
hotlines |
List<String> |
false |
外显号码,指定需要查询的外显号码 (默认全部外显号码) |
xxxx,xxxx |
fields |
List<String> |
false |
指定需要显示的字段 (默认全部) |
totalCount,answeredCount |
报表字段 注:时长字段 单位均为秒
字段名 | 类型 | 说明 | 释义 |
---|---|---|---|
date |
String |
日期 |
当统计方式为2时会回传同步日期;统计方式为3时会返回分时信息,例 0-1时 |
hotline |
String |
热线号码 |
热线号码 |
cno |
String |
座席号 |
座席号 |
cname |
String |
座席名称 |
座席名称 |
totalCount |
Integer |
外呼总次数 |
座席外呼客户的总次数,排除因线路故障/风控等导致外呼失败的因素(包含预览外呼+主叫外呼;不包括内部呼叫+webcall+预测外呼) |
answeredCount |
Integer |
客户接听数 |
座席外呼通话,双方接听的电话次数 |
customerNoAnswerCount |
Integer |
客户未接听数 |
座席外呼通话,客户未接听的电话次数 |
clientNoAnswerCount |
Integer |
座席未接听数 |
座席外呼通话,座席未接听的电话次数(通过工作台发起外呼时,系统会先呼叫座席绑定设备,如具备通话条件,再呼叫客户) |
lineFaultCount |
Integer |
线路故障 |
因被叫客户的线路问题,导致无法发起外呼 |
lineRiskControlCount |
Integer |
线路风控 |
因线路风控,导致无法发起外呼 |
vacantNumberCount |
Integer |
号码空号 |
因客户号码空号,导致无法接通(需开通号码状态识别) |
powerOffCount |
Integer |
号码关机 |
因客户号码关机,导致无法接通(需开通号码状态识别) |
shutdownCount |
Integer |
号码停机 |
因客户号码停机,导致无法接通(需开通号码状态识别) |
unavailableCount |
Integer |
号码暂无法接听 |
因客户电话暂时无法接听,导致无法接通(需开通号码状态识别) |
busyCount |
Integer |
客户占线 |
因客户电话占线,导致无法接通(需开通号码状态识别) |
rejectedCount |
Integer |
客户拒接 |
因客户电话拒接,导致无法接通(需开通号码状态识别) |
unansweredCount |
Integer |
客户无人接听 |
客户电话已接通,但无人接听 |
clientNoAnswerRate |
Double |
座席未接听率 |
座席未接听数/外呼总次数 |
answeredRate |
Double |
外呼接听率 |
客户接听数/(外呼总次数-座席未接听数) |
返回参数
名称 | 类型 | 描述 |
---|---|---|
statObHotlineClient |
List<Map<String,Object>> |
报表数据 |
示例
请求示例
https://api-bj.clink.cn/cc/stat_ob_hotline_client?<公共请求参数>
Content-Type: application/x-www-form-urlencoded
date=20240203&dateEnd=20240303&hotlines=xxxx,xxxx
返回示例
{
"requestId":"38ce8a44-xxxx-xxxx-xxxx-93080bf4cc73",
"statObHotlineClient":[
{
"hotline": "xxxx",
"cno": "0000",
"cname": "xxxx",
"date": "20240703",
"dateEnd": "20240703",
"totalCount": 1,
"customerNoAnswerCount": 0,
"clientNoAnswerCount": 0,
"answeredCount": 1,
"lineFaultCount": 0,
"lineRiskControlCount": 0,
"vacantNumberCount": 0,
"powerOffCount": 0,
"shutdownCount": 0,
"unavailableCount": 0,
"busyCount": 0,
"rejectedCount": 0,
"unansweredCount": 0,
"clientNoAnswerRate": 0.0,
"answeredRate": 100.0
}
]
}
8.10. 外呼报表-按外呼组统计
POST /cc/stat_ob_queue
请求参数
字段名 | 类型 | 必填 | 说明 | 示例 |
---|---|---|---|---|
date |
String |
true |
同步日期,时间格式(yyyyMMdd) |
20240203 |
dateEnd |
String |
false |
同步日期截止,时间格式(yyyyMMdd) ,默认与date相同,查询时间范围最大支持6个月 |
20240303 |
qnos |
List<String> |
false |
外呼组编号,指定需要查询的外呼组编号 (默认全部外呼组) |
0001,0002 |
fields |
List<String> |
false |
指定需要显示的字段 (默认全部) |
totalCount,answeredCount |
startHour |
Integer |
false |
查询开始时间 (单位:小时,范围:0-23),缺省值为0 |
0 |
endHour |
Integer |
false |
查询结束时间 (单位:小时,范围:0-23),缺省值为23 |
23 |
startMinute |
Integer |
false |
查询开始分钟 (单位:分,范围:0、15、30、45),缺省值为0 |
0 |
endMinute |
Integer |
false |
查询结束分钟 (单位:分,范围:0、15、30、45、59),缺省值为59 注:由startHour:startMinute和endHour:endMinute组成的开始时间和结束时间,开始时间不得晚于或等于结束时间。 只使用startHour或endHour时,请注意startMinute与endMinute的缺省值。 |
59 |
报表字段 注:时长字段 单位均为秒
字段名 | 类型 | 说明 | 释义 |
---|---|---|---|
date |
String |
日期 |
当统计方式为2时会回传同步日期;统计方式为3时会返回分时信息,例 0-1时 |
qno |
String |
外呼组编号 |
座席编号 |
qname |
String |
外呼组名称 |
座席名称 |
totalCount |
Integer |
外呼总次数 |
座席外呼客户的总次数,排除因线路故障/风控等导致外呼失败的因素(包含预览外呼+主叫外呼;不包括内部呼叫+webcall+预测外呼) |
answeredCount |
Integer |
客户接听数 |
座席外呼通话,双方接听的电话次数 |
customerNoAnswerCount |
Integer |
客户未接听数 |
座席外呼通话,客户未接听的电话次数 |
clientNoAnswerCount |
Integer |
座席未接听数 |
座席外呼通话,座席未接听的电话次数(通过工作台发起外呼时,系统会先呼叫座席绑定设备,如具备通话条件,再呼叫客户) |
validCount |
Integer |
有效通话次数 |
外呼通话,双方接听通话时长大于自定义配置时长的外呼次数(未配置则默认5秒) |
lineFaultCount |
Integer |
线路故障 |
因被叫客户的线路问题,导致无法发起外呼 |
lineRiskControlCount |
Integer |
线路风控 |
因线路风控,导致无法发起外呼 |
vacantNumberCount |
Integer |
号码空号 |
因客户号码空号,导致无法接通(需开通号码状态识别) |
powerOffCount |
Integer |
号码关机 |
因客户号码关机,导致无法接通(需开通号码状态识别) |
shutdownCount |
Integer |
号码停机 |
因客户号码停机,导致无法接通(需开通号码状态识别) |
unavailableCount |
Integer |
号码暂无法接听 |
因客户电话暂时无法接听,导致无法接通(需开通号码状态识别) |
busyCount |
Integer |
客户占线 |
因客户电话占线,导致无法接通(需开通号码状态识别) |
rejectedCount |
Integer |
客户拒接 |
因客户电话拒接,导致无法接通(需开通号码状态识别) |
unansweredCount |
Integer |
客户无人接听 |
客户电话已接通,但无人接听 |
clientNoAnswerRate |
Double |
座席未接听率 |
座席未接听数/外呼总次数 |
answeredRate |
Double |
外呼接听率 |
客户接听数/(外呼总次数-座席未接听数) |
answeredWaitDuration |
Integer |
客户接听等待总时长 |
客户接听,从外呼开始时间,到客户接听时的座席等待的总时长 |
answeredWaitAvgDuration |
Integer |
客户接听平均等待时长 |
客户接听等待总时长/客户接听数 |
noAnsweredWaitDuration |
Integer |
客户未接听等待总时长 |
客户未接听,从外呼开始时间到座席结束通话的等待的总时长 |
noAnsweredWaitAvgDuration |
Integer |
客户未接听平均等待时长 |
客户未接听等待总时长/客户未接听数 |
totalDuration |
Integer |
总时长 |
外呼通话,从发起通话到通话结束的总时长(包含预览外呼+主叫外呼两种类型,座席未接听、客户未接听、双方接听三种状态,但不包括内部呼叫+webcall+预测外呼) |
avgDuration |
Integer |
平均时长 |
外呼通话,从发起通话到通话结束的平均时长 |
bridgeDuration |
Integer |
通话总时长 |
外呼通话,座席的通话总时长(双方接听时长) |
maxBridgeDuration |
Integer |
最大通话时长 |
外呼通话时长,座席的最大通话时长(双方接听时长) |
minBridgeDuration |
Integer |
最小通话时长 |
外呼通话时长,座席的最小通话时长(双方接听时长) |
avgBridgeDuration |
Integer |
平均通话时长 |
外呼通话时长,座席的平均时长(双方接听时长) |
validDuration |
Integer |
有效通话总时长 |
外呼有效通话的总通话时长 |
avgValidDuration |
Integer |
有效通话平均时长 |
外呼有效通话的平均时长(有效通话总时长/有效通话次数) |
返回参数
名称 | 类型 | 描述 |
---|---|---|
statObQueue |
List<Map<String,Object>> |
报表数据 |
示例
请求示例
https://api-bj.clink.cn/cc/stat_ob_queue?<公共请求参数>
Content-Type: application/x-www-form-urlencoded
date=20240203&dateEnd=20240303&qno=0001,0002
返回示例
{
"requestId":"38ce8a44-6850-44e4-a074-93080bf4cc73",
"statObQueue":[
{
"qno": "0001",
"qname": "外呼组名称",
"date": "20240203",
"dateEnd": "20240303",
"totalCount": 1,
"answeredCount": 1,
"customerNoAnswerCount": 0,
"clientNoAnswerCount": 0,
"lineFaultCount": 0,
"lineRiskControlCount": 0,
"vacantNumberCount": 0,
"powerOffCount": 0,
"shutdownCount": 0,
"unavailableCount": 0,
"busyCount": 0,
"rejectedCount": 0,
"unansweredCount": 0,
"clientNoAnswerRate": 0.0,
"answeredRate": 100.0,
"answeredWaitDuration": 13,
"answeredWaitAvgDuration": 13,
"noAnsweredWaitDuration": 0,
"noAnsweredWaitAvgDuration": 0,
"totalDuration": 44,
"avgDuration": 44,
"bridgeDuration": 31,
"maxBridgeDuration": 31,
"minBridgeDuration": 31,
"avgBridgeDuration": 31,
"validCount": 0,
"validDuration": 0,
"avgValidDuration": 0
}
]
}
变更历史
变更时间 | 变更内容概要 |
---|---|
2024/03/19 |
新增dateEnd,支持时间范围查询,最大时间跨度为6个月。 |
8.11. 外呼报表-按外呼地区统计
POST /cc/stat_ob_area
请求参数
字段名 | 类型 | 必填 | 说明 | 示例 |
---|---|---|---|---|
date |
String |
true |
同步日期,时间格式(yyyyMMdd) |
20240618 |
dateEnd |
String |
false |
同步日期截止,时间格式(yyyyMMdd) ,默认与date相同,查询时间范围最大支持6个月 |
20240303 |
province |
String |
false |
指定需要查询的省份 (默认全部省份) |
北京 |
city |
String |
false |
指定需要查询的城市 (默认全部城市) |
北京 |
fields |
List<String> |
false |
指定需要显示的字段 (默认全部) |
totalCount,answeredCount |
areaAgg |
Integer |
false |
聚合查询方式 (默认为0) 取值范围为[0,1]; 0:按省份查询;1:按城市查询 |
0 |
startHour |
Integer |
false |
查询开始时间 (单位:小时,范围:0-23),缺省值为0 |
0 |
endHour |
Integer |
false |
查询结束时间 (单位:小时,范围:0-23),缺省值为23 |
23 |
报表字段 注:时长字段 单位均为秒
字段名 | 类型 | 说明 | 释义 |
---|---|---|---|
date |
String |
日期 |
当统计方式为2时会回传同步日期;统计方式为3时会返回分时信息,例 0-1时 |
province |
String |
省份 |
省份 |
city |
String |
城市 |
城市 |
totalCount |
Integer |
外呼总次数 |
座席外呼客户的总次数,排除因线路故障/风控等导致外呼失败的因素(包含预览外呼+主叫外呼;不包括内部呼叫+webcall+预测外呼) |
answeredCount |
Integer |
客户接听数 |
座席外呼通话,双方接听的电话次数 |
customerNoAnswerCount |
Integer |
客户未接听数 |
座席外呼通话,客户未接听的电话次数 |
clientNoAnswerCount |
Integer |
座席未接听数 |
座席外呼通话,座席未接听的电话次数(通过工作台发起外呼时,系统会先呼叫座席绑定设备,如具备通话条件,再呼叫客户) |
validCount |
Integer |
有效通话次数 |
外呼通话,双方接听通话时长大于自定义配置时长的外呼次数(未配置则默认5秒) |
clientNoAnswerRate |
Double |
座席未接听率 |
座席未接听数/外呼总次数 |
answeredRate |
Double |
外呼接听率 |
客户接听数/(外呼总次数-座席未接听数) |
totalDuration |
Integer |
总时长 |
外呼通话,从发起通话到通话结束的总时长(包含预览外呼+主叫外呼两种类型,座席未接听、客户未接听、双方接听三种状态,但不包括内部呼叫+webcall+预测外呼) |
avgDuration |
Integer |
平均时长 |
外呼通话,从发起通话到通话结束的平均时长 |
bridgeDuration |
Integer |
通话总时长 |
外呼通话,座席的通话总时长(双方接听时长) |
maxBridgeDuration |
Integer |
最大通话时长 |
外呼通话时长,座席的最大通话时长(双方接听时长) |
minBridgeDuration |
Integer |
最小通话时长 |
外呼通话时长,座席的最小通话时长(双方接听时长) |
avgBridgeDuration |
Integer |
平均通话时长 |
外呼通话时长,座席的平均时长(双方接听时长) |
validDuration |
Integer |
有效通话总时长 |
外呼有效通话的总通话时长 |
avgValidDuration |
Integer |
有效通话平均时长 |
外呼有效通话的平均时长(有效通话总时长/有效通话次数) |
返回参数
名称 | 类型 | 描述 |
---|---|---|
statObArea |
List<Map<String,Object>> |
报表数据 |
示例
请求示例
https://api-bj.clink.cn/cc/stat_ob_area?<公共请求参数>
Content-Type: application/x-www-form-urlencoded
date=20240203
返回示例
{
"requestId":"2dc23721-f06b-xxxx-xxxx-278e2386743e",
"statObArea":[
{
"province": "北京",
"city": "北京",
"date": "20240618",
"dateEnd": "20240618",
"totalCount": 25,
"answeredCount": 15,
"answeredRate": 60.0,
"customerNoAnswerCount": 8,
"clientNoAnswerCount": 0,
"clientNoAnswerRate": 0.0,
"validCount": 15,
"validDuration": 725,
"avgValidDuration": 48,
"bridgeDuration": 725,
"maxBridgeDuration": 81,
"minBridgeDuration": 13,
"avgBridgeDuration": 48,
"totalDuration": 921,
"avgDuration": 36
}
]
}
8.12. 中继报表-来电分析
POST /cc/stat_hotline_ib
请求参数
字段名 | 类型 | 必填 | 说明 |
---|---|---|---|
date |
String |
true |
同步日期,时间格式(yyyyMMdd) |
fields |
List<String> |
false |
指定需要显示的字段 (默认全部) |
statisticMethod |
Integer |
false |
统计方式 (默认为2) 取值范围为[2,3]; 2:汇总统计;3:分时统计 注:分时统计下只会返回存在工作情况的数据,若热线号在该时段没有来电,则不会返回该时段的数据 |
报表字段 注:时长字段 单位均为秒
字段名 | 类型 | 说明 |
---|---|---|
date |
String |
日期 当统计方式为2时会回传同步日期;统计方式为3时会返回分时信息,例 0-1时 |
hotline |
String |
热线号码 |
totalCount |
Integer |
总来电数 |
landlineCount |
Integer |
固话来电数 |
mobileCount |
Integer |
手机来电数 |
enterIvrCount |
Integer |
进入IVR数 |
directTransferTel |
Integer |
直转电话/IP话机数 |
directTransferQueue |
Integer |
直转队列数 |
directTransferCno |
Integer |
直转座席数 |
systemNoAnswerCount |
Integer |
系统未接听数 |
webCount |
Integer |
网上400呼入数 |
vipCount |
Integer |
VIP呼入数 |
restrictCount |
Integer |
黑名单来电数 |
enterQueueCount |
Integer |
进入队列来电通数 |
clientAnsweredCount |
Integer |
人工接听数 |
clientUnansweredCount |
Integer |
非人工接听数 |
clientIbCount |
Integer |
呼叫座席总来电数 |
answeredClientCount |
Integer |
接过电话的座席数 |
avgClientAnsweredCount |
Integer |
人均接听量 |
repeatIbRate |
Double |
热线重复来电率 |
totalDuration |
Integer |
总时长 |
avgDuration |
Integer |
平均时长 |
totalBridgeDuration |
Integer |
总通话时长 |
maxBridgeDuration |
Integer |
最大通话时长 |
minBridgeDuration |
Integer |
最小通话时长 |
avgBridgeDuration |
Integer |
平均通话时长 |
answeredRate |
Double |
呼入接通率 |
queueTotalWaitDuration |
Integer |
进入队列总排队时长 |
answeredTotalWaitDuration |
Integer |
人工接听总排队时长 |
queueAvgWaitDuration |
Integer |
进入队列平均排队时长 |
answeredAvgWaitDuration |
Integer |
人工接听平均排队时长 |
ibRingingRange1Count |
Integer |
15秒接通数 |
ibRingingRange2Count |
Integer |
20秒接通数 |
ibRingingRange3Count |
Integer |
30秒接通数 |
ibRingingRange4Count |
Integer |
45秒接通数 |
ibRingingRange5Count |
Integer |
60秒接通数 |
pickUp1Rate |
Double |
15秒接起率 |
pickUp2Rate |
Double |
20秒接起率 |
pickUp3Rate |
Double |
30秒接起率 |
pickUp4Rate |
Double |
45秒接起率 |
pickUp5Rate |
Double |
60秒接起率 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
statHotlineIb |
List<Map<String,Object>> |
报表数据 |
示例
请求示例
https://api-bj.clink.cn/cc/stat_hotline_ib
&date=20200801
&<公共请求参数>
返回示例
{
"requestId":"ae319b0d-ea01-46aa-b14e-b69895627809",
"statHotlineIb":[
{
"hotline":"xxxx",
"date":"9-10时",
"totalCount": 1,
"landlineCount": 0,
"mobileCount": 1,
"enterIvrCount": 1,
"directTransferTel": 0,
"directTransferQueue": 0,
"directTransferCno": 0,
"systemNoAnswerCount": 0,
"webCount": 0,
"vipCount": 0,
"restrictCount": 0,
"enterQueueCount": 1,
"clientAnsweredCount": 0,
"clientUnansweredCount": 1,
"clientIbCount": 0,
"answeredClientCount": 0,
"avgClientAnsweredCount": 0,
"repeatIbRate": "0.00",
"totalDuration": 82,
"avgDuration": 82,
"totalBridgeDuration": 0,
"maxBridgeDuration": 0,
"minBridgeDuration": 0,
"avgBridgeDuration": 0,
"answeredRate": "0.00",
"queueTotalWaitDuration": 10,
"answeredTotalWaitDuration": 0,
"queueAvgWaitDuration": 10,
"answeredAvgWaitDuration": 0,
"ibRingingRange1Count": 0,
"ibRingingRange2Count": 0,
"ibRingingRange3Count": 0,
"ibRingingRange4Count": 0,
"ibRingingRange5Count": 0,
"pickUp1Rate": "0.00",
"pickUp2Rate": "0.00",
"pickUp3Rate": "0.00",
"pickUp4Rate": "0.00",
"pickUp5Rate": "0.00"
},
{
"hotline":"xxxx",
"date":"10-11时",
"totalCount": 2,
"landlineCount": 0,
"mobileCount": 2,
"enterIvrCount": 2,
"directTransferTel": 0,
"directTransferQueue": 0,
"directTransferCno": 0,
"systemNoAnswerCount": 0,
"webCount": 0,
"vipCount": 0,
"restrictCount": 0,
"enterQueueCount": 2,
"clientAnsweredCount": 0,
"clientUnansweredCount": 2,
"clientIbCount": 0,
"answeredClientCount": 0,
"avgClientAnsweredCount": 0,
"repeatIbRate": "50.00",
"totalDuration": 69,
"avgDuration": 34,
"totalBridgeDuration": 0,
"maxBridgeDuration": 0,
"minBridgeDuration": 0,
"avgBridgeDuration": 0,
"answeredRate": "0.00",
"queueTotalWaitDuration": 20,
"answeredTotalWaitDuration": 0,
"queueAvgWaitDuration": 10,
"answeredAvgWaitDuration": 0,
"ibRingingRange1Count": 0,
"ibRingingRange2Count": 0,
"ibRingingRange3Count": 0,
"ibRingingRange4Count": 0,
"ibRingingRange5Count": 0,
"pickUp1Rate": "0.00",
"pickUp2Rate": "0.00",
"pickUp3Rate": "0.00",
"pickUp4Rate": "0.00",
"pickUp5Rate": "0.00"
},
{
"hotline":"xxxx",
"date":"14-15时",
"totalCount": 2,
"landlineCount": 0,
"mobileCount": 2,
"enterIvrCount": 2,
"directTransferTel": 0,
"directTransferQueue": 0,
"directTransferCno": 0,
"systemNoAnswerCount": 0,
"webCount": 0,
"vipCount": 0,
"restrictCount": 0,
"enterQueueCount": 2,
"clientAnsweredCount": 0,
"clientUnansweredCount": 2,
"clientIbCount": 0,
"answeredClientCount": 0,
"avgClientAnsweredCount": 0,
"repeatIbRate": "50.00",
"totalDuration": 125,
"avgDuration": 62,
"totalBridgeDuration": 0,
"maxBridgeDuration": 0,
"minBridgeDuration": 0,
"avgBridgeDuration": 0,
"answeredRate": "0.00",
"queueTotalWaitDuration": 20,
"answeredTotalWaitDuration": 0,
"queueAvgWaitDuration": 10,
"answeredAvgWaitDuration": 0,
"ibRingingRange1Count": 0,
"ibRingingRange2Count": 0,
"ibRingingRange3Count": 0,
"ibRingingRange4Count": 0,
"ibRingingRange5Count": 0,
"pickUp1Rate": "0.00",
"pickUp2Rate": "0.00",
"pickUp3Rate": "0.00",
"pickUp4Rate": "0.00",
"pickUp5Rate": "0.00"
}
]
}
8.13. 中继报表-外呼接听率分析
POST /cc/stat_hotline_ob_answered_rate
请求参数
字段名 | 类型 | 必填 | 说明 |
---|---|---|---|
date |
String |
true |
同步日期,时间格式(yyyyMMdd) |
fields |
List<String> |
false |
指定需要显示的字段 (默认全部) |
报表字段 注:时长字段 单位均为秒
字段名 | 类型 | 说明 |
---|---|---|
date |
String |
日期 |
hotline |
String |
热线号码 |
totalCount |
Integer |
总外呼数 |
clientUnansweredCount |
Integer |
座席未接听数 |
customerAnsweredCount |
Integer |
客户接听数 |
customerUnansweredCount |
Integer |
客户未接听数 |
answeredRate |
Double |
接听率 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
statHotlineObAnsweredRate |
List<Map<String,Object>> |
报表数据 |
示例
请求示例
https://api-bj.clink.cn/cc/stat_hotline_ob_answered_rate
&date=20200801
&<公共请求参数>
返回示例
{
"requestId":"8e0c5cad-df83-4501-9c32-58ce3545defd",
"statHotlineObAnsweredRate":[
{
"date":"20200804",
"hotline":"xxxxx",
"totalCount":3,
"clientUnansweredCount":1,
"customerAnsweredCount":1,
"customerUnansweredCount":1,
"answeredRate":50
},
{
"date":"20200804",
"hotline":"xxxx",
"totalCount":2,
"clientUnansweredCount":0,
"customerAnsweredCount":2,
"customerUnansweredCount":0,
"answeredRate":100
},
{
"date":"20200804",
"hotline":"xxxx",
"totalCount":1,
"clientUnansweredCount":0,
"customerAnsweredCount":1,
"customerUnansweredCount":0,
"answeredRate":100
}
]
}
8.14. IVR报表-IVR统计
POST /cc/stat_ivr_list
请求参数
字段名 | 类型 | 必填 | 说明 |
---|---|---|---|
date |
String |
true |
同步日期,时间格式(yyyyMMdd) |
fields |
List<String> |
false |
指定需要显示的字段 (默认全部) |
报表字段 注:时长字段 单位均为秒
字段名 | 类型 | 说明 |
---|---|---|
date |
String |
日期 |
ivrId |
String |
IVRID |
ivrEnterCount |
String |
IVR来电总通数 |
enterQueueCount |
Integer |
进入队列来电通数 |
ivrAbandonCount |
Integer |
IVR中放弃通数 |
ivrRepeatCallRate |
Integer |
IVR重复来电率 |
ivrTotalTime |
Integer |
总持续时长 |
ivrAvgTotalTime |
Integer |
平均持续时长 |
ivr |
Integer |
IVR名称 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
statIvrList |
List<Map<String,Object>> |
报表数据 |
示例
请求示例
https://api-bj.clink.cn/cc/stat_ivr_list
&date=20200801
&<公共请求参数>
返回示例
{
"requestId":"24861bbb-95d0-4b08-8a85-004132d83b00",
"statPreviewOb":[
{
"date":"20200804",
"ivrId":"8083",
"ivrEnterCount":9,
"enterQueueCount":0,
"ivrAbandonCount":0,
"ivrRepeatCallRate":83.33,
"ivrTotalTime":"00:03:57",
"ivrAvgTotalTime":"00:00:26",
"ivr":"语音导航测试"
}
]
}
8.15. IVR报表-IVR节点统计
POST /cc/stat_ivr_nodes
请求参数
字段名 | 类型 | 必填 | 说明 |
---|---|---|---|
date |
String |
true |
同步日期,时间格式(yyyyMMdd) |
返回参数
名称 | 类型 | 描述 |
---|---|---|
statIvrNodes |
List<Map<String,Object>> |
报表数据 |
示例
请求示例
https://api-bj.clink.cn/cc/stat_ivr_nodes
&date=20200801
&<公共请求参数>
返回示例
{
"requestId":"24861bbb-95d0-4b08-8a85-004132d83b00",
"statIvrNodes":[
{
"ivrName":"语音导航测试",
"data":[
{
"ivrNode":"节点1",
"count":1
},
{
"ivrNode":"节点2",
"count":2
},
{
"ivrNode":"节点3",
"count":3
}
]
}
]
}
8.16. 满意度报表-按座席统计
POST /cc/stat_investigation_by_cno
请求参数
字段名 | 类型 | 必填 | 说明 | 示例 |
---|---|---|---|---|
date |
String |
true |
同步日期,时间格式(yyyyMMdd) |
20240203 |
dateEnd |
String |
false |
同步日期截止,时间格式(yyyyMMdd) ,默认与date相同,查询时间范围最大支持6个月 |
20240303 |
cnos |
List<String> |
false |
座席工号,指定需要查询的座席 (默认全部座席) |
0001,0002 |
fields |
List<String> |
false |
指定需要显示的字段 (默认全部,传入statKey可返回按键值) |
ibBridgeCount,obBridgeCount |
callType |
String |
false |
呼叫类型 (呼入: ib,呼出: ob) |
ib |
报表字段 注:时长字段 单位均为秒
字段名 | 类型 | 说明 |
---|---|---|
date |
String |
日期 |
cno |
String |
座席工号 |
clientName |
String |
座席名称 |
ibBridgeCount |
Integer |
客户呼入接通通数 |
obBridgeCount |
Integer |
外呼双方接听次数 |
investigationTotalCount |
Integer |
调查总数 |
keyCount |
Integer |
按键数 |
abandonCount |
Integer |
放弃数 |
callType |
String |
呼叫类型 |
keyRate |
String |
参评率 |
minInvestigationDuration |
Integer |
最小调查时长 |
maxInvestigationDuration |
Integer |
最大调查时长 |
avgInvestigationDuration |
Integer |
平均调查时长 |
totalInvestigationDuration |
Integer |
总调查时长 |
minAbandonDuration |
Integer |
最小放弃时长 |
maxAbandonDuration |
Integer |
最大放弃时长 |
avgAbandonDuration |
Integer |
平均放弃时长 |
totalAbandonDuration |
Integer |
总放弃时长 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
statInvestigationByCno |
List<Map<String,Object>> |
报表数据 |
示例
请求示例
https://api-bj.clink.cn/cc/stat_investigation_by_cno?<公共请求参数>
Content-Type: application/x-www-form-urlencoded
date=20240203&dateEnd=20240303&cnos=0001,0002
返回示例
{
"requestId":"24861bbb-95d0-4b08-8a85-004132d83b00",
"statPreviewOb":[
{
"date":"20240203",
"dateEnd":"20240303",
"cno":"xxxx",
"clientName":"xxxx",
"ibBridgeCount":0,
"obBridgeCount":0,
"investigationTotalCount":1,
"keyCount":1,
"abandonCount":0,
"callType":"呼入",
"keyRate":"0%",
"minInvestigationDuration":5,
"maxInvestigationDuration":5,
"avgInvestigationDuration":0,
"totalInvestigationDuration":0,
"minAbandonDuration":0,
"maxAbandonDuration":0,
"avgAbandonDuration":0,
"totalAbandonDuration":0,
"按键值1": "0",
"按键值1占比": "0.00%"
}
]
}
变更历史
变更时间 | 变更内容概要 |
---|---|
2024/03/19 |
新增dateEnd,支持时间范围查询,最大时间跨度为6个月。 |
8.17. 满意度报表-按热线号码统计
POST /cc/stat_investigation_by_hotlines
请求参数
字段名 | 类型 | 必填 | 说明 | 示例 |
---|---|---|---|---|
date |
String |
true |
同步日期,时间格式(yyyyMMdd) |
20240203 |
dateEnd |
String |
false |
同步日期截止,时间格式(yyyyMMdd) ,默认与date相同,查询时间范围最大支持6个月 |
20240303 |
fields |
List<String> |
false |
指定需要显示的字段 (默认全部,传入statKey可返回按键值) |
ibBridgeCount,obBridgeCount |
callType |
String |
false |
呼叫类型 (呼入: ib,呼出: ob) |
ib |
报表字段 注:时长字段 单位均为秒
字段名 | 类型 | 说明 |
---|---|---|
date |
String |
日期 |
hotline |
String |
热线号码 |
ibBridgeCount |
Integer |
客户呼入接通通数 |
obBridgeCount |
Integer |
外呼双方接听次数 |
investigationTotalCount |
Integer |
调查总数 |
keyCount |
Integer |
按键数 |
abandonCount |
Integer |
放弃数 |
callType |
String |
呼叫类型 |
keyRate |
String |
参评率 |
minInvestigationDuration |
Integer |
最小调查时长 |
maxInvestigationDuration |
Integer |
最大调查时长 |
avgInvestigationDuration |
Integer |
平均调查时长 |
totalInvestigationDuration |
Integer |
总调查时长 |
minAbandonDuration |
Integer |
最小放弃时长 |
maxAbandonDuration |
Integer |
最大放弃时长 |
avgAbandonDuration |
Integer |
平均放弃时长 |
totalAbandonDuration |
Integer |
总放弃时长 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
statInvestigationByHotlines |
List<Map<String,Object>> |
报表数据 |
示例
请求示例
https://api-bj.clink.cn/cc/stat_investigation_by_hotlines?<公共请求参数>
Content-Type: application/x-www-form-urlencoded
date=20240203&dateEnd=20240303&hotlines=xxxx,xxxx
返回示例
{
"requestId":"24861bbb-95d0-4b08-8a85-004132d83b00",
"statPreviewOb":[
{
"date":"20240203",
"dateEnd":"20240303",
"hotline":"xxxx",
"ibBridgeCount":0,
"obBridgeCount":0,
"investigationTotalCount":1,
"keyCount":1,
"abandonCount":0,
"callType":"呼入",
"keyRate":"0%",
"minInvestigationDuration":5,
"maxInvestigationDuration":5,
"avgInvestigationDuration":0,
"totalInvestigationDuration":0,
"minAbandonDuration":0,
"maxAbandonDuration":0,
"avgAbandonDuration":0,
"totalAbandonDuration":0,
"按键值1": "0",
"按键值1占比": "0.00%"
}
]
}
变更历史
变更时间 | 变更内容概要 |
---|---|
2024/03/19 |
新增dateEnd,支持时间范围查询,最大时间跨度为6个月。 |
9. 单点登录
9.1. 获取token接口
GET /cc/login_token
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
username |
String |
true |
工号或用户名 |
staticUrl |
String |
false |
指定的登录模块,home:首页;cc:呼叫中心工作台;livechat:在线客服工作台;mail:邮件工作台(默认为home) |
sidebarDisplay |
Integer |
false |
侧边栏是否展示,0:不展示;1:展示(默认为1) |
topbarDisplay |
Integer |
false |
顶部栏是否展示,0:不展示;1:展示(默认为1) |
onlineSideTabDisplay |
Integer |
false |
是否开启在线客服侧边栏,0:不开启;1:开启(默认为1) |
autoLoginCc |
Integer |
false |
是否自动登录呼叫中心工作台,0:不自动登录;1:自动登录(默认为1) |
autoLoginLiveChat |
Integer |
false |
是否自动登录在线客服工作台,0:不自动登录;1:自动登录(默认为1) |
返回参数
名称 | 类型 | 描述 |
---|---|---|
loginUrl |
String |
带token的跳转url,可以直接访问 |
示例
请求示例
https://api-bj.clink.cn/cc/login_token
&<公共请求参数>
返回示例
{
"requestId":"d58ee283-e492-4c0f-9df7-bb1138db85f4",
"loginUrl": "https://xxx/openapi_login?token=5b586640c71440beaa2e57d57253fa23"
}
9.2. 单点登录第三方对接
最新版文档见:系统管理-工作台集成说明 https://develop.clink.cn/develop/integration/chat-communication.html
请优先使用新版sdk对接
示例
由于座席工作台是以 iframe 的方式嵌入到页面中,所以通信采用 iframe postMessage 的方式;页面需要监听发出来的消息; 示例代码:
window.addEventListener('message', function(e){
// todo
console.log('message', e);
});
示例代码中,e 为回调参数; iframe 嵌入方和被嵌入方通信固定事件为 message,无法修改,可以通过 source 来区分来源;
参数说明
名称 | 类型 | 值 | 说明 |
---|---|---|---|
source |
String |
固定值 |
|
enterpriseId |
Number |
企业id |
|
event |
String |
SWITCH_CHAT_CARD: 切换对话;CLOSE_CHAT_CARD: 关闭对话 |
|
visitorId |
String |
访客ID |
|
mainUniqueId |
String |
会话ID |
|
activeTab |
String |
handle:待处理;queue:排队中;browse:浏览中;history:历史 |
SWITCH_CHAT_CARD事件时必传 |
sessionState |
String |
chat:会话中;toReplay:未回复;leaveMsg:留言;robot:机器人 |
SWITCH_CHAT_CARD事件时必传 |
appName |
String |
接入号名称,非必传 |
|
customerCity |
String |
地区—城市,非必传 |
|
appId |
String |
渠道id,SWITCH_CHAT_CARD事件时必传 |
|
contactName |
String |
渠道名称,SWITCH_CHAT_CARD事件时必传 |
|
startTime |
timeStamp |
开始时间,SWITCH_CHAT_CARD事件时必传 |
|
endTime |
timeStamp |
结束时间,非必传 |
|
qname |
String |
来源队列,非必传 |
|
cno |
String |
受理座席,非必传 |
|
clientName |
String |
受理座席名称,非必传 |
|
reason |
Number |
5:座席主动关闭;13:访客超时未回复关闭;14: 访客离开超时关闭 |
关闭原因 |
10. 工具条token登录
10.1. 获取authToken接口
POST /cc/ws_auth_token
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
username |
String |
true |
管理员账号 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
authToken |
String |
认证token |
示例
请求示例
https://api-bj.clink.cn/cc/ws_auth_token
&<公共请求参数>
POST请求体
{
"username":""
}
返回示例
{
"requestId": "12c238ac-d4da-426f-95ac-43041576e3bb",
"authToken": "9649b6a6b6541c0f"
}
10.2. 获取agentToken接口
POST /cc/ws_agent_token
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
authToken |
String |
true |
authToken,根据此接口获取获取authToken接口 |
cno |
String |
false |
座席工号(cno、name二选一必传) |
name |
String |
false |
座席姓名(cno、name二选一必传) |
返回参数
名称 | 类型 | 描述 |
---|---|---|
agentToken |
String |
工具条token登录所需token |
示例
请求示例
https://api-bj.clink.cn/cc/ws_auth_token
&<公共请求参数>
POST请求体
{
"authToken":"9649b6a6b6541c0f",
"cno":"100100",
"name":""
}
返回示例
{
"requestId": "6f173595-3e4e-415d-8091-2bee6beae6ec",
"agentToken": "cf495b31f54ef5401a24e2de2adca3dc"
}
11. 外呼任务
11.1. 新增外呼任务
POST /cc/create_task_property
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
name |
String |
true |
外呼任务名称 |
assignation |
Integer |
true |
是否分配,0:不分配;1:分配 |
assignationArea |
Integer |
false |
按座席服务地区分配 ,0:关闭,1:开启。默认关闭。 当功能开启时,如果系统未找到与外呼号码归属地对应的座席服务地区,将会导致这部分外呼任务导入失败。请确保在开启此功能前,已正确配置座席服务地区。 |
assignationType |
Integer |
true |
分配规则 0:顺序分配 ,1: 随机分配 |
taskType |
Integer |
true |
外呼任务类型,1:已有外呼任务;2:新建外呼任务 |
cnos |
String[] |
true |
分配座席号 仅当assignation设置为1时,此参数需要填写。 |
duplicateStrategy |
Integer |
true |
号码排重模式: 0:不排重;1:本任务排重, 2:任务间排重 |
creatorName |
String |
true |
操作管理员用户名 |
start |
Integer |
false |
是否启动外呼任务,1:启动 0:不启动(默认不启动) |
formName |
String |
false |
外呼任务表单模板名称,默认使用外呼任务模板表单 |
taskInventories |
Object[] |
true |
任务详情 |
taskInventories 对象
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
customerName |
String |
true |
客户名称 |
customerTel |
String |
true |
客户号码 |
remark |
String |
false |
备注 |
customize |
Object[] |
false |
自定义字段 |
customize 对象
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
name |
String |
true |
自定义字段名称 |
value |
String |
false |
自定义字段值 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
successCount |
Integer |
成功任务详情数 |
invalidCount |
Integer |
非法任务详情数 |
duplicateCount |
Integer |
重复任务详情数 |
示例
请求示例
https://api-bj.clink.cn/cc/create_task_property
&<公共请求参数>
RequestBody请求参数
{
"name": "任务名称",
"assignation": 1,
"assignationArea": 1,
"assignationType": 1,
"taskType": 1,
"cnos": ["0000"],
"duplicateStrategy": 1,
"creatorName": "admin",
"start": 0,
"formName": "外呼任务表单模板",
"taskInventories": [{
"customerName": "客户名称",
"customerTel": "138xxxx8888",
"remark": "备注",
"customize": [{
"name": "字段名称",
"value": "字段内容"
}]
}]
}
返回示例
{
"requestId": "87e2b54b-084e-482e-89f8-04c60e76cd6f",
"taskProperty": {
"successCount": 100,
"invalidCount": 0,
"duplicateCount": 0
}
}
12. 客户号码代理
12.1. 客户所需提供信息
1. accessKey 2. accessSecret 3. 请求路径
12.2. 获取token
请求方式
POST或者GET
ContentType
application/json application/x-www-form-urlencoded
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
timestamp |
Long |
true |
时间戳(毫秒) |
sign |
String |
true |
签名 sign=MD5(accessSecret×tamp)说明:md5加密字符串为:"accessSecret" + "&" + "timestamp" |
appId |
String |
true |
由客户提供的accessKey |
返回参数
名称 | 类型 | 描述 |
---|---|---|
result |
Integer |
状态码,1:成功 |
message |
String |
状态码描述信息 |
accessToken |
String |
认证token,说明:需要accessToken的接口每次请求都会调用此接口获取accessToken |
返回示例
{
"result":1,
"message":"成功",
"accessToken":"ChFvYXV0"
}
12.3. 获取真实号码
请求方式
POST或者GET
ContentType
application/json application/x-www-form-urlencoded
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
accessToken |
String |
true |
通过获取token接口得到的认证token |
userId |
String |
true |
代理号码 |
appId |
String |
true |
由客户提供的accessKey |
返回参数
名称 | 类型 | 描述 |
---|---|---|
result |
Integer |
状态码,1:成功 |
message |
String |
状态码描述信息 |
phone |
String |
真实号码 |
返回示例
{
"result":1,
"message":"成功",
"phone":"18800000000"
}
12.4. 获取代理号码
请求方式
POST或者GET
ContentType
application/json application/x-www-form-urlencoded
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
accessToken |
String |
true |
通过获取token接口得到的认证token |
phone |
String |
true |
真实号码 |
appId |
String |
true |
由客户提供的accessKey |
返回参数
名称 | 类型 | 描述 |
---|---|---|
result |
Integer |
状态码,1:成功 |
message |
String |
状态码描述信息 |
userId |
String |
代理号码 |
返回示例
{
"result":1,
"message":"成功",
"userId":"aM5@iA2!dC0$d"
}
12.5. 批量获取真实号码
请求方式
POST或者GET
ContentType
application/json application/x-www-form-urlencoded
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
accessToken |
String |
true |
通过获取token接口得到的认证token |
userIds |
String |
true |
代理号码,多个号码用英文逗号隔开 |
appId |
String |
true |
由客户提供的accessKey |
返回参数
名称 | 类型 | 描述 |
---|---|---|
result |
Integer |
状态码,1:成功 |
message |
String |
状态码描述信息 |
phones |
String |
真实号码,为多个用逗号隔开。说明:若代理号码无对应的真实号码,用""空字符串代替。 |
返回示例
{
"result":1,
"message":"成功",
"phones":"18800000000,17700000000"
}
说明
1. 客户号码代理相关接口都支持设置静态请求参数和静态变量,最多支持5个静态参数
13. 缓存数据管理
13.1. 缓存数据请求接口
请求方式
POST /cc/data_manager
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
method |
String |
true |
操作方法,set:设置缓存数据 get:读取缓存数据 |
key |
String |
true |
键值,长度不超过256个字节 |
value |
String |
false |
键对应的值,长度不超过4096个字节。1个汉字是3字节。 method=set时必选 |
expired |
Integer |
false |
有效期秒数,默认3600秒,取值范围0-86400之间 method=set时有效 |
accessLimit |
Integer |
可访问次数 |
默认值10000 取值范围1-10000之间 method=set时有效 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
requestId |
String |
请求唯一id |
accessLimit |
Integer |
可访问次数 |
expired |
Integer |
有效期秒数 |
value |
String |
键对应的值 |
返回示例
{
"requestId": "d777d05e-dcc6-4c6e-a2c8-5b051ba89a68",
"accessLimit":10000,
"expired":3600,
"value":"set_vlaue"
}
14. 脚本管理
14.1. 使用说明
- 脚本支持简单javascript语法; - 内嵌常用 require 模块(例如:crypto 等,详见下文),用户可通过 `require('<module_name>');` 语句使用; - 脚本需以 `res={<filed1>:<expr1>,...};` 形式结尾; - 脚本运行成功后,res的内容会被作为底层变量进行使用; - `field1`(字段名)、`expr1`(字段值对应的表达式) 可根据需要自行定义;同时,expr1 解析的结果只能是字符串。
脚本需以 res={<filed1>:<expr1>,…}; 形式结尾;否则不生效。
|
内嵌 require 模块
模块名/函数/变量 | 类型 | 说明 | 场景 |
---|---|---|---|
md5 |
require |
封装了md5加密功能 |
信息加密解密 |
crypto |
require |
封装了密码学相关功能; 加密算法详见:crypto支持的加密算法; 官方文档: Nodejs.Crypto; |
信息加密解密 |
enterpriseId |
内置变量 |
企业ID |
crypto支持的加密算法
DSA, DSA-SHA, DSA-SHA1, DSA-cSHA1-old, RSA-MD4, RSA-MD5, RSA-MDC2, RSA-RIPEMD160,
RSA-SHA, RSA-SHA1, RSA-SHA1-2, RSA-SHA224, RSA-SHA256, RSA-SHA384, RSA-SHA512,
dsaEncryption, dsaWithSHA, dsaWithSHA1, dss1, ecdsa-with-SHA1, md4, md4WithRSAEncryption,
md5, md5WithRSAEncryption, mdc2, mdc2WithRSA, ripemd, ripemd160, ripemd160WithRSA,
rmd160, sha, sha1, sha1WithRSAEncryption, sha224, sha224WithRSAEncryption,
sha256, sha256WithRSAEncryption, sha384, sha384WithRSAEncryption,
sha512, sha512WithRSAEncryption, shaWithRSAEncryption, ssl2-md5, ssl3-md5, ssl3-sha1, whirlpool
14.2. 脚本示例
常用语句:
功能 | 脚本 |
---|---|
当前时间戳 (单位:ms) |
timestamp=Date.now(); |
使用MD5加密
// 脚本功能:md5 加密
// 入参:{"customerNum":"18999818989","token":"Aa102938"};
// 运行结果:{ "sign": "7dbadbb2a58c8bbde3f7730968696ecd", "timestamp": 1671610903359 }
timestamp= Date.now();
info=customerNum+token+timestamp
// 加密
encryptor= require('md5');
signature=encryptor(info);
res={sign:signature,timestamp:timestamp}
使用CRYPTO加密
使用 crypto 对信息进行加密时,通过 require('crypto')
的 .createHash()
指定加密算法,.update()
设置待加密的信息, .digest()
设置输出格式
-
模版:
// 使用 crypto 对信息加密的 步骤:
// 1. 获取crypto 对象
crypto = require("crypto");
// 2. 设置加密算法
sign = crypto.createHash("SHA256")
// 3. 设置待加密的信息
.update(customerNum)
// 4. 设置输出格式,hex:16进制表示,32位; Base64: 以 == 结尾;
.digest('Base64');
res={sign:sign}
-
Hash算法加密
// crypto 对 customerNum+token+timestamp 加密(算法:md5,输出格式:hex)
// 入参:{"customerNum":"18999818989","token":"Aa102938"};
// 结果:{ "sign": "7dbadbb2a58c8bbde3f7730968696ecd", "timestamp": 1671610903359 }
timestamp= Date.now();
info=customerNum+token+timestamp
crypto = require("crypto");
sign = crypto.createHash("MD5").update(info).digest('hex');
res={sign:sign,timestamp:timestamp}
// crypto 对 customerNum+token+timestamp 加密(算法:sha256,输出:Base64)
// 入参:{"customerNum":"18999818989","token":"Aa102938"};
// 结果:{ "sign": "x6gx2l+9sHNxjQSdiMBzHAx1XkkfCPYs3l5r7YCDQVs=", "timestamp": 1671610903359 }
timestamp= Date.now();
info=customerNum+token+timestamp
crypto = require("crypto");
sign = crypto.createHash("sha256").update(info).digest('Base64');
res={sign:sign,timestamp:timestamp}
-
Hmac算法加密:
Hmac 算法又称加盐算法,是将哈希算法与一个密钥结合在一块儿,用来阻止对签名完整性的破坏
// crypto 对 customerNum+timestamp 加密 (算法:hmac + sha1,salt:token ,输出:Base64)
// 入参:{"customerNum":"18999818989","token":"Aa102938"};
// 结果:{ "sign": "YAVOzMZ6OgDxDbHjk6ydDtCyjRur2OIPIiuFU8G1FHk=", "timestamp": 1671610903359 }
timestamp= Date.now();
info=customerNum+timestamp;
sign=require('crypto')
.createHmac("sha1",token)
.update(info)
.digest('base64');
res={sign:sign,timestamp:timestamp}
用户可通过系统提供的调试功能测试脚本是否生效:
调试时,脚本右侧的请求参数(json格式,例如: {"filed":"field_name"} ,其中field为脚本中未初始化的变量)是必填的;否则运行结果会变为:{ "ivr_script_code_error": "脚本运行失败"}
|
15. 智能化
15.1. 智能填单请求接口
POST /cc/intelligent_filling_insight
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
mainUniqueId |
String |
true |
通话记录唯一标识 |
type |
Integer |
false |
模板类型 0:业务记录 1:工单记录, 默认0 |
formName |
String |
true |
模板名称 |
cno |
String |
false |
座席号 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
templateId |
Integer |
模板ID |
示例
请求示例
https://api-bj.clink.cn/cc/intelligent_filling_insight
&<公共请求参数>
RequestBody请求参数
{
"mainUniqueId": "xxxx",
"cno":"xxxx",
"type": 0,
"formName": "xxxx"
}
返回示例
{
"requestId":"ba078ace-717c-4dea-af41-d4dd5035edd6",
"templateId": 0
}
15.2. 查询会话评估
GET /cc/cdr_evaluation
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
mainUniqueId |
String |
true |
通话记录唯一标识 |
medias_1-162046xxxx.12 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
evaluation |
Object |
会话评估数据
名称 | 类型 | 描述 |
---|---|---|
mainUniqueId |
String |
通话ID |
customerNumber |
String |
客户号码 |
clientName |
String |
座席姓名 |
cno |
String |
座席工号 |
startTime |
Long |
开始时间 |
evaluationPoint |
Object |
会话要点 |
evaluationSummary |
String |
会话小结 |
evaluationIsSolve |
String |
问题是否解决 |
evaluationReason |
String |
问题是否解决-分析 |
evaluationSatisfy |
String |
客户满意度 |
evaluationAnalysis |
String |
客户满意度-分析 |
示例
请求示例
https://api-bj.clink.cn/cc/cdr_evaluation
?mainUniqueId=medias_1-162046xxxx.12
&<公共请求参数>
返回示例
{
"evaluation": {
"mainUniqueId": "medias_1-1725247265.xxx",
"customerNumber": "137xxxx9459",
"cno":"xxxx",
"clientName":"xxxx",
"startTime": 1725247265,
"evaluationSummary": "xxxx",
"evaluationIsSolve": "xxxx",
"evaluationReason": "xxxx",
"evaluationSatisfy": "xxxx",
"evaluationAnalysis": "xxxx",
"evaluationPoint": {
"要点1": "xxxx",
"要点2": "xxxx",
"要点3": "xxxx",
"要点4": "xxxx"
}
},
"requestId": "355cea9e-2945-4d00-8874-1677257b54d0"
}
16. 云手机
16.1. 工作虚拟号绑定
16.1.1. 工作虚拟号AX绑定
工作虚拟号AX绑定
POST /cc/cloud_number_ax_bind
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
bind |
Integer |
true |
操作类型:1-绑定,0-解绑 |
cno |
String |
true |
座席工号 |
telA |
String |
true |
座席号码 |
telX |
String |
true |
虚拟工作卡; |
authId |
String |
false |
AX绑定后得到的认证ID;bind=0时,必填 |
authType |
String |
false |
是否需要下发短信启动实名认证, bind=1时,必填; 0-否,通过省侧其他渠道实名。 1-是,通过短信链接发起实名。 |
示例
请求示例
https://api-bj.clink.cn/cc/cloud_number_ax_bind
AX 绑定
curl -XPOST 'https://api-bj.clink.cn/cc/cloud_number_ax_bind?<追加公共参数>' -H 'Content-Type:application/json' -d' { "bind":1, "cno":"2021", "telA":"188xxxx5829", "telX":"188xxxx5830", "authType":1 }'
AX 解绑
curl -XPOST 'https://api-bj.clink.cn/cc/cloud_number_ax_bind?<追加公共参数>' -H 'Content-Type:application/json' -d' { "bind":0, "cno":"2021", "telA":"188xxxx5829", "telX":"188xxxx5830", "authId": "30d1dfcf969e2f03bcdf0c691565d552" }'
返回示例
AX 绑定结果
{
"requestId": "ba078ace-717c-4dea-af41-d4dd5035edd6",
"result": {
"authId": "30d1dfcf969e2f03bcdf0c691565d552"
}
}
AX 解绑结果
{
"requestId": "ba078ace-717c-4dea-af41-d4dd5035edd6",
"message": "解绑成功"
}
16.1.2. 工作虚拟号AXB绑定
工作虚拟号AXB绑定
POST /cc/cloud_number_axb_bind
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
bind |
Integer |
true |
操作类型:1-绑定,0-解绑 |
cno |
String |
true |
座席工号 |
telX |
String |
true |
虚拟工作卡 |
telB |
String |
true |
客户号码 |
authId |
String |
false |
AX绑定后得到的认证ID;bind=1时,必填 |
bindId |
String |
false |
AXB绑定后得到的绑定id;bind=0时,必填 |
expiration |
Integer |
false |
有效期,单位:s;bind=1时,必填 |
示例
请求示例
https://api-bj.clink.cn/cc/cloud_number_axb_bind
AXB 绑定
curl -XPOST 'https://api-bj.clink.cn/cc/cloud_number_ax_bind?<追加公共参数>' -H 'Content-Type:application/json' -d' { "bind":1, "cno":"2021", "telX":"188xxxx5830", "telB":"188xxxx5829", "authId": "30d1dfcf969e2f03bcdf0c691565d552", "expiration":3600 }'
AXB 解绑
curl -XPOST 'https://api-bj.clink.cn/cc/cloud_number_ax_bind?<追加公共参数>' -H 'Content-Type:application/json' -d' { "bind":0, "cno":"2021", "telX":"188xxxx5830", "telB":"188xxxx5829", "bindId": "30d1dfcf969e2f03bcdf0c691565d552" }'
返回示例
axb 绑定结果
{
"requestId": "ba078ace-717c-4dea-af41-d4dd5035edd6",
"result": {
"bindId": "30d1dfcf969e2f03bcdf0c691565d552"
}
}
axb 解绑结果
{
"requestId": "ba078ace-717c-4dea-af41-d4dd5035edd6",
"message": "解绑成功"
}
16.2. 云手机通话记录
16.2.1. 查询云手机通话记录列表
GET /cc/list_cloud_number_cdrs
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
startTime |
Long |
false |
开始时间,时间戳格式精确到秒。默认值取当前月份第一天 |
1500000000 |
endTime |
Long |
false |
结束时间,时间戳格式精确到秒,开始时间和结束时间跨度不能超过一个月。默认值取当前时间 |
1500010000 |
type |
String |
false |
呼叫类型:ib:呼入、ob:外呼; 默认查询所有数据 |
ib |
uniqueId |
String |
false |
话单Id |
medias_1-1500000000.1 |
cno |
String |
false |
座席工号 |
2021 |
cloudNumberMode |
Integer |
false |
云手机通话类型:1:实体卡,2:工作卡,3:两端呼,4:RTC;默认所有 |
1 |
bridgeStatus |
Integer |
false |
接听状态:0:未接通、1:接通、2:所有(默认) |
1 |
customerNumber |
String |
false |
客户号码 (请设置未隐藏的号码;此处为了说明,故示例写的188xxxx0909) |
188xxxx0909 |
clid |
String |
false |
外显号码 (请设置未隐藏的号码;此处为了说明,故示例写的021xxxx0909) |
021xxxx0909 |
hiddenType |
Integer |
false |
是否隐藏号码。 0: 不隐藏,1: 中间四位,2: 最后八位,3: 全部号码,4: 最后四位。默认值为 0 |
1 |
offset |
Integer |
false |
偏移量,范围 0-99990。默认值为 0。注:limit + offset 不允许超过100000 |
0 |
limit |
Integer |
false |
查询条数,范围 10-100。默认值为 10。注:limit + offset 不允许超过100000 |
10 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
cloudNumberCdrs |
List<Object> |
云手机通话记录
名称 | 类型 | 描述 |
---|---|---|
uniqueId |
String |
话单ID |
originUniqueId |
String |
源话单ID |
cno |
String |
座席工号 |
callType |
String |
呼叫类型,ib:呼入,ob:外呼 |
agentNumber |
String |
座席号码 |
customerNumber |
String |
客户号码 |
customerNumberEncrypt |
String |
客户号码加密串 |
customerProvince |
String |
客户来电省份 |
customerCity |
String |
客户来电城市 |
cloudNumberMode |
Integer |
云号码模式;1:实体卡、2:工作卡、3:两端呼、4:RTC |
xnumber |
String |
虚拟号码 |
startTime |
Long |
开始时间(单位:s) |
endTime |
Long |
结束时间(单位:s) |
endReason |
Integer |
挂机原因;0:系统挂机,1:座席挂机,2:客户挂机,3:未知 |
bridgeStatus |
Integer |
接听状态;1:接通,0:未接通 |
bridgeTime |
Long |
接通时间(单位:s) |
bridgeDuration |
Integer |
通话时长(单位:s) |
totalDuration |
Integer |
总时长(单位:s) |
clid |
String |
外显号 |
示例
请求示例
https://api-bj.clink.cn/cc/list_cloud_number_cdrs
?cno=7005
&<公共请求参数>
返回示例
{
"pageNumber": 1,
"requestId": "a8c41569-675e-42a5-ad3a-82b846309370",
"pageSize": 10,
"cloudNumberCdrs": [
{
"uniqueId": "ucp.1706615586.e93b27d00c30fad74171787540b3d259",
"originUniqueId": "2401301953064307000107940053c8c7",
"enterpriseId": 8001678,
"cno": "7005",
"callType": "ib",
"agentNumber": "***********",
"customerNumber": "***********",
"customerNumberEncrypt":"TNjljZjZlNjgxYmIwNjMxZGEwMzA3MmQ0MDQzYWEyMjY",
"customerProvince": "北京",
"customerCity": "北京",
"cloudNumberMode": 1,
"clid": "***********",
"startTime": 1706615586,
"endTime": 1706615600,
"endReason": 3,
"bridgeStatus": 1,
"bridgeTime": 1706615591,
"bridgeDuration": 9,
"totalDuration": 14
}
],
"totalCount": 1
}
16.2.2. 查询云手机通话记录明细
GET /cc/describe_cloud_number_cdr
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
uniqueId |
String |
true |
话单Id |
ucp.1706615586.e93b27d00c30fad74171787540b3d259 |
hiddenType |
Integer |
false |
是否隐藏号码。 0: 不隐藏,1: 中间四位,2: 最后八位,3: 全部号码,4: 最后四位。默认值为 0 |
1 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
cloudNumberCdr |
Object |
云手机通话记录详情
名称 | 类型 | 描述 |
---|---|---|
uniqueId |
String |
话单ID |
originUniqueId |
String |
源话单ID |
cno |
String |
座席工号 |
callType |
String |
呼叫类型,ib:呼入,ob:外呼 |
agentNumber |
String |
座席号码 |
customerNumber |
String |
客户号码 |
customerNumberEncrypt |
String |
客户号码加密串 |
customerProvince |
String |
客户来电省份 |
customerCity |
String |
客户来电城市 |
cloudNumberMode |
Integer |
云号码模式;1:实体卡、2:工作卡、3:两端呼、4:RTC |
xnumber |
String |
虚拟号码 |
startTime |
Long |
开始时间(单位:s) |
endTime |
Long |
结束时间(单位:s) |
endReason |
Integer |
挂机原因;0:系统挂机,1:座席挂机,2:客户挂机,3:未知 |
bridgeStatus |
Integer |
接听状态;1:接通,0:未接通 |
bridgeTime |
Long |
接通时间(单位:s) |
bridgeDuration |
Integer |
通话时长(单位:s) |
totalDuration |
Integer |
总时长(单位:s) |
clid |
String |
外显号 |
recordFile |
String |
录音文件 |
示例
请求示例
https://api-bj.clink.cn/cc/describe_cloud_number_cdr
?uniqueId=ucp.1706615586.e93b27d00c30fad74171787540b3d259
&<公共请求参数>
返回示例
{
"requestId": "a8c41569-675e-42a5-ad3a-82b846309370",
"cloudNumberCdrs": {
"uniqueId": "ucp.1706615586.e93b27d00c30fad74171787540b3d259",
"originUniqueId": "2401301953064307000107940053c8c1",
"enterpriseId": 8001678,
"cno": "7005",
"callType": "ib",
"agentNumber": "***********",
"customerNumber": "***********",
"customerNumberEncrypt":"TNjljZjZlNjgxYmIwNjMxZGEwMzA3MmQ0MDQzYWEyMjY",
"customerProvince": "北京",
"customerCity": "北京",
"cloudNumberMode": 1,
"clid": "***********",
"startTime": 1706615586,
"endTime": 1706615600,
"endReason": 3,
"bridgeStatus": 1,
"bridgeTime": 1706615591,
"bridgeDuration": 9,
"totalDuration": 14,
"recordFile":"record-wav/2024-01-01/ucp-yunxi-record.2401301953064307000107940053c8c1.wav"
}
}
16.2.3. 查询云手机通话录音地址
GET /cc/describe_cloud_number_record_file
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
uniqueId |
String |
true |
话单Id |
ucp.1706615586.e93b27d00c30fad74171787540b3d259 |
timeout |
Integer |
false |
获取录音地址超时时长,单位为秒,默认为一小时,范围在一到二十四小时。 |
3600 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
recordFileUrl |
String |
录音文件链接 |
示例
请求示例
https://api-bj.clink.cn/cc/describe_cloud_number_record_file
?uniqueId=ucp.1706615586.e93b27d00c30fad74171787540b3d259
&<公共请求参数>
返回示例
{
"requestId": "a8c41569-675e-42a5-ad3a-82b846309370",
"recordFileUrl": "http://clink-voice-test.oss-cn-beijing.aliyuncs.com/12072019/record/8000000/8000000-1790000000000-15200000000-15200000000--record-medias_0-1500000000.0.mp3?Expires=1563335356&OSSAccessKeyId=LtBixG7jRhBj6RKj&Signature=7vImjXOF3%2F35cDkCKbYPJTCPYuA%3D&response-content-disposition=attachment%3B%20filename%3D8000000-1790000000000-15200000000-15200000000--record-medias_0-1500000000.0.mp3"
}
16.2.4. 下载云手机通话录音文件
GET /cc/download_cloud_number_record_file
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
uniqueId |
String |
true |
话单Id |
ucp.1706615586.e93b27d00c30fad74171787540b3d259 |
示例
请求示例
https://api-bj.clink.cn/cc/download_cloud_number_record_file
?uniqueId=ucp.1706615586.e93b27d00c30fad74171787540b3d259
&<公共请求参数>
17. 网络热线
17.1. 获取网络热线号token
GET /cc/authenticate_rtc_by_manager
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
cno |
String |
true |
座席工号 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
appId |
String |
网络热线号小程序appId |
token |
String |
网络热线号token |
示例
请求示例
https://api-bj.clink.cn/cc/authenticate_rtc_by_manager
&<公共请求参数>
RequestBody请求参数
{
"cno": "0312"
}
返回示例
{
"appId": "87e2b54b-084e-482e-89f8-04c60e76cd65",
"token": "b0e7aae35bcb44c8bcd5cbbe8c3959c7"
}
18. 企业级WebSocket订阅
18.1. 使用说明
1. 获取SessionKey
GET /cc/enterpriseSessionKey
请求参数
无
返回参数
名称 | 类型 | 描述 |
---|---|---|
sessionKey |
String |
建立WebSocket连接所需的sessionKey,30秒过期 |
wsUrl |
String |
建立WebSocket连接的地址 |
示例
请求示例
https://api-bj.clink.cn/cc/enterpriseSessionKey
&<公共请求参数>
返回示例
{
"requestId": "c2a84f76-8bac-4ee4-8aa3-8e756cd939c8",
"sessionKey": "8000560-cedfe51a-fce1-46b4-81d4-a3a441ac771e",
"wsUrl": "clink2-ws-dev.clink.cn"
}
2. 建立WebSocket连接
WebSocket客户端
示例中采用Java-WebSocket作为WebSocket客户端,详见3示例。您可以使用任意其他WebSocket客户端。
权限验证通过后
使用获取SessionKey接口返回的WebSocket服务器域名和sessionKey来建立连接。
连接数限制
每个企业最多同时建立10个WebSocket连接,超出连接数限制将提示连接超限。
事件订阅
WebSocket连接建立时,需要订阅自己关注的座席事件。默认接收所有座席的事件。也可以在连接时传递座席列表参数,实现只接收指定座席的事件。详见3示例。
Ping
WebSocket连接建立成功后,需要发送ping消息来保活TCP连接。ping操作的时间间隔在30秒~120秒之间。 ping消息具体内容如下:
{
"type": "request",
"reqType": "ping"
}
3. 示例
依赖Jar包
<dependency>
<groupId>org.java-websocket</groupId>
<artifactId>Java-WebSocket</artifactId>
<version>1.5.4</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.83</version>
</dependency>
示例代码
package com.tinet.clink.websockettest;
import com.alibaba.fastjson.JSON;
import org.java_websocket.handshake.ServerHandshake;
import java.net.URI;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Timer;
import java.util.TimerTask;
import java.util.concurrent.TimeUnit;
public class WebSocketTest {
public static void main(String[] args) throws Exception {
//1. 权限验证,获取到sessionKey以及wsUrl
String sessionKey = "";
String wsUrl = "";
if (sessionKey == null || sessionKey.isEmpty() || wsUrl == null || wsUrl.isEmpty()) {
System.out.println("获取SessionKey、wsUrl失败");
return;
}
//2. 权限验证成功, 建立连接
//设置需要接收哪些座席的事件, 不设置则接收所有座席的事件
List<String> agentList = new ArrayList<>();
//agentList.add("000001");
String url = "wss://" + wsUrl + "/enterprise/websocket"
+ "?" + "sessionKey=" + URLEncoder.encode(sessionKey)
+ "&" + "agentList=" + URLEncoder.encode(JSON.toJSONString(agentList));
WebSocketClient webSocketClient = new WebSocketClient(new URI(url), sessionKey);
webSocketClient.setConnectionLostTimeout(0);
webSocketClient.connectBlocking(3, TimeUnit.SECONDS);
//每60秒进行一次ping操作
final Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
if (webSocketClient.isOpen()) {
Map<String, String> params = new HashMap<>();
params.put("type", "request");
params.put("reqType", "ping");
webSocketClient.send(JSON.toJSONString(params));
} else {
webSocketClient.reconnect();
}
}
}, 0, 60000);
}
}
class WebSocketClient extends org.java_websocket.client.WebSocketClient {
private final String sessionKey;
public WebSocketClient(URI serverUri, String sessionKey) {
super(serverUri);
this.sessionKey = sessionKey;
System.out.println("init url:" + serverUri.toString() + ", sessionKey:" + sessionKey);
}
@Override
public void onOpen(ServerHandshake serverHandshake) {
System.out.println("connected sessionKey: " + this.sessionKey);
}
@Override
public void onMessage(String s) {
System.out.println("onMessage sessionKey: " + this.sessionKey + ",message:" + s);
}
@Override
public void onClose(int code, String reason, boolean remote) {
System.out.println("close sessionKey: " + this.sessionKey + ",code:" + code + ",reason:" + reason);
}
@Override
public void onError(Exception e) {
System.out.println("onError sessionKey: " + this.sessionKey + ",error:" + e);
}
@Override
public void send(String text) {
//send之前
System.out.println("send text sessionKey: " + this.sessionKey + ",state:" + this.getReadyState() + ", text" + text);
super.send(text);
}
@Override
public void reconnect() {
System.out.println("reconnect sessionKey: " + this.sessionKey + ",state:" + this.getReadyState());
super.reconnect();
}
}
19. 回电计划
19.1. 查询列表
GET /cc/list_agenda
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
startTime |
Long |
false |
回电时间,时间戳格式精确到秒。默认查询全部 |
1708398399 |
endTime |
Long |
false |
回电时间查询截止,时间戳格式精确到秒。默认查询全部 |
1708398399 |
customerId |
Integer |
false |
客户ID |
1 |
customerTel |
String |
false |
客户电话 |
138xxxx8888 |
customerName |
String |
false |
客户名称 |
张三 |
callbackCno |
String |
false |
回电员工座席号 |
0001 |
name |
String |
false |
计划名称 |
回电计划名称 |
remark |
String |
false |
备注 |
备注信息 |
assignStatus |
Integer |
false |
分配状态。取值范围如下: 0: 未分配 1: 已分配 默认全部 |
1 |
status |
Integer |
false |
回电状态。取值范围如下: 0: 未回电 1: 已超时 2: 已回电 3: 已取消 默认全部 |
0 |
hiddenType |
Integer |
false |
是否隐藏号码。 0: 不隐藏,1: 中间四位,2: 最后八位,3: 全部号码,4: 最后四位。默认值为 0 |
0 |
offset |
Integer |
false |
偏移量,范围 0-99990。默认值为 0。注:limit + offset 不允许超过100000 |
0 |
limit |
Integer |
false |
查询条数,范围 10-100。默认值为 10。注:limit + offset 不允许超过100000 |
10 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
result |
Object[] |
|
pageNumber |
Integer |
当前页码 |
pageSize |
Integer |
一页展示条数 |
totalCount |
Integer |
总条数 |
回电计划记录列表
名称 | 类型 | 描述 |
---|---|---|
id |
String |
回电计划ID |
customerId |
Integer |
客户ID |
customerName |
String |
客户名称 |
customerTel |
String[] |
客户号码 |
customerTelEncrypt |
String[] |
客户号码加密串 |
name |
String |
计划名称 |
creatorId |
String |
创建员工ID |
creator |
String |
创建员工 |
callbackCno |
String |
回电员工座席号 |
callbackClient |
String |
回电员工 |
callbackTime |
Long |
回电时间,毫秒级时间戳 |
callbackTel |
String |
回电号码,已回电时才存在回电号码 |
status |
Integer |
回电状态。取值范围如下: 0: 未回电 1: 已超时 2: 已回电 3: 已取消 |
remark |
String |
备注 |
cancelReason |
String |
取消回电原因 |
createTime |
Long |
创建时间,毫秒级时间戳 |
updateTime |
Long |
更新时间,毫秒级时间戳 |
assignStatus |
Integer |
分配状态。取值范围如下: 0: 未分配 1: 已分配 |
示例
请求示例
https://api-bj.clink.cn/cc/list_agenda
?offset=0
&limit=10
&startTime=1536201058
&endTime=1536201058
&<公共请求参数>
返回示例
{
"requestId": "ac108b17-xxxx-xxxx-xxxx-4007e3b3cb81",
"pageNumber": 1,
"pageSize": 10,
"totalCount": 100,
"result": [
{
"id": "2ff98f0a-xxxx-xxxx-xxxx-4667585936ee",
"customerId": 1,
"customerName": "客户名称",
"customerTel": [
"182****8888"
],
"customerTelEncrypt": [
"TMTIxYTZjODgzXXXXXXXXXzQ0MDRjNDI0ZTQ4Yzk="
],
"name": "回电计划名称",
"creatorId": "创建员工ID",
"creator": "kiki(0001)",
"callbackCno": "回电员工座席号",
"callbackTel": "回电号码",
"callbackClient": "kiki(0001)",
"callbackTime": 1730018365000,
"status": 3,
"remark": "备注信息",
"cancelReason": "取消回电原因",
"createTime": 1729672771829,
"updateTime": 1729672771829,
"assignStatus": 1
}
]
}
19.2. 查询详情
GET /cc/detail_agenda
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
id |
String |
true |
回电计划ID |
2ff98f0a-xxxx-xxxx-xxxx-4667585936ee |
hiddenType |
Integer |
false |
是否隐藏号码。 0: 不隐藏,1: 中间四位,2: 最后八位,3: 全部号码,4: 最后四位。默认值为 0 |
0 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
result |
Object |
回电计划详情
名称 | 类型 | 描述 |
---|---|---|
id |
String |
回电计划ID |
customerId |
Integer |
客户ID |
customerName |
String |
客户名称 |
customerTel |
String[] |
客户号码 |
customerTelEncrypt |
String[] |
客户号码加密串 |
name |
String |
计划名称 |
creatorId |
String |
创建员工ID |
creator |
String |
创建员工 |
callbackCno |
String |
回电员工座席号 |
callbackClient |
String |
回电员工 |
callbackTime |
Long |
回电时间,毫秒级时间戳 |
callbackTel |
String |
回电号码,已回电时才存在回电号码 |
status |
Integer |
回电状态。取值范围如下: 0: 未回电 1: 已超时 2: 已回电 3: 已取消 |
remark |
String |
备注 |
cancelReason |
String |
取消回电原因 |
createTime |
Long |
创建时间,毫秒级时间戳 |
updateTime |
Long |
更新时间,毫秒级时间戳 |
示例
请求示例
https://api-bj.clink.cn/cc/detail_agenda
?id=2ff98f0a-xxxx-xxxx-xxxx-4667585936ee
&<公共请求参数>
返回示例
{
"requestId": "ac108b17-ac8c-41f0-b2b1-4007e3b3cb81",
"result": [
{
"id": "2ff98f0a-xxxx-xxxx-xxxx-4667585936ee",
"customerId": 1,
"customerName": "客户名称",
"customerTel": [
"182****8888"
],
"customerTelEncrypt": [
"TMTIxYTZjODgzXXXXXXXXXzQ0MDRjNDI0ZTQ4Yzk="
],
"name": "回电计划名称",
"creatorId": "创建员工ID",
"creator": "kiki(0001)",
"callbackCno": "回电员工座席号",
"callbackTel": "回电号码",
"callbackClient": "kiki(0001)",
"callbackTime": 1730018365000,
"status": 3,
"remark": "备注信息",
"cancelReason": "取消回电原因",
"createTime": 1729672771829,
"updateTime": 1729672771829
}
]
}
19.3. 新建
POST /cc/create_agenda
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
customerId |
Integer |
false |
客户ID,可以通过customerId或customerTel的方式创建,两者至少传一个,两者都传会优先通过customerId创建 |
1 |
customerTel |
String |
false |
客户电话,可以通过customerId或customerTel的方式创建,两者至少传一个,两者都传会优先通过customerId创建 |
138xxxx8888 |
name |
String |
true |
回电计划名称,最长255个字符 |
回电计划名称 |
callbackCno |
String |
true |
回电员工座席号 |
0001 |
callbackRemindTime |
Integer |
false |
提前提醒时间,单位为分钟 |
5 |
callbackTime |
Long |
true |
回电时间,秒级时间戳 |
1729688697 |
remark |
String |
false |
备注,最长255个字符 |
回电计划名称 |
creatorId |
Integer |
false |
创建员工ID,默认为-1,代表admin,同时也支持创建员工传座席号,见creatorCno |
-1 |
creatorCno |
String |
false |
创建员工座席号,创建员工ID与创建员工座席号都传时,优先使用创建员工座席号 |
0001 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
result |
Object |
回电计划新建
名称 | 类型 | 描述 |
---|---|---|
id |
String |
回电计划ID |
customerId |
Integer |
客户ID |
name |
String |
计划名称 |
clientId |
String |
回电员工ID |
callbackRemindTime |
Integer |
提前提醒时间 |
callbackTime |
Long |
回电时间 |
remark |
String |
备注 |
示例
请求示例
https://api-bj.clink.cn/cc/create_agenda
&<公共请求参数>
POST 请求体
{
"customerTel": "138xxxx8888",
"name": "test",
"callbackCno": "0001",
"callbackRemindTime": 10,
"callbackTime": "1729846539",
"remark": "test",
"creatorCno":"0001"
}
返回示例
{
"requestId": "ac108b17-xxxx-xxxx-xxxx-4007e3b3cb81",
"result": {
"id": "2ff98f0a-xxxx-xxxx-xxxx-4667585936ee",
"customerId": 1,
"name": "test",
"clientId": 1,
"callbackRemindTime": 10,
"callbackTime": 1729846539,
"remark": "test"
}
}
19.4. 备注
POST /cc/remark_agenda
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
id |
String |
true |
回电计划ID |
2ff98f0a-xxxx-xxxx-xxxx-4667585936ee |
remark |
String |
false |
备注信息 |
备注内容 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
result |
Integer |
成功则返回1 |
示例
请求示例
https://api-bj.clink.cn/cc/remark_agenda
&<公共请求参数>
POST 请求体
{
"id": "2ff98f0a-xxxx-xxxx-xxxx-4667585936ee",
"remark": "备注内容"
}
返回示例
{
"result": 1,
"requestId": "3b9a87cc-xxxx-xxxx-xxxx-d26b707f8b38"
}
19.5. 延时
POST /cc/delay_agenda
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
id |
String |
true |
回电计划ID |
2ff98f0a-xxxx-xxxx-xxxx-4667585936ee |
callbackTime |
Long |
true |
延时到的回电时间,秒级时间戳 |
1729846539 |
callbackRemindTime |
Integer |
false |
提前提醒时间,单位为分钟 |
5 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
result |
Integer |
成功则返回1 |
示例
请求示例
https://api-bj.clink.cn/cc/delay_agenda
&<公共请求参数>
POST 请求体
{
"id": "2ff98f0a-xxxx-xxxx-xxxx-4667585936ee",
"callbackTime": 1730254086,
"callbackRemindTime": 5
}
返回示例
{
"result": 1,
"requestId": "3b9a87cc-xxxx-xxxx-xxxx-d26b707f8b38"
}
19.6. 取消回电
POST /cc/cancel_agenda
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
id |
String |
true |
回电计划ID |
2ff98f0a-xxxx-xxxx-xxxx-4667585936ee |
cancelReason |
String |
true |
取消回电原因 |
原因内容 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
result |
Integer |
成功则返回1 |
示例
请求示例
https://api-bj.clink.cn/cc/cancel_agenda
&<公共请求参数>
POST 请求体
{
"id": "2ff98f0a-xxxx-xxxx-xxxx-4667585936ee",
"cancelReason": "取消回电原因"
}
返回示例
{
"result": 1,
"requestId": "3b9a87cc-xxxx-xxxx-xxxx-d26b707f8b38"
}
19.7. 回电
POST /cc/callback_agenda
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
id |
String |
true |
回电计划ID |
2ff98f0a-xxxx-xxxx-xxxx-4667585936ee |
callbackTel |
String |
true |
回电号码 |
138xxxx8888 |
callbackCno |
String |
true |
回电员工座席号 |
0001 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
result |
Integer |
成功则返回1 |
示例
请求示例
https://api-bj.clink.cn/cc/callback_agenda
&<公共请求参数>
POST 请求体
{
"id": "2ff98f0a-xxxx-xxxx-xxxx-4667585936ee",
"callbackTel": "138xxxx8888",
"callbackCno":"0001"
}
返回示例
{
"result": 1,
"requestId": "3b9a87cc-xxxx-xxxx-xxxx-d26b707f8b38"
}
19.8. 分配员工
POST /cc/assignation_agenda
请求参数
名称 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
ids |
String[] |
false |
回电计划ID,全选时可不传,非全选时必填 |
["2ff98f0a-xxxx-xxxx-xxxx-4667585936ee"] |
all |
Integer |
false |
是否全选,默认为0,1为全选,0为非全选 |
0 |
excludeIds |
String[] |
false |
排除的回电计划ID,配合全选时使用,可在全选时排除不需要分配的回电计划 |
["2ff98f0a-xxxx-xxxx-xxxx-4667585936ee"] |
assignCnos |
String[] |
true |
分配的员工座席号 |
["0001","0002"] |
assignationType |
Integer |
true |
分配规则,0:顺序分配、1:随机分配 |
0 |
返回参数
无
示例
请求示例
https://api-bj.clink.cn/cc/assignation_agenda
&<公共请求参数>
POST 请求体
{
"ids": [
"2ff98f0a-xxxx-xxxx-xxxx-4667585936ee"
],
"assignationType": 0,
"assignCnos": [
"0001"
]
}
筛选后全选的请求体
{
"all": 1,
"status": 1,
"startTime": 1708398399,
"endTime": 1708398399,
"assignationType": 0,
"assignCnos": [
"0001"
]
}
返回示例
{
"requestId": "3b9a87cc-xxxx-xxxx-xxxx-d26b707f8b38"
}
20. 历史版本接口归档
20.1. 通话记录
20.1.1. 查询呼入通话记录列表
GET /cc/list_cdr_ibs
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
hiddenType |
Integer |
false |
是否隐藏号码。 0: 不隐藏,1: 中间四位,2: 最后八位,3: 全部号码,4: 最后四位。默认值为 0 |
qno |
String |
false |
队列号,要求只能是 4-6 位数字 |
customerNumber |
String |
false |
客户号码 |
cno |
String |
false |
座席号,要求只能是 4-11 位数字 |
hotline |
String |
false |
热线号码 |
status |
Integer |
false |
接听状态。取值范围如下: 0: 全部 1: 座席接听 2: 已呼叫座席,座席未接听 3: 系统接听 4: 系统未接听-IVR配置错误 5: 系统未接听-停机 6: 系统未接听-欠费 7: 系统未接听-黑名单 8: 系统未接听-未注册 9: 系统未接听-彩铃 10: 系统未接听-网上400 11: 系统未接听-呼叫超出营帐中设置的最大限制 12: 系统未接听-客户呼入系统后在系统未应答前挂机 13: 其他错误 默认值为0 |
userField |
String |
false |
自定义字段 |
mark |
Integer |
false |
标记。取值范围如下: 为空表示全部, 1:留言 2:转移 3:咨询 4:三方 5:传真接收 6:会议 7:交互 8:IVR中放弃 9:已进入IVR 10:未进入IVR 11:队列中放弃 12:队列中溢出 注: 其中mark值2,3,4,7仅在status=1(座席接听)时有效, mark值1,5,6,8,9,10,11,12在status=3(系统接听)时有效 |
province |
String |
false |
客户省份 |
city |
String |
false |
客户城市 |
mainUniqueId |
String |
false |
通话记录唯一标识 |
requestUniqueId |
String |
false |
请求唯一标识 |
clientNumber |
String |
false |
座席电话 |
queueAnswerInTime |
Integer |
false |
队列及时应答: 0: 否 1: 是 2: - |
evaluation |
Integer |
false |
是否邀评: 0: 否 1: 是 2: - |
hotlineName |
String |
false |
热线别名 |
fields |
String[] |
false |
自定义返回的字段,不传返回默认展示字段 tagNames: 展示通话标签详情 |
startTime |
Long |
false |
开始时间,时间戳格式精确到秒。默认值取当前月份第一天 |
endTime |
Long |
false |
结束时间,时间戳格式精确到秒,开始时间和结束时间跨度不能超过一个月。默认值取当前时间 |
offset |
Integer |
false |
偏移量,范围 0-99990。默认值为 0。注:limit + offset 不允许超过100000 |
limit |
Integer |
false |
查询条数,范围 10-100。默认值为 10。注:limit + offset 不允许超过100000 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
cdrIbs |
Object[] |
|
pageNumber |
Integer |
当前页码 |
pageSize |
Integer |
一页展示条数 |
totalCount |
Integer |
总条数 |
呼入通话记录列表
名称 | 类型 | 描述 |
---|---|---|
uniqueId |
String |
通话记录唯一标识 |
hotline |
String |
来电热线号码 |
customerNumber |
String |
客户来电号码,带区号 |
customerNumberEncrypt |
String |
客户来电号码加密串 |
customerProvince |
String |
客户来电省份 |
customerCity |
String |
客户来电城市 |
qno |
String |
来电队列号 |
qname |
String |
来电队列名称 |
cno |
String |
座席号 |
clientName |
String |
座席名称 |
clientNumber |
String |
座席电话 |
clientRingingTime |
Long |
座席响铃时间 |
callType |
String |
呼入类型 |
startTime |
Long |
开始时间 |
endTime |
Long |
结束时间 |
bridgeTime |
long |
接通时间 |
bridgeDuration |
Integer |
接通时长 |
totalDuration |
Integer |
总时长 |
ivrName |
String |
IVR名称 |
status |
String |
接听状态 |
statusCode |
String |
接听状态映射 |
endReason |
String |
挂机方 |
sipCause |
String |
呼叫结果 |
recordFile |
String |
录音文件名 |
userField |
String |
自定义字段 |
mark |
Integer |
标记 |
tags |
String[] |
标签 |
markData |
String |
备注 |
joinQueueTime |
Long |
加入队列时间 |
leaveQueueTime |
Long |
离开队列时间 |
ibWaitDuration |
Long |
排队时长 |
sayVoiceDuration |
Integer |
语音播报时长 |
clientOffhookTime |
Long |
座席接起时间 |
ibRingingDuration |
Integer |
座席振铃时长 |
queueAnswerInTime |
Integer |
队列及时应答 |
evaluation |
Integer |
是否邀评 |
hotlineName |
String |
热线别名 |
firstJoinQueueTime |
Long |
首次进入队列时间 |
callId |
String |
通话记录 Id |
tagNames |
String[] |
展示通话标签详情,当请求参数fields中包含tagNames时返回 |
示例
请求示例
https://api-bj.clink.cn/cc/list_cdr_ibs?
offset=0
&limit=10
&qno=2400
&customerNumber=152xxxx8888
&cno=1001
&hotline=027xxxx8888
&status=1
&mainUniqueId=medias_1-1620468456.12
&requestUniqueId=77db0a628291b531b17e58389237a3ff
&clientNumber=15688888888
&queueAnswerInTime=0
&startTime=1536201058
&endTime=1536201058
&<公共请求参数>
返回示例
{
"requestId": "ba078ace-717c-4dea-af41-d4dd5035edd6",
"pageNumber": 1,
"pageSize": 10,
"totalCount": 1,
"cdrIbs": [
{
"uniqueId": "AWS_DEV_MEDIA_SERVER_8-1537329247.6",
"callId": "b1651313-0e70-487c-99fd-3ea342b35b00",
"hotline": "02788xxx888",
"customerNumber": "152xxxx8888",
"customerNumberEncrypt":"TNjljZjZlNjgxYmIwNjMxGEwMzA3MmQ0MDQzYWEyMjY",
"customerProvince": "北京",
"customerCity": "北京",
"qno": "0000",
"qname": "测试队列",
"cno": "0010",
"clientName": "zhangsan",
"clientNumber": "152xxxx8888",
"clientRingingTime": 1537329247,
"callType": "呼入",
"startTime": 1537329247,
"endTime": 1537329274,
"bridgeTime": 1537329258,
"bridgeDuration": 9,
"totalDuration": 27,
"ivrName": "直呼队列",
"status": "座席接听",
"statusCode": "座席接听-1",
"endReason": "非主通道挂机",
"sipCause": "",
"recordFile": null,
"userField":{
"c_cno":"2000",
"c_name":"2000test",
"c_exten":""
},
"mark":null,
"tags":["标签1","标签2"],
"markData": "备注",
"joinQueueTime": 1647255885,
"leaveQueueTime": 1647255905,
"ibWaitDuration": 20,
"queueAnswerInTime": 0,
"evaluation": 0,
"hotlineName": "测试热线号码别名",
"tagNames": [
"一级标签/二级标签/三级标签1",
"一级标签/二级标签/三级标签2"
]
}
]
}
20.1.2. 查看呼入通话记录
GET /cc/describe_cdr_ib
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
mainUniqueId |
String |
true |
通话记录唯一标识 |
hiddenType |
Integer |
false |
是否隐藏号码。 0: 不隐藏,1: 中间四位,2: 最后八位,3: 全部号码,4: 最后四位。默认值为 0 |
fields |
String[] |
false |
自定义返回的字段,不传返回默认展示字段 tagNames: 展示通话标签详情 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
cdrIb |
Object |
呼入通话记录
名称 | 类型 | 描述 |
---|---|---|
uniqueId |
String |
通话记录唯一标识 |
hotline |
String |
来电热线号码 |
customerNumber |
String |
客户来电号码,带区号 |
customerNumberEncrypt |
String |
客户来电号码加密串 |
customerProvince |
String |
客户来电省份 |
customerCity |
String |
客户来电城市 |
qno |
String |
来电队列号 |
cno |
String |
座席号 |
clientName |
String |
座席名称 |
clientNumber |
String |
座席电话 |
clientRingingTime |
Long |
座席响铃时间 |
callType |
String |
呼入类型 |
joinQueueTime |
Long |
进入队列时间 |
leaveQueueTime |
Long |
离开队列时间 |
ibWaitDuration |
Long |
排队时长 |
callId |
String |
通话记录ID |
startTime |
Long |
开始时间 |
endTime |
Long |
结束时间 |
bridgeTime |
long |
接通时间 |
bridgeDuration |
Integer |
接通时长 |
totalDuration |
Integer |
总时长 |
ivrName |
String |
IVR名称 |
status |
String |
接听状态 |
statusCode |
String |
接听状态映射 |
endReason |
String |
挂机方 |
sipCause |
String |
呼叫结果 |
recordFile |
String |
录音文件名 |
userField |
String |
自定义字段 |
ivrFlows |
Object[] |
|
investigation |
Object |
|
tags |
String[] |
标签 |
mark |
Integer |
标记 |
fastHangUp |
Boolean |
客户速挂,true:是;false:否 |
sayVoiceDuration |
Integer |
语音播报时长 |
clientOffhookTime |
Long |
座席接起时间 |
ibRingingDuration |
Integer |
座席振铃时长 |
queueAnswerInTime |
Integer |
队列及时应答 |
evaluation |
Integer |
是否邀评 0: 否 1: 是 |
hotlineName |
String |
热线别名 |
firstJoinQueueTime |
Long |
首次进入队列时间 |
markData |
String |
备注 |
tagNames |
String[] |
展示通话标签详情,当请求参数fields中包含tagNames时返回 |
路由和IVR
名称 | 类型 | 描述 |
---|---|---|
pathName |
String |
节点名称 |
path |
String |
节点 id |
routerStartTime |
Long |
路由开始时间 |
routerEndTime |
Long |
路由结束时间 |
routerName |
Long |
路由名称 |
ivrName |
Long |
ivr 名称 |
action |
Long |
执行动作 |
pressKey |
String |
按键值 |
pressTime |
Long |
按键时间 |
startTime |
Long |
开始时间 |
endTime |
Long |
结束时间 |
满意度记录
名称 | 类型 | 描述 |
---|---|---|
cno |
String |
座席号 |
clientName |
String |
座席名称 |
keys |
Integer |
按键值 |
multiKeys |
String |
多按键值 |
startTime |
Long |
开始时间 |
endTime |
Long |
结束时间 |
示例
请求示例
https://api-bj.clink.cn/cc/describe_cdr_ib
&mainUniqueId=AWS_DEV_MEDIA_SERVER_8-1536892698.2
&<公共请求参数>
返回示例
{
"requestId":"ba078ace-717c-4dea-af41-d4dd5035edd6",
"cdrIb":{
"uniqueId":"AWS_DEV_MEDIA_SERVER_8-1536892698.2",
"callId": "b1651313-0e70-487c-99fd-3ea342b35b00",
"hotline":"02788xxx888",
"customerNumber":"153xxxx8888",
"customerNumberEncrypt":"TNjljZjZlNjgxYmIwNjMxZGEwMzA3MmQ0MDQzYWEyMjY",
"customerProvince":"黑龙江",
"customerCity":"哈尔滨",
"qno":"0000",
"cno":"2555",
"clientName":"zhangsan",
"clientNumber":"8003",
"clientRingingTime":1536892698,
"callType":"呼入",
"startTime":1536892698,
"endTime":1536892706,
"bridgeTime":null,
"bridgeDuration":3,
"totalDuration":8,
"ivrName":"直呼队列",
"status":"座席未接听",
"statusCode":"座席未接听-2",
"endReason":"主通道挂机",
"sipCause":"",
"recordFile":null,
"userField":{
"c_cno":"2000",
"c_name":"2000test",
"c_exten":""
},
"ivrFlows":[
{
"pathName":"-",
"path":"1",
"routerStartTime":1536892698,
"routerEndTime":1536892699,
"routerName":"非工作日路由",
"ivrName":"-",
"action":"播放",
"startTime":1536892699,
"endTime":1536892699,
"pressKey": null,
"pressTime": null
}
],
"investigation":{
"startTime":1536115324,
"endTime":1536115324,
"cno":"2005",
"clientName":"客户端",
"keys":10,
"multiKeys":"01"
},
"tags":["标签1","标签2"],
"mark":1,
"fastHangUp": true,
"tagNames": [
"一级标签/二级标签/三级标签1",
"一级标签/二级标签/三级标签2"
]
}
}
20.1.3. 查看呼入通话记录明细
GET /cc/describe_cdr_ib_details
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
mainUniqueId |
String |
true |
通话记录唯一标识 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
cdrIbDetails |
Object[] |
呼入通话记录明细
名称 | 类型 | 描述 |
---|---|---|
uniqueId |
String |
通话记录详情唯一标识 |
mainUniqueId |
String |
通话记录主通道唯一标识 |
cno |
String |
座席号 |
clientName |
String |
座席名称 |
clientNumber |
String |
座席电话 |
clientRingingTime |
Long |
座席响铃时间 |
startTime |
long |
接起时间 |
endTime |
long |
结束时间 |
answerTime |
long |
接听时间 |
totalDuration |
Integer |
通话时长 |
callType |
String |
呼叫类型 |
status |
String |
呼叫结果 |
sipCause |
String |
呼叫情况 |
remember |
String |
是否开启主叫记忆 |
qno |
String |
队列号 |
recordFile |
String |
录音文件 |
示例
请求示例
https://api-bj.clink.cn/cc/describe_cdr_ib_details
&mainUniqueId=AWS_DEV_MEDIA_SERVER_8-1536201058.19
&<公共请求参数>
返回示例
{
"requestId": "ba078ace-717c-4dea-af41-d4dd5035edd6",
"cdrIbDetails": [
{
"mainUniqueId": "AWS_DEV_MEDIA_SERVER_8-1536115322.0",
"uniqueId": "AWS_DEV_MEDIA_SERVER_8-1536115379.4",
"cno": "2005",
"clientName": "zhangsan",
"clientNumber": "8001",
"clientRingingTime": 1536115379,
"startTime": 1536115379,
"answerTime": 1536115382,
"endTime": 1536115391,
"totalDuration": 12,
"callType": "呼转座席",
"status": "呼叫成功",
"sipCause": "处理成功",
"remember": "未开启",
"qno": "6666",
"recordFile": "8888888-20220406155839-15108207489-6666--record-medias_6-777788888.666"
}
]
}
20.1.4. 同步呼入通话记录
GET /cc/copy_cdr_ibs
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
hiddenType |
Integer |
false |
是否隐藏号码。 0: 不隐藏,1: 中间四位,2: 最后八位,3: 全部号码,4: 最后四位。默认值为 0 |
scrollId |
String |
true |
每次请求返回的参数,作为下次请求的必须参数。 for 循环第一次请求不需要传递此参数。 游标的存活时间为5分钟,当返回为noScrollId时您不应该再次使用此游标请求,因为它表示当前同步已结束。 |
date |
String |
true |
指定同步某一天的通话记录。格式:yyyyMMdd, 例如:20180816 |
limit |
Integer |
false |
查询条数,范围 10-100。默认值为 10 |
fields |
String[] |
false |
自定义返回的字段,不传返回默认展示字段 tagNames: 展示通话标签详情 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
scrollId |
String |
游标 id |
cdrIbs |
Object[] |
|
pageNumber |
Integer |
当前页码 |
pageSize |
Integer |
一页展示条数 |
totalCount |
Integer |
总条数 |
示例
请求示例
https://api-bj.clink.cn/cc/copy_cdr_ibs
&limit=10
&date=20180918
&scrollId=DnF1ZXJ5VAWjB3AAAAAAAFl-8WSHUW0zV3GbG4wdw==
&hiddenType=0
&<公共请求参数>
返回示例
{
"requestId":"ba078ace-717c-4dea-af41-d4dd5035edd6",
"scrollId":"DnF1ZXJ5VAWjB3AAAAAAAFl-8WSHUW0zV3GbG4wdw==",
"pageNumber":1,
"pageSize":10,
"totalCount":1,
"cdrIbs":[
{
"uniqueId":"AWS_DEV_MEDIA_SERVER_8-1537176819.4",
"hotline":"02788xxx888",
"customerNumber":"153xxxx8888",
"customerNumberEncrypt":"TNjljZjZlNjgxYmIwNjMxGEwMzA3MmQ0MDQzYWEyMjY",
"customerProvince":"北京",
"customerCity":"北京",
"qno":"0000",
"cno":"0010",
"clientName":"张三",
"clientNumber":"153xxxx8888",
"callType":"呼入",
"startTime":15388888888,
"endTime":15388888888,
"bridgeTime":15388888888,
"bridgeDuration":3,
"totalDuration":33,
"ivrName":"mucw直呼队列",
"status":"座席接听",
"statusCode":"座席接听-1",
"endReason":"主通道挂机",
"sipCause":"",
"recordFile":null,
"userField":null,
"ivrFlows":[
{
"pathName":"-",
"path":"1",
"routerStartTime":15388888888,
"routerEndTime":15388888888,
"routerName":"非工作日路由",
"ivrName":"-",
"action":"播放",
"startTime":1537176821,
"endTime":1537176821
}
],
"investigation":{
"startTime":15388888888,
"endTime":15388888888,
"cno":"2005",
"clientName":"客户端",
"keys":10,
"multiKeys":"01"
},
"tags":["标签1","标签2"],
"mark":2,
"markData": "转移:节点",
"joinQueueTime": 15388888888,
"leaveQueueTime": 15388888888,
"ibWaitDuration": 666
}
]
}
20.1.5. 同步呼入通话记录明细
GET /cc/copy_cdr_ib_details
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
scrollId |
String |
true |
每次请求返回的参数,作为下次请求的必须参数。 for 循环第一次请求不需要传递此参数。 游标的存活时间为5分钟,当返回为noScrollId时您不应该再次使用此游标请求,因为它表示当前同步已结束。 |
date |
String |
true |
指定同步某一天的通话记录。格式:yyyyMMdd, 例如:20180816 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
scrollId |
String |
游标 id, 每次请求返回的参数,作为下次请求的必须参数。 for循环第一次请求不需要传递此参数。 游标的存活时间为5分钟,当返回为noScrollId时您不应该再次使用此游标请求,因为它表示当前同步已结束。 |
cdrIbDetails |
Object[] |
|
pageNumber |
Integer |
当前页码 |
pageSize |
Integer |
一页展示条数 |
totalCount |
Integer |
总条数 |
示例
请求示例
https://api-bj.clink.cn/cc/copy_cdr_ib_details
&date=20180918
&limit=10
&scrollId=DnF1QxVFFtJ1Y0ZsbAAFl-8WSHEtOGtW0zbG4wdw==
&<公共请求参数>
返回示例
{
"requestId": "ba078ace-717c-4dea-af41-d4dd5035edd6",
"scrollId": "DnF1QxVFFtJ1Y0ZsbAAFl-8WSHEtOGtW0zbG4wdw==",
"pageNumber": 1,
"pageSize": 10,
"totalCount": 1,
"cdrIbDetails": [
{
"mainUniqueId": "AWS_DEV_MEDIA_SERVER_8-1537272691.35",
"uniqueId": "AWS_DEV_MEDIA_SERVER_8-1537272697.36",
"cno": "0010",
"clientName": "zhangsan",
"clientNumber": "153xxxx8888",
"startTime": 1537272697,
"answerTime": 1537272705,
"endTime": 1537272716,
"totalDuration": 19,
"callType": "呼转座席",
"status": "呼叫成功",
"sipCause": "处理成功",
"remember": "未开启",
"qno": "6666",
"recordFile": "8888888-20220406155839-15108207489-6666--record-medias_6-777788888.666"
}
]
}
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
hiddenType |
Integer |
false |
是否隐藏号码。 0: 不隐藏,1: 中间四位,2: 最后八位 3: 全部号码,4: 最后四位。默认值为 0 |
customerNumber |
String |
false |
客户号码 |
cno |
String |
false |
座席号,要求只能是 4-11 位数字 |
hotline |
String |
false |
热线号码 |
status |
Integer |
false |
接听状态。取值范围如下: 0: 全部 1: 客户未接听 2: 座席未接听 3: 双方接听 默认值为0 |
userField |
String |
false |
自定义字段 |
mark |
Integer |
false |
标记。取值范围如下: 为空表示全部, 1:留言 2:转移 3:咨询 4:三方 5:传真接收 6:会议 7:交互 8:IVR中放弃 9:已进入IVR 10:未进入IVR 11:队列中放弃 12:队列中溢出 注: 其中mark值2,3,4,7仅在status=1(座席接听)时有效, mark值1,5,6,8,9,10,11,12在status=3(系统接听)时有效 |
province |
String |
false |
客户省份 |
city |
String |
false |
客户城市 |
mainUniqueId |
String |
false |
通话记录唯一标识 |
requestUniqueId |
String |
false |
请求唯一标识 |
clientNumber |
String |
false |
座席电话 |
queueAnswerInTime |
Integer |
false |
队列及时应答: 0: 否 1: 是 2: - |
evaluation |
Integer |
false |
是否邀评: 0: 否 1: 是 2: - |
idType |
Integer |
false |
业务ID类型,1:工单;2:业务记录 |
associatedId |
Integer |
false |
业务ID |
fields |
String[] |
false |
自定义返回的字段,不传返回默认展示字段 tagNames: 展示通话标签详情 |
startTime |
Long |
false |
开始时间,时间戳格式精确到秒。默认值取当前月份第一天 |
endTime |
Long |
false |
结束时间,时间戳格式精确到秒,开始时间和结束时间跨度不能超过一个月。默认值取当前时间 |
offset |
Integer |
false |
偏移量,范围 0-99990。默认值为 0。注:limit + offset 不允许超过100000 |
limit |
Integer |
false |
查询条数,范围 10-100。默认值为 10。注:limit + offset 不允许超过100000 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
cdrObs |
Object[] |
|
pageNumber |
Integer |
当前页码 |
pageSize |
Integer |
一页展示条数 |
totalCount |
Integer |
总条数 |
外呼通话记录列表
名称 | 类型 | 描述 |
---|---|---|
uniqueId |
String |
通话记录唯一标识 |
hotline |
String |
热线号码 |
customerNumber |
String |
客户号码,带区号 |
customerNumberEncrypt |
String |
客户号码加密串 |
customerProvince |
String |
客户省份 |
customerCity |
String |
客户城市 |
cno |
String |
座席号 |
clientName |
String |
座席名称 |
clientNumber |
String |
座席电话 |
callType |
String |
外呼类型,预览外呼、预测外呼、直接外呼 |
startTime |
Long |
开始时间 |
endTime |
Long |
结束时间 |
bridgeTime |
long |
接通时间 |
bridgeDuration |
Integer |
接通时长 |
totalDuration |
Integer |
总时长 |
status |
String |
接听状态 |
statusCode |
String |
接听状态映射 |
endReason |
String |
挂机方 |
sipCause |
String |
呼叫结果 |
recordFile |
String |
录音文件名 |
userField |
String |
自定义字段 |
mark |
Integer |
标记 |
tags |
String[] |
标签 |
qno |
String |
来电队列号 |
qname |
String |
来电队列名称 |
markData |
String |
备注 |
customerRingingTime |
Long |
客户响铃时间 |
queueAnswerInTime |
Integer |
队列及时应答 |
evaluation |
Integer |
是否邀评 |
callId |
String |
通话记录ID |
ivrName |
String |
IVR名称 |
clientRingingTime |
Long |
座席响铃时间 |
markData |
String |
备注 |
qname |
String |
队列名称 |
qno |
String |
队列号 |
xnumber |
String |
虚拟号码 |
tagNames |
String[] |
展示通话标签详情,当请求参数fields中包含tagNames时返回 |
示例
请求示例
https://api-bj.clink.cn/cc/list_cdr_obs?
offset=0
&limit=10
&customerNumber=153xxxx8888
&cno=1001
&hotline=02788xxx888
&status=1
&mainUniqueId=medias_1-1620645355.85
&requestUniqueId=00c44df98f25122e016767ec0b9defdf
&clientNumber=15688888888
&queueAnswerInTime=0
&startTime=1536201058
&endTime=1536201058
&<公共请求参数>
返回示例
{
"requestId":"ba078ace-717c-4dea-af41-d4dd5035edd6",
"pageNumber":1,
"pageSize":10,
"totalCount":1,
"cdrObs":[
{
"mainUniqueId":"AWS_DEV_MEDIA_SERVER_8-1536201058.19",
"uniqueId":"AWS_DEV_MEDIA_SERVER_8-6666677777.19",
"hotline":"02788xxx888",
"customerNumber":"153xxxx8888",
"customerNumberEncrypt":"TNjljZjZlNjgxYmIwNjMxZGEwMzA3MmQ0MDQzYWEyMjY",
"customerProvince":"北京",
"customerCity":"北京",
"cno":"",
"clientName":null,
"clientNumber":null,
"callType":"预览外呼",
"startTime":1536201058,
"endTime":1536201060,
"bridgeTime":null,
"bridgeDuration":null,
"totalDuration":2,
"status":"系统接听",
"statusCode":"系统接听-3",
"endReason":"非主通道挂机",
"sipCause":"",
"recordFile":"",
"userField":{
"c_cno":"2000",
"c_name":"2000test",
"c_exten":""
},
"mark":null,
"tags":["标签1","标签2"],
"queueAnswerInTime": 0,
"evaluation": 0,
"callId": "ba078ace-717c-6666-af41-d4dd5035edd6",
"ivrName": "呼叫导航",
"customerRingingTime": 66,
"markData": "转移",
"qname": "销售队列",
"qno": "6666",
"xnumber": "13688888888",
"tagNames": [
"一级标签/二级标签/三级标签1",
"一级标签/二级标签/三级标签2"
]
}
]
}
20.1.6. 查看外呼通话记录
GET /cc/describe_cdr_ob
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
mainUniqueId |
String |
true |
通话记录唯一标识 |
hiddenType |
Integer |
false |
是否隐藏号码。 0: 不隐藏,1: 中间四位,2: 最后八位,3: 全部号码,4: 最后四位。默认值为 0 |
fields |
String[] |
false |
自定义返回的字段,不传返回默认展示字段 tagNames: 展示通话标签详情 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
cdrOb |
Object |
外呼通话记录
名称 | 类型 | 描述 |
---|---|---|
callId |
String |
通话记录id |
uniqueId |
String |
通话记录唯一标识 |
hotline |
String |
热线号码 |
customerNumber |
String |
客户号码,带区号 |
customerNumberEncrypt |
String |
客户号码加密串 |
customerProvince |
String |
客户省份 |
customerCity |
String |
客户城市 |
cno |
String |
座席号 |
clientName |
String |
座席名称 |
clientNumber |
String |
座席电话 |
callType |
String |
呼叫类型 |
startTime |
Long |
开始时间 |
endTime |
Long |
结束时间 |
bridgeTime |
long |
接通时间 |
bridgeDuration |
Integer |
接通时长 |
totalDuration |
Integer |
总时长 |
status |
String |
接听状态 |
statusCode |
String |
接听状态映射 |
endReason |
String |
挂机方 |
sipCause |
String |
呼叫结果 |
recordFile |
String |
录音文件名 |
userField |
String |
自定义字段 |
markData |
String |
备注 |
customerRingingTime |
Long |
客户响铃时间 |
investigation |
Object |
|
tags |
String[] |
标签 |
mark |
Integer |
标记 |
evaluation |
Integer |
是否邀评 0: 否 1: 是 |
ivrName |
String |
ivr名称 |
markData |
String |
备注 |
xnumber |
String |
虚拟号码 |
tagNames |
String[] |
展示通话标签详情,当请求参数fields中包含tagNames时返回 |
示例
请求示例
https://api-bj.clink.cn/cc/describe_cdr_ob
&mainUnique=AWS_DEV_MEDIA_SERVER_8-1536892698.2
&<公共请求参数>
返回示例
{
"requestId":"ba078ace-717c-4dea-af41-d4dd5035edd6",
"cdrOb":{
"uniqueId":"AWS_DEV_MEDIA_SERVER_8-1536892698.2",
"hotline":"02788xxx888",
"customerNumber":"153xxxx8888",
"customerNumberEncrypt":"TNjljZjZlNjgxYmIwNjMxZGEwMzA3MmQ0MDQzYWEyMjY",
"customerProvince":"黑龙江",
"customerCity":"哈尔滨",
"cno":"2555",
"clientName":"zhangsan",
"clientNumber":"8003",
"callType":"呼入",
"startTime":1536892698,
"endTime":1536892706,
"bridgeTime":null,
"bridgeDuration":3,
"totalDuration":8,
"status":"座席未接听",
"statusCode":"座席未接听-2",
"endReason":"主通道挂机",
"sipCause":"",
"recordFile":null,
"userField":{
"c_cno":"2000",
"c_name":"2000test",
"c_exten":""
},
"investigation":{
"startTime":1536115324,
"endTime":1536115324,
"cno":"2005",
"clientName":"客户端",
"keys":10,
"multiKeys":"01"
},
"tags":["标签1","标签2"],
"mark":3,
"callId": "ba078ace-717c-6666-af41-d4dd5035edd6",
"ivrName": "呼叫导航",
"customerRingingTime": 66,
"markData": "转移",
"xnumber": "13688888888",
"tagNames": [
"一级标签/二级标签/三级标签1",
"一级标签/二级标签/三级标签2"
]
}
}
20.1.7. 查看外呼通话记录明细
GET /cc/describe_cdr_ob_details
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
mainUniqueId |
String |
true |
通话记录唯一标识 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
cdrObDetails |
Object[] |
外呼通话记录明细
名称 | 类型 | 描述 |
---|---|---|
uniqueId |
String |
通话记录详情唯一标识 |
mainUniqueId |
String |
通话记录主通道唯一标识 |
cno |
String |
座席号 |
clientName |
String |
座席名称 |
clientNumber |
String |
座席电话 |
startTime |
long |
接起时间 |
endTime |
long |
结束时间 |
answerTime |
long |
接听时间 |
totalDuration |
Integer |
通话时长 |
callType |
String |
呼叫类型 |
status |
String |
呼叫结果 |
sipCause |
String |
呼叫情况 |
remember |
String |
是否开启主叫记忆 |
recordFile |
String |
录音文件名 |
示例
请求示例
https://api-bj.clink.cn/cc/describe_cdr_ob_details
&mainUniqueId=AWS_DEV_MEDIA_SERVER_8-1536201058.19
&<公共请求参数>
返回示例
{
"requestId": "ba078ace-717c-4dea-af41-d4dd5035edd6",
"cdrObDetails": [
{
"mainUniqueId": "AWS_DEV_MEDIA_SERVER_8-1536115322.0",
"uniqueId": "AWS_DEV_MEDIA_SERVER_8-1536115379.4",
"cno": "2005",
"clientName": "zhangsan",
"clientNumber": "8001",
"startTime": 1536115379,
"answerTime": 1536115382,
"endTime": 1536115391,
"totalDuration": 12,
"callType": "呼转座席",
"status": "呼叫成功",
"sipCause": "处理成功",
"remember": "未开启",
"recordFile": null
}
]
}
20.1.8. 同步外呼通话记录
GET /cc/copy_cdr_obs
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
hiddenType |
Integer |
false |
是否隐藏号码。 0: 不隐藏,1: 中间四位,2: 最后八位,3: 全部号码,4: 最后四位。默认值为 0 |
scrollId |
String |
true |
每次请求返回的参数,作为下次请求的必须参数。 for 循环第一次请求不需要传递此参数。 游标的存活时间为5分钟,当返回为noScrollId时您不应该再次使用此游标请求,因为它表示当前同步已结束。 |
date |
String |
true |
指定同步某一天的通话记录。格式:yyyyMMdd, 例如:20180816 |
limit |
Integer |
false |
查询条数,范围 10-100。默认值为 10 |
fields |
String[] |
false |
自定义返回的字段,不传返回默认展示字段 tagNames: 展示通话标签详情 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
scrollId |
String |
游标 id |
cdrObs |
Object[] |
|
pageNumber |
Integer |
当前页码 |
pageSize |
Integer |
一页展示条数 |
totalCount |
Integer |
总条数 |
示例
请求示例
https://api-bj.clink.cn/cc/copy_cdr_obs
&limit=10
&date=20180918
&scrollId=DnF1ZXJ5VGhl3AAAAAAAFl-8WSHV3NSdWNGbG4wdw==
&hiddenType=0
&<公共请求参数>
返回示例
{
"pageNumber": 1,
"requestId": "ba078ace-717c-4dea-af41-d4dd5035edd6",
"pageSize": 10,
"totalCount": 1,
"scrollId": "DnF1ZXJ5VGhl3AAAAAAAFl-8WSHV3NSdWNGbG4wdw==",
"cdrObs": [
{
"callId": "ca5ad24d-f9f3-4b41-a601-284e30b41b58",
"uniqueId": "AWS_DEV_MEDIA_SERVER_8-1537414655.24",
"hotline": "02788xxx888",
"customerNumber": "153xxxx8888",
"customerNumberEncrypt":"TNjljZjZlNjgxYmIwNjMxZGEwMzA3MmQ0MDQzYWEyMjY",
"customerProvince": "北京",
"customerCity": "北京",
"customerRingingTime": 1537414640,
"cno": "2005",
"clientName": "zhangsan",
"clientNumber": "8001",
"callType": "预览外呼",
"startTime": 1537414655,
"endTime": 1537414690,
"bridgeTime": 1537414660,
"bridgeDuration": 30,
"totalDuration": 35,
"ivrName": null,
"status": "双方接听",
"statusCode": "双方接听-28",
"endReason": "主通道挂机",
"sipCause": "处理成功",
"recordFile": "8000026-20180920113735-153xxxx8888-8001--record-AWS_DEV_MEDIA_SERVER_8-1537414655.24",
"userField": null,
"markData": null,
"investigation": {
"startTime":1536115324,
"endTime":1536115324,
"cno":"2005",
"clientName":"客户端",
"keys":10,
"multiKeys":"01"
},
"tags":["标签1","标签2"],
"mark":4
}
]
}
20.1.9. 同步外呼通话记录明细
GET /cc/copy_cdr_ob_details
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
scrollId |
String |
true |
每次请求返回的参数,作为下次请求的必须参数。 for 循环第一次请求不需要传递此参数。 游标的存活时间为5分钟,当返回为noScrollId时您不应该再次使用此游标请求,因为它表示当前同步已结束。 |
date |
String |
true |
指定同步某一天的通话记录。格式:yyyyMMdd, 例如:20180816 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
scrollId |
String |
游标 id, 每次请求返回的参数,作为下次请求的必须参数。 for循环第一次请求不需要传递此参数 |
cdrObDetails |
Object[] |
|
pageNumber |
Integer |
当前页码 |
pageSize |
Integer |
一页展示条数 |
totalCount |
Integer |
总条数 |
示例
请求示例
https://api-bj.clink.cn/cc/copy_cdr_ob_details
&date=20180918
&limit=10
&scrollId=DnF1ZXJFFRbTNXc1J1Y0ZsbAAFl-8WSHEtOGGbG4wdw==
&<公共请求参数>
返回示例
{
"requestId": "ba078ace-717c-4dea-af41-d4dd5035edd6",
"scrollId": "DnF1ZXJFFRbTNXc1J1Y0ZsbAAFl-8WSHEtOGGbG4wdw==",
"pageNumber": 1,
"pageSize": 10,
"totalCount": 1,
"cdrObDetails": [
{
"mainUniqueId": "AWS_DEV_MEDIA_SERVER_8-1537414655.24",
"uniqueId": "AWS_DEV_MEDIA_SERVER_8-1537414657.25",
"cno": "",
"clientName": null,
"clientNumber": "153xxxx8888",
"startTime": 1537414657,
"answerTime": 1537414660,
"endTime": 1537414714,
"totalDuration": 57,
"callType": "呼转客户",
"status": "呼叫成功",
"sipCause": "处理成功",
"remember": "未开启",
"recordFile": null
}
]
}