# 呼叫中心
# 1、接口声明
如果您希望在自己的CRM系统嵌入呼叫中心能力,需要对接智齿呼叫中心能力,在对接前请您阅读如下对接流程,以便您更好的完成对接。如果只对接基本呼叫能力,预计对接及调试过程1周左右即可完成。
第一步:获取第三方用户接口调用唯一凭证
请联系您的售后经理,获取您企业的如下信息:
1、companyid(企业id)
2、appid(第三方用户接口调用唯一凭证id)
3、app_key(第三方用户接口调用唯一凭证密钥)
第二步:管理客服账号、技能组和分机账号
在使用呼叫中心能力前,需要完成客服创建、技能组创建、分配客服到技能组以及为客服绑定对应的分机账号。
1、名词解释
客服账号:通过该账号可以使用呼叫中心。
技能组:对客服进行分组,可以将不同客服分配到不同技能组;设置技能组是为了更好的进行客服分组管理。如果您在自己的CRM中进行客服管理,可以只设置一个技能组。
分机账号:使用呼叫中心时,如果使用SIP话机,则必须为每个客服对应一个固定的SIP话机,请将对应分机账号与客服进行绑定。分机账号类似于分机号。注意:同时需要用该分机账号与分机账号密码对SIP话机进行设置,并注册到智齿呼叫中心平台。SIP话机我们推荐使用潮流和亿联SIP话机,请与您的售后经理获取《配置手册》,如果您使用其他类型的SIP话机,请与售后经理提前沟通。
2、如何管理?
第一种,您可以通过超管账号,登录智齿客服系统进行管理
1)在设置-客服列表功能中,创建呼叫中心客服账号;
2)在设置-呼叫中心技能组设置功能中,创建呼叫相关的技能组,并将客服分配到技能组;
3)在设置-话机账号设置中,实现分机账号与客服账号的绑定;
4)通过查询坐席列表接口、查询坐席绑定的分机账号接口,在您的CRM系统中实现账号的关联绑定。
第二种,通过接口创建客服、创建技能组、分配客服到技能组,以及为客服绑定SIP账号。参见客服管理相关接口、技能组管理接口和分机账号绑定接口,可以在您的CRM中实现客服账号创建、技能组创建和分机账号绑定。
第三步:使用呼叫中心JS组件对接
JS组件对接主要提供客服端的对接能力,基于websocket方式进行通信,前端页面可以直接调用接口实现基础的客服通话、保持、咨询、转接,以及班长监听等呼叫能力。基于JS组件,您可以实现SIP话机、手机两种坐席登录方式,其中在Web端可以实现两种登录方式,在APP端可以实现SIP话机(SIP软话机)和手机两种登录方式。
详细对接说明,请参见如下:《呼叫中心JS组件开发指南》。
第四步:如何获取通话记录?
通话记录的获取有2种方式:主动查询和消息推送。获取原始的通话记录后,您可以在CRM中进行数据统计和分析,同时通话记录中包含了录音地址。具体参见:同时,为减少您对于统计报表的开发工作量,您也可以使用超管账号登录智齿客服系统,在呼叫报表模块查看统计数据,我们已确保了数据的一致。
第五步:如何管理和监控客服?
为便于您对客服进行管理和监控,智齿呼叫中心接口包含了客服消息推送接口,基于这些接口数据,您可以实时掌握客服当前的状态。具体参见:同时,为减少您对于客服监控的开发工作量,您也可以使用呼叫管理员账号登录智齿客服系统,使用呼叫和客服监控模块,我们已确保了状态的一致。
# 2、获取访问token编码
接口说明:
在调用接口时必须在https请求的header中携带"token"参数。
token是智齿客服接口开放平台全局唯一的接口调用凭据。
开发者在调用各业务接口时都需使用token,开发者需要进行妥善保存。token的存储至少要保留32个字符空间。token的有效期目前为24个小时,需定时刷新,或根据接口返回的token失效提示,进行重新获取。请求token接口,无论token是否存在,都会返回新的token,并重置token的过期时间(目前24小时)。
token使用方式说明:
1、开发者需要统一获取和管理token,在调用智齿客服各个业务开放接
口时都应该使用同一个的token,不应该每个业务都刷新获取新的
token,否则容易导致token失效,影响接口的正常调用;
2、目前token的有效期通过返回的expire_in来传达,目前是86400
秒之内的值。开发者需要根据这个有效时间提前去刷新新token。
3、开发者需要根据接口返回的token失效提示,进行重新获取token。
获取API开放接口token,此token仅适用于智齿开放平台 5.0版本全部API接口 。API接口中的参数 appid, app_key 请联系智齿售后人员获取。
请求方式:
GET
请求地址:
https://www.sobot.com/api/get_token
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
appid | String | 是 | 接口凭证Id | 第三方用户接口调用唯一凭证id,仅获取token时使用 |
create_time | String | 是 | 时间戳 | 时间戳,秒,例如 2019-09-25 15:49:33 的时间戳1569397773 |
sign | String | 是 | 签名 | md5(appid+create_time+app_key) sign签名,app_key为密钥 |
返回参数:
参数 | 类型 | 必填 | 名称 |
---|---|---|---|
ret_code | String | 是 | 返回编码 |
ret_msg | String | 是 | 返回信息 |
item | Object | 否 | 返回对象 |
item对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
token | String | 是 | token编码 | |
expires_in | String | 是 | 凭证有效时间 | 单位:秒 |
时间戳转换参考工具:
http://tool.chinaz.com/Tools/unixtime.aspx
sign签名生成示例:
例如,appid = "1"; create_time="1569397773"; app_key="2"
sign = Md5("115693977732") 为 258eec3118705112b2c53dc8043d4d34。
请求示例:
curl https://www.sobot.com/api/get_token?appid=1&create_time=1569397773&sign=258eec3118705112b2c53dc8043d4d34
返回示例:
{
"item": {
"token": "4ac37cb2e9c740dba4b75a34d5358802",
"expires_in": "86400"
},
"ret_code": "000000",
"ret_msg": "操作成功"
}
# 3、技能组管理
详见客服管理模块,点击此处跳转
# 4、坐席管理
详见客服管理模块,点击此处跳转
# 5、分机账号管理
# 5.1、查询分机账号
接口说明:
查询绑定或未绑定的分机账号列表
请求及响应报文格式采用JSON格式
访问方式:
POST https://www.sobot.com/comm-open/api/call/5/ext/query
请求参数:
字段编码 | 字段名称 | 类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | 公司id |
appid | 应用id | string | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
bind_state | 是否绑定 | string | 是 | bind绑定,nobind未绑定,空查询所有分机数据 |
region | 区域 | string | 是 | 空查询所有的区域 |
返回参数:
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
items | 返回对象 | Object | 详看下表 |
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
companyid | 公司id | string | 公司id |
appid | 应用id | string | 应用id |
voip_account | VoIP号码 | string | 由9位数字组成 |
voip_pwd | VoIP密码 | string | 由8位数字和字母组成,例如1nhccaj8 |
create_time | 创建时间 | long | Voip的创建时间,13位时间戳 |
agentid | 坐席id | string | |
agent_name | 坐席名称 | string | |
region | 区域 | string |
请求示例:
{
"companyid": "6fa94a074b8646b38f6f5decc7580fe7",
"appid": "3186d4c82ab7421ea36d36fcac9cdbbe",
"bind_state": "bind",
"region": "北京"
}
返回示例:
{
"items": [
{
"appid": "3186d4c82ab7421ea36d36fcac9cdbbe",
"companyid": "6fa94a074b8646b38f6f5decc7580fe7",
"create_time": 1576670289049,
"region": "北京",
"voip_account": "901250029",
"voip_pwd": "7LQv80K1",
"agentid": "23452345xs6v76d76v67",
"agent_name": "小明"
}
],
"ret_code": "000000",
"ret_msg": "成功"
}
# 5.2、查询坐席是否绑定分机账号
接口说明:
用于判断坐席是否已经绑定分机账号,如已绑定分机账号则会返回对应的分机账号信息
请求及响应报文格式采用JSON格式
访问方式:
POST https://www.sobot.com/comm-open/api/call/5/ext/agent_bind_ext
请求参数:
字段编码 | 字段名称 | 类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | 公司id |
appid | 应用id | string | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
agentid | 坐席id | string | 否 |
返回参数:
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
item | 返回对象 | Object | 详看下表 |
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
companyid | 公司id | string | 公司id |
appid | 应用id | string | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
voip_account | VoIP号码 | string | 由9位数字组成 |
voip_pwd | VoIP密码 | string | |
create_time | 创建时间 | long | Voip的创建时间,13位时间戳 |
agentid | 坐席id | string |
请求示例:
{
"companyid": "6fa94a074b8646b38f6f5decc7580fe7",
"appid": "3186d4c82ab7421ea36d36fcac9cdbbe",
"agentid":"279c06647f814a2ebae0212e4c5faaf2"
}
返回示例:
{
"ret_code": "000000",
"ret_msg": "请求成功",
"item": {
"voip_account": "900540000",
"voip_pwd": "test1234",
"companyid": "626632d761be4da2a33c7f26f6e50b41",
"create_time": 1575428296,
"appid": "80ecc892384b4f03b62176d6654ef2e9",
"agentid": "093c2jL5"
}
}
# 5.3、绑定分机账号
接口说明:
用于为坐席绑定分机账号
请求及响应报文格式采用JSON格式
访问方式:
POST https://www.sobot.com/comm-open/api/call/5/ext/bind
请求参数:
字段编码 | 字段名称 | 类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | 公司id |
appid | 应用id | string | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
voip_account | Voip账号 | string | 否 | |
agentid | 坐席id | string | 否 |
返回参数:
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
请求示例:
{
"companyid": "626632d761be4da2a33c7f26f6e50b41",
"appid": "80ecc892384b4f03b62176d6654ef2e9",
"agentid": "12ecc892384b4f03b62176d6654ef2e9",
"voip_account": "900730006"
}
返回示例:
{
"ret_code": "000000",
"ret_msg": "请求成功"
}
# 5.4、解除分机账号绑定关系
接口说明:
用于为坐席解除绑定分机账号
请求及响应报文格式采用JSON格式
访问方式:
POST https://www.sobot.com/comm-open/api/call/5/ext/unbind
请求参数:
字段编码 | 字段名称 | 类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | 公司id |
appid | 应用id | string | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
voip_account | Voip账号 | string | 否 | 如果不传该参数则查询该app下所有的voip账号 |
agentid | 坐席id | string | 否 |
返回参数:
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
请求示例:
{
"companyid": "626632d761be4da2a33c7f26f6e50b41",
"appid": "80ecc892384b4f03b62176d6654ef2e9",
"agentid": "80ecc892384b4f03b62176d6654ef2e9",
"voip_account": "900730006"
}
返回示例:
{
"ret_code": "000000",
"ret_msg": "成功"
}
# 5.5、解除分机账号的注册状态
接口说明:
将当前已经注册状态的分机账号变为未注册状态,并返回修改后的分机账号密码;再次注册的时候需使用新密码
请求及响应报文格式采用JSON格式
访问方式:
POST https://www.sobot.com/comm-open/api/call/5/ext/unregister
请求参数:
字段编码 | 字段名称 | 类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | 公司id |
appid | 应用id | string | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
voip_account | 分机账号 | string | 否 |
返回参数:
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
item | 返回对象 | Object | 详看下表 |
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
voip_account | VoIP号码 | string | 由9位数字组成 |
voip_pwd | VoIP新密码 | string | 由8位数字和字母组成,例如1nhccaj8 |
请求示例:
{
"companyid": "7db203d2e7004a85bdd78fae4362830c",
"appid": "90f644715d174d53a7573e678aa42efa",
"voip_account": "900730006"
}
返回示例:
{
"ret_code": "000000",
"ret_msg": "成功",
"item": {
"voip_account": "900540000",
"voip_pwd": "626632d761be4da2a33c7f26f6e50b41"
}
}
# 5.6、查询在线分机账号
接口说明:
查询当前所有在线的话机信息
请求及响应报文格式采用JSON格式
访问方式:
POST https://www.sobot.com/comm-open/api/call/5/ext/online
请求参数:
字段编码 | 字段名称 | 类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | 公司id |
appid | 应用id | string | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
exts | 分机列表 | string | 是 | 分机列表,如果不传则返回该应用下的所有在线话机 |
返回参数:
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
items | 返回对象 | Object[] | 详看下表 |
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
companyid | 公司id | string | 公司id |
appid | 应用id | string | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
voip_account | 分机号码 | string | VoIP号码。由9位数字组成 |
create_time | long | VoIP的创建时间 | |
region | 分机所在区域 | string | 分机所在区域,null为默认区域(可忽略) |
请求示例:
{
"companyid": "efb1f96181b9487ca17f7d60cfe12741",
"appid": "8db714ad04414be48916c526b9a01015",
"exts": [
"900540000,900540001"
]
}
返回示例:
{
"ret_code": "000000",
"ret_msg": "成功",
"items": [{
"voip_account": "900540000",
"companyid": "626632d761be4da2a33c7f26f6e50b41",
"create_time": 1575428296,
"appid": "80ecc892384b4f03b62176d6654ef2e9",
"region": "北京",
"voip_pwd": "093c2jL5"
},
{
"voip_account": "900540001",
"companyid": "626632d761be4da2a33c7f26f6e50b41",
"create_time": 1575428296,
"appid": "80ecc892384b4f03b62176d6654ef2e9",
"region": "北京",
"voip_pwd": "l545y2Xp"
}]
}
# 6、外显号码管理
# 6.1、查询外显号码
接口说明:
坐席上班或者外呼时可以动态指定以某一个外显号码,这样在手机登录时接听电话或者外呼时显示的外显号码即为调用接口时传入的号码,这些号码需要智齿在后台支撑系统配置,您可以通过此接口查询您当前的所有可使用的号码。
请求及响应报文格式采用JSON格式
访问方式:
GET https://www.sobot.com/comm-open/api/call/5/number/{companyid}/{appid}
请求参数:
字段编码 | 字段名称 | 类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | 公司id |
appid | 应用id | string | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
返回参数:
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
items | 返回对象 | Object[] | 可用号码json数组,详见下表 |
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
call_number | 号码 | string | - |
attribution | 归属地 | string | 例如:北京、上海 |
concurrency | 并发数 | string | 并发数 |
allocate_time | 分配到应用的时间 | string | 13位时间戳 |
请求示例:
http://www.sobot.com//comm-open/api/call/5/number/626632d761be4da2a33c7f26f6e50b41/80ecc892384b4f03b62176d6654ef2e9
返回示例:
{
"ret_code": "000000",
"ret_msg": "成功",
"items": [
{
"call_number": "075536654676",
"attribution": "深圳",
"concurrency": "1",
"allocate_time": "1562580389"
},
{
"call_number": "057128854207",
"attribution": "",
"concurrency": "2",
"allocate_time": "1562580389"
}
]
}
# 6.2、通过公司id查询外显号码
接口说明:
坐席上班或者外呼时可以动态指定以某一个外显号码,这样在手机登录时接听电话或者外呼时显示的外显号码即为调用接口时传入的号码,这些号码需要智齿在后台支撑系统配置,您可以通过此接口查询您当前的所有可使用的号码。
请求及响应报文格式采用JSON格式
{soft_version}是当前使用的REST API版本,不同版本会有差异,当前版本为:5
访问方式:
POST https://www.sobot.com/comm-open/api/call/{soft_version}/numbers/query
请求参数:
字段编码 | 字段名称 | 类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | 公司id |
appid | 应用id | string | 是 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
返回参数:
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
items | 返回对象 | Object[] | 可用号码json数组,详见下表 |
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
call_number | 号码 | string | - |
attribution | 归属地 | string | 例如:北京、上海 |
concurrency | 并发数 | string | 并发数 |
allocate_time | 分配到应用的时间 | string | 13位时间戳 |
appid | 应用id | string | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
请求示例:
http://www.sobot.com/comm-open/api/call/{soft_version}/numbers/query
{
"companyid": "6fa94a074b8646b38f6f5decc7580fe7"
}
返回示例:
{
"ret_code": "000000",
"ret_msg": "成功",
"items": [
{
"call_number": "075536654676",
"attribution": "深圳",
"concurrency": "1",
"allocate_time": "1562580389"
},
{
"call_number": "057128854207",
"attribution": "",
"concurrency": "2",
"allocate_time": "1562580389"
}
]
}
# 6.3、查询公司外显号码及其配置规则
接口说明:
按照技能组id查找外显号码;按照被叫号码查找外显号码
请求及响应报文格式采用JSON格式
访问方式:
POST https://www.sobot.com/comm-open/api/call/5/numbers/queryByRuleType
请求参数:
字段编码 | 字段名称 | 类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | 公司id |
appid | 应用id | string | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
groupid | 技能组id | string | 是 | 系统设置-呼叫中心-号码管理中,外显规则的分配方式是按技能组分配的话,此参数必填 |
callee | 被叫号码 | string | 是 | 系统设置-呼叫中心-号码管理中,外显规则的分配方式是归属地优先分配的话,此参数必填 |
agentid | 坐席id | string | 是 | 系统设置-呼叫中心-号码管理中,外显规则的分配方式是按坐席分配的话,此参数必填 |
ret_more | 是否允许返回多个外显号码 | boolean | 是 | 默认false,只返回一个 |
返回参数:
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
item | 返回对象 | Object | 外显号码对象,详见下表 |
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
call_number | 可用外显号码数组 | string[] | 可用外显号码数组 |
rule_type | 分配方式 | int | 0随机1轮流2归属地优先301按客服分配302按技能组分配303按地理位置分配4指定号码,默认返回0 |
请求示例:
https://www.sobot.com/comm-open/api/call/5/numbers/queryByRuleType
// 按技能组分配
{
"companyid":"6fa94a074b8646b38f6f5decc7580fe7",
"appid":"3186d4c82ab7421ea36d36fcac9cdbbe",
"groupid":"49fcb97d2f9a4b69a9aa9a344dc3bc83_1"
}
// 归属地优先分配
{
"companyid":"6fa94a074b8646b38f6f5decc7580fe7",
"appid":"3186d4c82ab7421ea36d36fcac9cdbbe",
"callee":"13800138000"
}
返回示例:
{
"item":{
"call_number":["01021755241"],
"rule_type":302
},
"ret_code":"000000",
"ret_msg":"操作成功"
}
# 6.4、删除外显号码
接口说明:
删除某个应用下分配的号码,如果号码不填写,删除该应用下全部号码。如果号码不在某个应用下,自动跳过
请求及响应报文格式采用JSON格式
访问方式:
DELETE https://www.sobot.com/comm-open/api/call/5/number/{companyid}/{appid}
请求参数:
字段编码 | 字段名称 | 类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | 公司id |
appid | 应用id | string | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
call_number | string | 否 | 需要删除的号码,多个号码逗号(",")隔开,最大支持500个号 |
返回参数:
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
请求示例:
{
"call_number": "057128854207,057128854208,057128854210"
}
返回示例:
{
"ret_code": "000000",
"ret_msg": "成功"
}
# 7、通话记录
# 7.1、查询通话记录
接口说明:
用于查询通话记录的详细信息,返回结果集是按照开始时间倒叙排列。
请求及响应报文格式采用JSON格式
访问方式:
POST https://www.sobot.com/comm-open/api/call/5/record
请求参数:
字段编码 | 字段名称 | 类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司ID | string | 否 | |
appid | 应用id | string | 可空 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
service_email | 邮箱 | string | 可空 | 版本5:service_email不会影响查询结果,版本6:service_emial不为空时会查询该座席的通话 |
start_time | 开始时间 | string | 否 | 查询通话记录的开始时间(yyyy-MM-dd HH:mm:ss) |
end_time | 结束时间 | string | 否 | 查询通话记录结束时间点(yyyy-MM-dd HH:mm:ss) |
call_direction | 呼叫方向 | int | 可空 | 1.呼出0.呼入、11(咨询客服),12(咨询第三方),21(转接咨询)、22(转接客服)、23(转接第三方),3(监听)、4(强插通话)、5(强拆通话),call_direction为空时,默认为0 |
page | int | 否 | 第几页 | |
size | int | 否 | 每页显示的条数,建议每页15条 |
返回参数:
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
items | 返回对象 | List | 详看下表 |
Item参数详解:
字段编码 | 字段名称 | 类型 | 可空 | 备注说明 |
---|---|---|---|---|
agentid | 呼叫坐席id | string | 是 | |
companyid | 公司ID | string | 是 | - |
departmentid | 组织权限id | string | 是 | - |
callid | 通话记录id | string | 否 | - |
parent_call_recordid | 主通话id | string | 否 | 对于主话单:parent_call_recordid = id |
agent_ring_time | 振铃时间 | long | 是 | 坐席振铃时间,如果空表示用户来点还没转到坐席就挂掉了,时间戳格式 |
agent_ring_time_str | 振铃时间 | string | 是 | 同上,只是时间格式是字符串类型 |
agent_hungup_time | 坐席挂机时间 | long | 否 | - |
agent_hungup_time_str | 坐席挂机时间 | string | 否 | - |
agent_answer_time | 坐席接听时间 | long | 否 | - |
agent_answer_time_str | 坐席接听时间 | string | 否 | - |
ring_time_duration | 振铃时长 | long | 是 | 单位秒 |
businessid | 服务总结所属业务id | string | 是 | - |
business_name | 业务名称 | string | 是 | 服务总结所属业务名称 |
business_typeid | 业务类型id | string | 是 | 服务总结所属业务类型id |
business_type_name | 业务类型名称 | string | 是 | 服务总结所属业务类型名称 |
bussiness_type_pathid | 业务类型路径id | string | 是 | 服务总结所属业务类型路径id |
bussiness_type_path_name | 业务类型路径名称 | string | 是 | 服务总结所属业务类型路径名称 |
call_duration | 通话总时长 | int | 是 | |
call_flag | 接听标示 | int | 否 | 0未接听,1已接听 |
call_result | 通话结果 | int | 否 | 10. 坐席接听11.振铃未接听12.ivr放弃13.排队放弃14.非服务时间来电15.呼入话机异常16.呼入网络异常17.排队超时18.客户速挂20.客户接听21.客户未接听25.呼出话机异常26.呼出网络异常781.客户拒接774.号码空号770.客户关机771.客户停机772.暂时无法接通773.客户正在通话 30第三方接听、31第三方无法接通(所有其他的因素)、32第三方振铃未接听(包括长时间无应答、第三方拒接) |
call_succ | 通话结果 | boolean | 否 | 通话结果使用 |
call_way | 接听方式 | int | 否 | 1网页电话,2sip话机,3手机 |
callee | 被叫号码 | string | 是 | - |
calleeid | 被叫人id | string | 是 | 可能是坐席或已知用户id |
callee_name | 被叫人姓名 | string | 是 | - |
caller | 主叫号码 | string | 否 | - |
callerid | 主叫人id | string | 是 | 可能是坐席或已知用户id |
caller_name | 主叫人名称 | string | 是 | - |
call_type | 呼叫类型 | int | 否 | 0(呼入),1(呼出)、11(咨询客服),12(咨询第三方),21(转接咨询)、22(转接客服)、23(转接第三方),3(监听)、4(强插通话)、5(强拆通话) |
call_direction | 呼叫方向 | int | 否 | 0(呼入),1(呼出) |
duration | 录音时长 | long | 否 | - |
end_time | 结束时间 | long | 否 | 整个呼叫服务通话结束时间 |
end_time_str | 结束时间 | string | 是 | 整个呼叫服务通话结束时间 |
ender | 挂断方 | int | 否 | 0 系统超时挂断,1客服挂断,2客户挂断 |
enter_group_flag | 是否进入队列 | Int | 否 | 0 否 1 是 |
exist_flag | 是否已知用户 | int | 否 | 0:未知用户,1:已知用户 |
fee | 费用 | double | 否 | 通话产生的费用 |
fee_duration | 计费时长 | long | 否 | 计费时长, 单位:分钟 |
groupid | 技能组id | string | 是 | 呼叫时使用的技能组 |
group_name | 技能组名称 | string | 是 | - |
group_type | 否为电销组 | int | 否 | 2.普通3.电销 |
handle_status | 服务总结 | int | 否 | -1 未处理 0 未解决 1 已解决 |
hidden_flag | 否隐藏号码 | int | 否 | 0.不隐藏 1.中间隐藏2.末尾隐藏 |
hold | 保持 | int | 否 | 1.有保持0.没保持 |
hold_count | 保持次数 | int | 否 | - |
hold_time | 保持持续时间 | long | 否 | - |
in_queue_time | 排队入队时间 | long | 是 | - |
in_queue_time_str | 排队入队时间 | string | 是 | - |
out_call_in_task_flag | 电销任务外呼 | int | 否 | 是否是外呼任务 0否1是 |
queue_flag | 是否有排队 | int | 否 | 0没有排队;1有排队 |
nick | 昵称 | string | 否 | 客户昵称 |
number_city | 电话归属地城市 | string | 否 | - |
number_provice | 电话归属地省份 | string | 否 | - |
out_queue_time | 排队出队时间 | long | 是 | - |
out_queue_time_str | 排队出队时间 | string | 是 | - |
quality_status | 是否质检 | int | 否 | 0未质检 1质检过 |
queue_duration | 排队时长 | long | 否 | - |
queue_state | 排队状态 | int | 否 | 1.未排队 2.排队成功 3.排队超时 4.排队离开 (排队放弃=3+4) |
receive_staffids | 接待客服id | string | 是 | 按时间先后排,逗号隔开,有转接的 |
receive_staff_names | 接待客服名字 | string | 是 | 按时间先后排,逗号隔开 |
remarks | 备注 | string | 是 | - |
satisfy_level | 满意度级别 | int | 否 | 0:未开启满意度,2:二级满意度,3:三级满意度,5:五级满意度,10:自定义满意度 |
satisfy_value | 满意度名称 | string | 否 | 未评价,非常不满意,不满意,一般,满意,非常满意,自定义满意度1,自定义满意度2,自定义满意度3,自定义满意度4,自定义满意度5,自定义满意度6 |
satisfy_key | 满意度按键 | int | 否 | 0:未评价 1,2,3,4,5,6 |
service_email | 坐席账号 | string | 是 | - |
staffid | 坐席id | string | 是 | - |
staff_name | 坐席名称 | string | 是 | - |
start_time | 开始时间 | long | 否 | 呼叫开始时间 |
start_time_str | 开始时间 | string | 否 | 呼叫开始时间 |
summary_staff_name | 坐席名称 | string | 是 | 记录服务总结的坐席名称 |
summary_update_time | 更新时间 | long | 是 | 更新服务总结的时间 |
summary_update_time_str | 更新时间 | string | 是 | 更新服务总结的时间 |
taskid | 任务id | string | 否 | 通过电销任务外呼的任务id |
transfer_count | 转接次数 | int | 是 | - |
transfer_flag | 是否转接 | int | 是 | 0=未转接 1= 转接咨询 2= 转接 |
unhold | 保持 | int | 是 | 1.正常取消 0.没有取消 |
user_ring_time | 振铃时间 | long | 是 | 坐席呼出用户 的振铃时间 |
user_ring_time_str | 振铃时间 | string | 是 | 坐席呼出用户 的振铃时间 |
user_answer_time | 应答时间 | long | 是 | 外呼时用户应答时间 |
user_answer_time_str | 应答时间 | string | 是 | 外呼时用户应答时间 |
user_companyid | 客户公司id | string | 是 | 已知用户所在公司id |
user_company_name | 客户公司名称 | string | 是 | 已知用户所在公司名称 |
userid | 客户id | string | 是 | 已知用户id |
user_name | 客户名称 | string | 是 | 已知用户名称 |
voice_aliyun_url | 录音地址 | string | 是 | 接通的有值 |
page_count | 页数 | int | 是 | - |
page_no | 当前页数 | int | 是 | - |
page_size | 每页条数 | int | 是 | 建议不要大于15 |
total_count | 总条数 | int | 是 | - |
consult_flag | 是否咨询 | Int | 否 | 0-未咨询、1-咨询(默认0,只有咨询成功) |
consult_count | 咨询次数 | Int | 是 | - |
leave_msg_flag | 留言标识 | Int | - | 0-未留言,1-留言 |
leave_msg_url | 留言地址 | string | - | - |
params | 客户自定义字段 | string | - | - |
interval_duration | 坐席通话时长 | long | 是 | - |
abandon_flag | 是否存在ivr放弃 | string | - | 0 无;1 是 |
agent_wait_duration | 客服等待时长 | string | - | 客服话机振铃接起到分配了客户电话接通的等待时长 |
appid | 应用id | String | - | - |
break_down_succ_time | 强插后强拆成功的时间 | String | - | 没有强插强拆则为0 |
break_in_succ_time | 强插时间 | String | - | 监听后强插成功的时间,只有呼叫类型为强插通话记录,没有强插强拆则为0 |
disNumber | 外显号码 | String | - | - |
请求示例:
{
"companyid": "6fa94a074b8646b38f6f5decc7580fe7",
"appid": "3186d4c82ab7421ea36d36fcac9cdbbe",
"service_email": "11q@sobot.com",
"start_time": "2019-12-20 00:00:00",
"end_time": "2019-12-29 23:59:00",
"call_direction": 1,
"page": 1,
"size": 15
}
返回示例:
{
"ret_code": "000000",
"ret_msg": "成功",
"items": [
{
"abandon_flag": "0",
"agent_answer_time": 1596783668211,
"agent_answer_time_str": "20200807150108211",
"agent_hungup_time": 1596783741745,
"agent_hungup_time_str": "20200807150221745",
"agent_ring_time": 1596783665798,
"agent_ring_time_str": "20200807150105798",
"agent_wait_duration": "7",
"agentid": "85e9b4396ba44fb8ae195bb445a38f8d",
"appid": "0292d288caea49f882aa773aefced7a1",
"break_down_succ_time": "0",
"break_in_succ_time": "0",
"business_name": "",
"business_type_name": "",
"business_typeid": "",
"businessid": "",
"bussiness_type_path_name": "",
"bussiness_type_pathid": "",
"call_direction": 1,
"call_duration": 76,
"call_flag": 1,
"call_result": 20,
"call_succ": true,
"call_type": 1,
"call_way": 1,
"callee": "15076689607",
"callee_name": "15076689607",
"calleeid": "1180e0525fbb4918abbdda85ab01ea52",
"caller": "051568028142",
"caller_name": "wufan",
"callerid": "85e9b4396ba44fb8ae195bb445a38f8d",
"callid": "f3a1bdf2-359e-45f7-92ea-adf055e10ed8",
"companyid": "8e030968b3f4426b974aa06a3e63f7c9",
"consult_count": 0,
"consult_flag": 0,
"departmentid": "8e030968b3f4426b974aa06a3e63f7c9|0446cd6c57cd4be395e42d64d74898f0|e3201a673fda4a818964232a55a8c30e",
"disNumber": "01051393529",
"duration": 66,
"end_time": 1596783741772,
"end_time_str": "20200807150221772",
"ender": 1,
"enter_group_flag": 1,
"exist_flag": 1,
"fee": 0.2,
"fee_duration": 2,
"group_name": "wufan",
"group_type": 2,
"groupid": "8e030968b3f4426b974aa06a3e63f7c9_3",
"handle_status": -1,
"hidden_flag": 0,
"hold": 0,
"hold_count": 0,
"hold_time": 0,
"in_queue_time": 0,
"in_queue_time_str": "",
"leave_msg_flag": 0,
"leave_msg_url": "",
"nick": "15076689607",
"number_city": "廊坊",
"number_provice": "河北",
"out_call_in_task_flag": 0,
"out_queue_time": 0,
"out_queue_time_str": "",
"page_count": 0,
"page_no": 0,
"page_size": 0,
"params": "",
"parent_call_recordid": "f3a1bdf2-359e-45f7-92ea-adf055e10ed8",
"quality_status": 0,
"queue_duration": 0,
"queue_flag": 0,
"queue_state": 1,
"receive_staff_names": "wufan,wufan,wufan",
"receive_staffids": "85e9b4396ba44fb8ae195bb445a38f8d,85e9b4396ba44fb8ae195bb445a38f8d,85e9b4396ba44fb8ae195bb445a38f8d",
"remarks": "",
"ring_time_duration": 10,
"satisfy_level": 5,
"satisfy_value": "未评价",
"satisfy_key":0,
"service_email": "wufan@test.com",
"staff_name": "wufan",
"staffid": "85e9b4396ba44fb8ae195bb445a38f8d",
"start_time": 1596783665727,
"start_time_str": "20200807150105727",
"summary_staff_name": "",
"summary_update_time": 0,
"summary_update_time_str": "",
"taskid": "",
"total_count": 0,
"transfer_count": 0,
"transfer_flag": 0,
"unhold": 0,
"user_answer_time": 1596783675933,
"user_answer_time_str": "20200807150115933",
"user_company_name": "",
"user_companyid": "",
"user_name": "",
"user_ring_time": 1596783668257,
"user_ring_time_str": "20200807150108257",
"userid": "1180e0525fbb4918abbdda85ab01ea52",
"voice_aliyun_url": "https://img.sobot.com/pass/record/8e030968b3f4426b974aa06a3e63f7c9/0292d288caea49f882aa773aefced7a1/20200807/f3a1bdf2-359e-45f7-92ea-adf055e10ed8.wav",
},
]
}
# 7.2、推送主话单信息
接口说明:
推送主话单信息
访问方式:
访问方式参照在线消息转发说明参数说明,点击此处跳转
content对象:
字段编码 | 字段名称 | 类型 | 可空 | 备注说明 |
---|---|---|---|---|
start_time | 开始时间 | String | 否 | unixtime毫秒通话开始时间 |
companyid | 公司ID | String | 否 | 适用一个公司多个超管帐号或者多个分公司需要分别统计的情况 |
departmentid | 组织架构ID | String | 否 | |
groupid | 技能组ID | String | 否 | |
group_name | 技能组名称 | String | ||
agentid | 坐席ID | String | ||
staff_emails | 客服邮箱 | String | ||
staff_name | 客服姓名 | String | ||
customer_phone | 客户手机号 | String | ||
customer_name | 客户姓名 | String | ||
direction | String | 呼叫类型,0(呼入),1(呼出) 11咨询客服,12咨询第三方,21转接咨询、22转接客服、23转接第三方,3监听、4强插通话、5强拆通话 | ||
call_direction | 呼叫方向 | String | 0呼入 1呼出 描述初始的呼叫方向是呼入还是呼出。一个完整通话的主子话单均一样 | |
end_time | 通话结束时间 | String | 子话单没有通话结束时间 | |
call_way | 外呼方式 | String | 1 网页电话 2 sip话机 3 手机 | |
caller | 主叫号码 | String | ||
caller_name | 主叫姓名 | String | ||
callee | 被叫号码 | String | ||
record_url | 录音地址 | String | ||
callid | 通话ID | String | 一组完整的通话的唯一标识 | |
parent_callid | 主通话记录ID | String | 当主通话记录id不为空,并且与callId不同时,表示子话单,否则表示主话单 | |
fee | 费用 | String | ||
fee_duration | 计费时长 | String | 单位:分钟 | |
queue_duration | 排队时长 | String | 单位:秒 | |
agent_number | 坐席NO | String | VOIP账号 | |
call_flag | 接听标识 | String | 0 未接听 1接听 | |
ender | 挂断方 | String | 挂断方 0系统超时挂断,1客服挂断,2客户挂断 增加 3-转接挂断、4-强拆挂断、5-第三方挂断 | |
call_result | 通话结果 | String | 10.呼入已接听 11.振铃未接听 12.ivr放弃 13.排队放弃 14.非服务时间来电 15.呼入话机异常 16.呼入网络异常 17.排队超时 18.客户速挂 20.客户接听 21.客户未接听 25.呼出话机异常 26.呼出网络异常 30第三方接听、31第三方无法接通(所有其他的因素)、32第三方振铃未接听(包括长时间无应答、第三方拒接)769.没振铃就已摘机 770.客户关机 771.客户停机 772.暂时无法接通 773.客户正在通话 774.号码空号 781.客户拒接 789.振铃40秒超时未摘机 | |
line_type | 线路类型 | String | ||
agent_start_time | 坐席接听时间 | String | unixtime毫秒 | |
agent_end_time | 坐席挂机时间 | String | unixtime毫秒 | |
agent_alerting_time | 坐席振铃时间 | String | unixtime毫秒 | |
user_alerting_time | 坐席呼出的用户占振铃时间 | String | unixtime毫秒 | |
in_queue_time | 排队入队列的时间 | String | unixtime毫秒 | |
out_queue_time | 排队出队列的时间 | String | unixtime毫秒 | |
interval_end_time | 子话单通话结束的时间 | String | unixtime毫秒 | |
user_answer_time | 用户接听时间 | String | unixtime毫秒 | |
queue_state | 排队状态 | String | 1 未排队,2 排队成功,3 排队超时,4 排队离开 | |
queue_flag | 是否有排队 | String | 0 没有排队;1 有排队 | |
consult_flag | 是否有咨询 | String | 0 未咨询;1 咨询(默认未咨询) | |
transfer_flag | 是否有转接 | String | 0未转接;1 转接咨询;2 转接 | |
listen_flag | 是否有监听 | String | 0 无监听;1 被监听(默认0) | |
hold_flag | 是否有保持 | String | 0 无保持;1有保持 | |
abandon_flag | 是否存在ivr放弃 | String | 0 无;1 是 | |
hold_down | 取消保持 | String | 0 没有取消;1 正常取消 | |
hold_count | 保持次数 | String | ||
consult_count | 咨询次数 | String | ||
transfer_count | 转接次数 | String | ||
leavemsg_flag | 留言标识 | String | 0 未留言;1留言 | |
leavemsg_url | 留言地址 | String | ||
type | 业务类型 | String | "hangup"(结束) | |
msg_type | String | "cdr" | ||
number_province | 电话归属地省份 | String | ||
number_city | 电话归属地城市 | String | ||
callerid | String | 主叫ID,呼出时取staffid,呼入为空 | ||
call_duration | 呼叫总时长 | String | 呼叫最后一条消息减第一条消息的时间差,单位秒 | |
hold_duration | 保持持续时间 | String | 单位:秒 | |
alerting_duration | 振铃时长 | String | 单位:秒 | |
interval_duration | 区间通话时长 | String | 最早挂机时间减去摘机时间,单位秒 | |
parent_flag | 是否是主话单 | String | 1 是;0 否 | |
hanup_time | 用户挂断时间 | String | unixtime毫秒 | |
receive_staffids | 接待的所有客服ID | String | 以逗号分割,按时间顺序排列 | |
receive_staff_names | 接待的所有的客服姓名 | String | 以逗号分割,按时间顺序排列 | |
abandon_flag | 是否存在ivr放弃 | String | 0 无;1 是;2 振铃未接听;3 排队放弃 | |
agent_answer_time_str | 坐席接听时间 | String | 时间格式是字符串类 | |
agent_wait_duration | 客服等待时长: | String | 客服话机振铃接起到分配了客户电话接通的等待时长 | |
appid | 应用id | String | ||
break_down_succ_time | 强插后强拆成功的时间 | String | 没有强插强拆则为0 | |
break_in_succ_time | 强插时间 | String | 监听后强插成功的时间,只有呼叫类型为强插通话时记录,没有强插强拆则为0 | |
params | 客户自定义字段 | String | ||
satisfyNumber | 满意度字段 | int | 0(未评价);1;2;3;4;5。 * 1 非常不满意,2不满意,3一般,4满意,5非常满意 | |
satisfy_level | 满意度类型 | int | 否 | 0:未开启满意度,2:二级满意度,3:三级满意度,5:五级满意度,10:自定义满意度 |
satisfy_str | 满意度名称 | string | 否 | 未评价,非常不满意,不满意,一般,满意,非常满意,自定义满意度1,自定义满意度2,自定义满意度3,自定义满意度4,自定义满意度5,自定义满意度6 |
satisfy_key | 满意度按键 | int | 否 | 0:未评价 1,2,3,4,5,6 |
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
sys_code | String | 是 | 产品编码 | 30 |
type | String | 是 | 消息类型 | calllog |
content | List | 是 | 消息内容 |
返回参数:
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
请求参数示例:
{
"sys_code":"30",
"type":"calllog",
"content":[
{
"number_province":"北京",
"number_city":"北京",
"appid":"3e77faa8cefd405ab57604984293063e",
"agentid":"3d47faa8cefd405ab57604984293063e",
"call_way":"2",
"callee":"01052786225",
"departmentid":"efd6f48a6a534f5f9f3c336b797c6f16|774a2e77dff84e8b95b263824ab5db4f",
"fee":"0",
"groupid":"efd6f48a6a534f5f9f3c336b797c6f16_3",
"staff_emails":"wangtn1@kungeek.com",
"interval_end_time":"0",
"hold_count":"0",
"consult_count":"0",
"ender":"2",
"parent_callid":"8f6c1135-0374-4b8f-9b28-b61882eaa858",
"transfer_count":"0",
"type":"hangup",
"fee_duration":"0",
"caller_name":"汪潭",
"hold_flag":"0",
"customer_phone":"01052786225",
"customer_name":"张大仙",
"line_type":"27",
"consult_flag":"0",
"agent_start_time":"1555988119875",
"leavemsg_url":"",
"agent_end_time":"1555988179966",
"leavemsg_flag":"0",
"agent_number":"",
"customer_name":"",
"hold_down":"0",
"companyid":"efd6f48a6a534f5f9f3c336b797c6f16",
"group_name":"北京朝阳分部",
"queue_duration":"0",
"callerid":"ed3a2e4400db4c42bd8419ebf4fa9fa5",
"call_result":"21",
"queue_flag":"0",
"call_duration":"65",
"transfer_flag":"0",
"leavemsg_flag":"0",
"user_alerting_time":"1555988119985",
"listen_flag":"0",
"msg_type":"cdr",
"call_direction":"1",
"call_flag":"0",
"in_queue_time":"0",
"receive_staff_names":"汪潭,汪潭,汪潭",
"out_queue_time":"0",
"agent_alerting_time":"1555988114243",
"duration":"0",
"hanup_time":"1555988179918",
"staff_name":"汪潭",
"satisfy_str":"满意",
"alerting_duration":"65",
"start_time":"1555988114057",
"interval_duration":"0",
"direction":"1",
"parent_flag":"1",
"callid":"8f6c1135-0374-4b8f-9b28-b61882eaa858",
"queue_state":"1",
"record_url":"",
"hold_duration":"0",
"caller":"10100168",
"end_time":"1555988179966",
"abandon_flag":"0",
"receiveStaffIds":"ed3a2e4400db4c42bd8419ebf4fa9fa5,ed3a2e4400db4c42bd8419ebf4fa9fa5",
"staffid":"ed3a2e4400db4c42bd8419ebf4fa9fa5",
"params":"",
"user_answer_time":"0",
"satisfy_level":10,
"satisfy_lumber":0,
"satisfy_key":1,
"satisfy_str":"自定义满意度1",
}
]
}
# 7.3、推送通话详细信息
接口说明:
推送全部话详细信息
访问方式:
访问方式参照在线消息转发说明参数说明,点击此处跳转
content对象:
字段编码 | 字段名称 | 类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司ID | String | 是 | 适用一个公司多个超管帐号或者多个分公司需要分别统计的情况 |
departmentid | 组织权限id | String | 是 | |
groupid | 技能组id | String | 是 | |
group_name | 技能组名称 | String | 是 | |
agentid | 坐席id | String | 否 | 一个坐席对应一个agentid |
staff_emails | 客服Email | String | 是 | |
staff_name | 客服姓名 | String | 否 | |
customer_phone | 客户手机号 | String | 是 | |
customer_name | 客户姓名 | String | 否 | |
direction | 呼叫类型 | String | 是 | |
call_direction | 呼叫方向 | String | 是 | 呼叫类型,0(呼入),1(呼出) 11咨询客服,12咨询第三方,21转接咨询、22转接客服、23转接第三方,3监听、4强插通话、5强拆通话 |
start_time | 通话开始时间 | String | 是 | |
end_time | 通话结束时间 | String | 否 | 子话单没有该字段 |
call_way | 外呼方式 | String | 是 | 1网页电话,2sip话机,3手机 |
caller | 主叫号码 | String | 是 | |
callee | 被叫号码 | String | 是 | |
record_url | 通话记录录音地址 | String | 是 | |
callid | 通话id | String | 是 | 一组完整通话的唯一标识 |
parent_callid | 主通话记录id | String | 当主通话记录id不为空,并且与callId不同时,表示子话单,否则表示主话单 | |
fee | 费用 | String | 是 | |
fee_duration | 计费时长 | String | 是 | 单位:分钟 |
duration | 录音时长 | String | 是 | |
queue_duration | 排队时长 | String | 否 | |
agent_number | 坐席No | String | 是 | Voip账号 |
call_flag | 接听标识 | String | 是 | 0未接听,1已接听 |
ender | 挂断方 | String | 是 | 挂断方 0系统超时挂断,1客服挂断,2客户挂断 增加 3-转接挂断、4-强拆挂断、5-第三方挂断 |
call_result | 通话结果 | String | 是 | 10. 坐席接听11.振铃未接听12.ivr放弃13.排队放弃14.非服务时间来电15.呼入话机异常16.呼入网络异常17.排队超时18.客户速挂20.客户接听21.客户未接听25.呼出话机异常26.呼出网络异常781.客户拒接774.号码空号770.客户关机771.客户停机772.暂时无法接通773.客户正在通话 30第三方接听、31第三方无法接通(所有其他的因素)、32第三方振铃未接听(包括长时间无应答、第三方拒接) |
line_type | 线路类型 | String | 是 | |
agent_start_time | 坐席接听时间 | String | 是 | |
agent_end_time | 坐席挂机时间 | String | 是 | |
agent_alerting_time | 坐席振铃时间 | String | 是 | |
user_alerting_time | 坐席呼出用户 的振铃时间 | String | 是 | |
in_queue_time | 排队入队时间 | String | 是 | |
out_queue_time | 排队出队时间 | String | 是 | |
interval_end_time | 子话单的通话结束时间 | String | 是 | |
user_answer_time | 用户接听时间 | String | 是 | |
queue_flag | 是否有排队 | String | 是 | 0没有排队;1有排队 |
consult_flag | 是否有咨询 | String | 否 | 0-未咨询、1-咨询(默认0,只有咨询成功) |
transfer_flag | 是否有转接 | String | 否 | 0未转接; 1 转接咨询; 2 转接 |
listen_flag | 是否有监听 | String | 否 | 是否监听 0-无、1-被监听(默认0,只有成功被监听才算) |
hold_flag | 是否有保持 | String | 否 | 1.有保持0.没保持 |
hold_down | 取消保持 | String | 否 | |
hold_count | 保持次数 | String | 否 | |
consult_count | 咨询次数 | String | 否 | |
transfer_count | 转接次数 | String | 否 | |
leavemsg_flag | 留言标识 | String | 否 | 0-未留言,1-留言 |
leavemsg_url | 留言地址 | String | 否 | |
type | 结束 | String | 是 | "hangup" |
number_province | 电话归属地省份 | String | 是 | |
number_city | 电话归属地城市 | String | 是 | |
call_duration | 通话时长 | String | 是 | |
hold_duration | 保持时长 | String | 否 | |
alerting_duration | 振铃时长 | String | 是 | |
interval_duration | 子话单通话时长 | String | 是 | 从摘机开始算 |
params | 客户自定义字段 | String | 是 | |
satisfyNumber | 满意度字段 | int | 0(未评价);1;2;3;4;5。 * 1 非常不满意,2不满意,3一般,4满意,5非常满意 | |
satisfy_level | 满意度类型 | int | 否 | 0:未开启满意度,2:二级满意度,3:三级满意度,5:五级满意度,10:自定义满意度 |
satisfy_str | 满意度名称 | string | 否 | 未评价,非常不满意,不满意,一般,满意,非常满意,自定义满意度1,自定义满意度2,自定义满意度3,自定义满意度4,自定义满意度5,自定义满意度6 |
satisfy_key | 满意度按键 | int | 否 | 0:未评价 1,2,3,4,5,6 |
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
sys_code | String | 是 | 产品编码 | 30 |
type | String | 是 | 消息类型 | subcalllog |
content | List | 是 | 消息内容 |
返回参数:
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
请求参数示例:
{
"sys_code":"30",
"type":"subcalllog",
"content":[
{
"staff_name":"谷岳zhen",
"callid":"f4326768-1070-44bf-8bb3-c07a018c3c85",
"interval_duration":"0",
"hold_duration":"0",
"queue_duration":"0",
"callee":"18810365733",
"fee":"0.0",
"fee_duration":"0",
"interval_end_time":"0",
"agent_end_time":"1576047630724",
"ender":"2",
"type":"hangup",
"call_flag":"0",
"number_province":"北京",
"companyid":"457ad899bfde432d9fe480ec6f010e5a",
"agent_alerting_time":"0",
"agentid":"58755c771d294871a78a0c8dec2d1c5e",
"staff_emails":"1_test@sobot.com",
"satisfy_str":"满意",
"group_name":"14",
"groupid":"626632d761be4da2a33c7f26f6e50b41_15",
"customer_phone":"18810365733",
"consult_count":"0",
"transfer_flag":"0",
"start_time":"1576047630624",
"listen_flag":"0",
"call_way":"3",
"out_queue_time":"0",
"hold_count":"0",
"hold_down":"0",
"call_duration":"0",
"consult_flag":"0",
"duration":"0",
"number_city":"北京",
"record_url":"",
"user_answer_time":"0",
"line_type":"68",
"direction":"1",
"queue_flag":"0",
"alerting_duration":"0",
"user_alerting_time":"0",
"parent_callid":"f4326768-1070-44bf-8bb3-c07a018c3c85",
"leavemsg_url":"0",
"call_direction":"1",
"departmentid":"457ad899bfde432d9fe480ec6f010e5a",
"end_time":"1576047630873",
"in_queue_time":"0",
"caller":"15011296067",
"hold_flag":"0",
"transfer_count":"0",
"agent_start_time":"0",
"leavemsg_flag":"0",
"params":"",
"call_result":"26",
"satisfy_level":10,
"satisfy_number":0,
"satisfy_key":1,
"satisfy_str":"自定义满意度1",
}
]
}
# 7.4、批量查询通话记录
接口说明:通过批量通话id查询通话记录
访问方式:
POST https://www.sobot.com/comm-open/api/call/{soft_version}/record/callid_list
请求参数:
字段编码 | 字段名称 | 类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | |
appid | 应用id | string | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
callid_list | 通话id | list | 否 | 通话id集合,最多1000个 |
start_time | 开始时间 | string | 是 | 查询通话记录的开始时间(yyyy-MM-dd HH:mm:ss) 不填默认最近24小时 |
end_time | 结束时间 | string | 是 | 查询通话记录结束时间点(yyyy-MM-dd HH:mm:ss) 不填默认最近24小时 |
返回参数:
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
items | 返回对象 | List | 详看下表 |
total_count | 返回数量 | int | 查询结果数量 |
Items参数详解:
字段编码 | 字段名称 | 类型 | 可空 | 备注说明 |
---|---|---|---|---|
agentid | 呼叫坐席id | string | 是 | |
companyid | 公司id | string | 是 | - |
departmentid | 组织权限id | string | 是 | - |
id | 通话记录id | string | 否 | - |
parent_call_recordid | 主通话id | string | 否 | 对于主话单:parent_call_recordid = id |
agent_ring_time | 振铃时间 | long | 是 | 坐席振铃时间,如果空表示用户来点还没转到坐席就挂掉了,时间戳格式 |
agent_ring_time_str | 振铃时间 | string | 是 | 同上,只是时间格式是字符串类型 |
agent_hungup_time | 坐席挂机时间 | long | 否 | - |
agent_hungup_time_str | 坐席挂机时间 | string | 否 | - |
agent_answer_time | 坐席接听时间 | long | 否 | - |
agent_answer_time_str | 坐席接听时间 | string | 否 | - |
ring_time_duration | 振铃时长 | long | 是 | 单位秒 |
businessid | 服务总结所属业务id | string | 是 | - |
business_name | 业务名称 | string | 是 | 服务总结所属业务名称 |
business_typeid | 业务类型id | string | 是 | 服务总结所属业务类型id |
business_type_name | 业务类型名称 | string | 是 | 服务总结所属业务类型名称 |
bussiness_type_pathid | 业务类型路径id | string | 是 | 服务总结所属业务类型路径id |
bussiness_type_path_name | 业务类型路径名称 | string | 是 | 服务总结所属业务类型路径名称 |
call_duration | 通话总时长 | int | 是 | |
call_flag | 接听标示 | int | 否 | 0未接听,1已接听 |
callid | 通话id | string | 否 | - |
call_result | 通话结果 | int | 否 | 10. 坐席接听11.振铃未接听12.ivr放弃13.排队放弃14.非服务时间来电15.呼入话机异常16.呼入网络异常17.排队超时18.客户速挂20.客户接听21.客户未接听25.呼出话机异常26.呼出网络异常781.客户拒接774.号码空号770.客户关机771.客户停机772.暂时无法接通773.客户正在通话 30第三方接听、31第三方无法接通(所有其他的因素)、32第三方振铃未接听(包括长时间无应答、第三方拒接) |
call_succ | 通话结果 | boolean | 否 | 通话结果使用 |
call_way | 接听方式 | int | 否 | 1网页电话,2sip话机,3手机 |
callee | 被叫号码 | string | 是 | - |
calleeid | 被叫人id | string | 是 | 可能是坐席或已知用户id |
callee_name | 被叫人姓名 | string | 是 | - |
caller | 主叫号码 | string | 否 | - |
callerid | 主叫人id | string | 是 | 可能是坐席或已知用户id |
caller_name | 主叫人名称 | string | 是 | - |
call_type | 呼叫类型 | int | 否 | 0(呼入),1(呼出)、11(咨询客服),12(咨询第三方),21(转接咨询)、22(转接客服)、23(转接第三方),3(监听)、4(强插通话)、5(强拆通话) |
call_direction | 呼叫方向 | int | 否 | 0(呼入),1(呼出) |
duration | 录音时长 | long | 否 | - |
end_time | 结束时间 | long | 否 | 整个呼叫服务通话结束时间 |
end_time_str | 结束时间 | string | 是 | 整个呼叫服务通话结束时间 |
ender | 挂断方 | int | 否 | 0 系统超时挂断,1客服挂断,2客户挂断 |
enter_group_flag | 是否进入队列 | Int | 否 | 0 否 1 是 |
exist_flag | 是否已知用户 | int | 否 | 0:未知用户,1:已知用户 |
fee | 费用 | double | 否 | 通话产生的费用 |
fee_duration | 计费时长 | long | 否 | 计费时长, 单位:分钟 |
groupid | 技能组id | string | 是 | 呼叫时使用的技能组 |
group_name | 技能组名称 | string | 是 | - |
group_type | 否为电销组 | int | 否 | 2.普通3.电销 |
handle_status | 服务总结 | int | 否 | -1 未处理 0 未解决 1 已解决 |
hidden_flag | 否隐藏号码 | int | 否 | 0.不隐藏 1.中间隐藏2.末尾隐藏 |
hold | 保持 | int | 否 | 1.有保持0.没保持 |
hold_count | 保持次数 | int | 否 | - |
hold_time | 保持持续时间 | long | 否 | - |
in_queue_time | 排队入队时间 | long | 是 | - |
in_queue_time_str | 排队入队时间 | string | 是 | - |
out_call_in_task_flag | 电销任务外呼 | int | 否 | 是否是外呼任务 0否1是 |
queue_flag | 是否有排队 | int | 否 | 0没有排队;1有排队 |
nick | 昵称 | string | 否 | 客户昵称 |
number_city | 电话归属地城市 | string | 否 | - |
number_provice | 电话归属地省份 | string | 否 | - |
out_queue_time | 排队出队时间 | long | 是 | - |
out_queue_time_str | 排队出队时间 | string | 是 | - |
quality_status | 是否质检 | int | 否 | 0未质检 1质检过 |
queue_duration | 排队时长 | long | 否 | - |
queue_state | 排队状态 | int | 否 | 1.未排队 2.排队成功 3.排队超时 4.排队离开 (排队放弃=3+4) |
receive_staffids | 接待客服id | string | 是 | 按时间先后排,逗号隔开,有转接的 |
receive_staff_names | 接待客服名字 | string | 是 | 按时间先后排,逗号隔开 |
remarks | 备注 | string | 是 | - |
satisfy_level | 满意度级别 | int | 否 | 0:未开启满意度,2:二级满意度,3:三级满意度,5:五级满意度,10:自定义满意度 |
satisfy_value | 满意度名称 | string | 否 | 未评价,非常不满意,不满意,一般,满意,非常满意,自定义满意度1,自定义满意度2,自定义满意度3,自定义满意度4,自定义满意度5,自定义满意度6 |
satisfy_key | 满意度按键 | int | 否 | 0:未评价 1,2,3,4,5,6 |
service_email | 坐席账号 | string | 是 | - |
staffid | 坐席id | string | 是 | - |
staff_name | 坐席名称 | string | 是 | - |
start_time | 开始时间 | long | 否 | 呼叫开始时间 |
start_time_str | 开始时间 | string | 否 | 呼叫开始时间 |
summary_staff_name | 坐席名称 | string | 是 | 记录服务总结的坐席名称 |
summary_update_time | 更新时间 | long | 是 | 更新服务总结的时间 |
summary_update_time_str | 更新时间 | string | 是 | 更新服务总结的时间 |
taskid | 任务id | string | 否 | 通过电销任务外呼的任务id |
transfer_count | 转接次数 | int | 是 | - |
transfer_flag | 是否转接 | int | 是 | 0=未转接 1= 转接咨询 2= 转接 |
unhold | 保持 | int | 是 | 1.正常取消 0.没有取消 |
user_ring_time | 振铃时间 | long | 是 | 坐席呼出用户 的振铃时间 |
user_ring_time_str | 振铃时间 | string | 是 | 坐席呼出用户 的振铃时间 |
user_answer_time | 应答时间 | long | 是 | 外呼时用户应答时间 |
user_answer_time_str | 应答时间 | string | 是 | 外呼时用户应答时间 |
user_companyid | 客户公司id | string | 是 | 已知用户所在公司id |
user_company_name | 客户公司名称 | string | 是 | 已知用户所在公司名称 |
userid | 客户id | string | 是 | 已知用户id |
user_name | 客户名称 | string | 是 | 已知用户名称 |
voice_aliyun_url | 录音地址 | string | 是 | 接通的有值 |
page_count | 页数 | int | 是 | - |
page_no | 当前页数 | int | 是 | - |
page_size | 每页条数 | int | 是 | 建议不要大于15 |
total_count | 总条数 | int | 是 | - |
consult_flag | 是否咨询 | Int | 否 | 0-未咨询、1-咨询(默认0,只有咨询成功) |
consult_count | 咨询次数 | Int | 是 | - |
leave_msg_flag | 留言标识 | Int | - | 0-未留言,1-留言 |
leave_msg_url | 留言地址 | string | - | - |
params | 客户自定义字段 | string | - | - |
interval_duration | 坐席通话时长 | long | 是 | - |
abandon_flag | 是否存在ivr放弃 | string | - | 0 无;1 是 |
agent_wait_duration | 客服等待时长 | string | - | 客服话机振铃接起到分配了客户电话接通的等待时长 |
appid | 应用id | String | - | - |
break_down_succ_time | 强插后强拆成功的时间 | String | - | 没有强插强拆则为0 |
break_in_succ_time | 强插时间 | String | - | 监听后强插成功的时间,只有呼叫类型为强插通话记录,没有强插强拆则为0 |
disNumber | 外显号码 | String | - | - |
请求示例:
{
"companyid":"aa8ce5f7c37244a0a241827e26e34653",
"appid":"0aa8128b56ea499196e5caaadbb1744f",
"callid_list":["0bcd784c-8f5f-11ea-9f2f-f52f48e3b0b1"],
"start_time":"2020-04-07 00:00:00",
"end_time":"2020-05-06 23:59:59"
}
返回示例:
{
"ret_code": "000000",
"ret_msg": "查询成功",
"items": [
{
"abandon_flag": "0",
"agent_answer_time": 1697447810422,
"agent_answer_time_str": "20231016171650422",
"agent_hungup_time": 1697447825792,
"agent_hungup_time_str": "20231016171705792",
"agent_ring_time": 1697447806061,
"agent_ring_time_str": "20231016171646061",
"agent_wait_duration": "0",
"agentid": "969a7ee9fd4c42f48171b0128df2f16c",
"appid": "a4b246c8b67e4543b3b870ce62f75546",
"break_down_succ_time": "0",
"break_in_succ_time": "0",
"business_name": "",
"business_type_name": "",
"business_typeid": "",
"businessid": "",
"bussiness_type_path_name": "",
"bussiness_type_pathid": "",
"call_direction": 0,
"call_duration": 36,
"call_flag": 1,
"call_result": 10,
"call_succ": true,
"call_type": 0,
"call_way": 1,
"callee": "01051393529",
"callee_name": "guyue/\\真11",
"calleeid": "969a7ee9fd4c42f48171b0128df2f16c",
"caller": "17611580507",
"caller_name": "",
"callerid": "",
"callid": "b04e4b64-6c04-11ee-803d-2dd6afeb54d0",
"companyid": "1eae128b7e394aedafd28828bfa84767",
"consult_count": 0,
"consult_flag": 0,
"departmentid": "1eae128b7e394aedafd28828bfa84767|023fd296cb6f430596644520a723a25e",
"disNumber": "01051393529",
"duration": 15,
"end_time": 1697447825792,
"end_time_str": "20231016171705792",
"ender": 2,
"enter_group_flag": 1,
"exist_flag": 0,
"fee": 0.0,
"fee_duration": 0,
"group_name": "谷岳技能组",
"group_type": 2,
"groupid": "1eae128b7e394aedafd28828bfa84767_42",
"handle_status": -1,
"hidden_flag": 0,
"hold": 0,
"hold_count": 0,
"hold_time": 0,
"in_queue_time": 0,
"in_queue_time_str": "",
"interval_duration": 15,
"leave_msg_flag": 0,
"leave_msg_url": "",
"nick": "",
"number_city": "北京",
"number_provice": "北京",
"out_call_in_task_flag": 0,
"out_queue_time": 0,
"out_queue_time_str": "",
"page_count": 0,
"page_no": 0,
"page_size": 0,
"params": "",
"parent_call_recordid": "b04e4b64-6c04-11ee-803d-2dd6afeb54d0",
"quality_status": 0,
"queue_duration": 0,
"queue_flag": 0,
"queue_state": 1,
"receive_staff_names": "guyue/\\真11,guyue/\\真11",
"receive_staffids": "969a7ee9fd4c42f48171b0128df2f16c,969a7ee9fd4c42f48171b0128df2f16c",
"remarks": "",
"ring_time_duration": 4,
"satisfy_key": "0",
"satisfy_level": 5,
"satisfy_value": "未评价",
"service_email": "xianshang@zhichi.com",
"staff_name": "guyue/\\真11",
"staffid": "969a7ee9fd4c42f48171b0128df2f16c",
"start_time": 1697447789093,
"start_time_str": "20231016171629093",
"summary_staff_name": "",
"summary_update_time": 0,
"summary_update_time_str": "",
"taskid": "",
"total_count": 0,
"transfer_count": 0,
"transfer_flag": 0,
"unhold": 0,
"user_answer_time": 0,
"user_answer_time_str": "",
"user_company_name": "",
"user_companyid": "",
"user_name": "",
"user_ring_time": 0,
"user_ring_time_str": "",
"userid": "",
"voice_aliyun_url": "https://img.sobot.com/pass/record/1eae128b7e394aedafd28828bfa84767/a4b246c8b67e4543b3b870ce62f75546/20231016/b04e4b64-6c04-11ee-803d-2dd6afeb54d0.wav"
}
],
"total_count": 1
}
# 7.5 查询最终推送失败的通话详细信息
接口说明 :
查询请求《推送通话详细信息》API,多次推送都失败的通话详细信息(包含主话单或子话单最终失败记录都会被查询到)。用于查询推送失败消息记录详细信息,其中dataType默认为subcalllog类型,返回结果集是按照消息发送时间倒叙排序。请求及响应报文格式采用JSON格式
调用方式
POST http://www.sobot.com/comm-open/api/call/5/record/getDataPushResult
请求参数:
字段编码 | 字段名称 | 字段类型 | 长度 | 可空 | 备注说明 |
---|---|---|---|---|---|
company_id | 公司id | string | 否 | 公司id | |
start_time | 通话开始时间 | string | 否 | 格式示例:1603814400000 | |
end_time | 通话结束时间 | string | 否 | 格式示例:1606752000000 | |
page | 页数 | Integer | 否 | 当前页数 | |
size | 条数 | Integer | 否 | 每页显示条数,默认为12 | |
app_id | 应用id | string | 否 | ||
token | token令牌 | string | 否 | 用户在智齿平台获取的令牌 |
返回参数:
字段编码 | 字段名称 | 字段类型 | 长度 | 可空 | 备注说明 |
---|---|---|---|---|---|
ret_code | 返回编码 | string | 10 | 否 | 000000成功,其他失败 |
ret_msg | 返回提示信息 | string | 否 | 成功与错误提示 | |
items | 推送失败消息集合 | string | 是 | 详解参照下表 | |
page_count | 总页数 | int | 否 | 总页数 | |
page_no | 当前页 | int | 否 | 当前是总页数中的第几页 | |
page_size | 条数 | int | 否 | 每页显示条数,默认是12 | |
total_count | 总条数 | int | 否 | 显示的是所有数据的总条数,而非当前页的总条数 |
items参数详解
字段编码 | 字段名称 | 字段类型 | 可空 | 备注说明 |
---|---|---|---|---|
company_id | 公司id | string | 否 | |
data_content | 推送的每条消息 | string | 否 | 对应推送时报文中的content字段 |
data_type | 推送的类型 | string | 否 | 对应推送时报文中的type字段,如subcalllog |
date_time | 通话开始时间 | long | 否 | 格式示例:1603814400000 |
resp_code | 回复编码 | string | 否 | 目前用不到 |
resp_content | 客户的响应报文内容 | string | 否 | |
send_content | 推送内容总汇 | string | 否 | 是一个数组,以字符串形式展示,汇聚了所有信息,包括content,type等 |
send_time | 消息推送时间 | long | 否 | 格式示例:1603814400000 |
status_code | 响应码 | int | 否 | http响应码,如404 |
unique_id | 对应通话id | string | 否 | 通话记录推送,对应的是通话id |
app_id | 应用id | String | 否 |
send_content参数详情请参照7.3
返回示例:
{
"items": [
{
"company_id": "XXXX",
"data_content": "XXXX",
"data_type": "XXXX",
"date_time": "XXXX",
"resp_code": "XXXX",
"resp_content": "...",
"send_content": "......",
"send_time": "XXXX",
"status_code": "XXXX",
"unique_id": "XXXX",
"app_id": "XXXX"
}
],
"page_count": 3,
"page_no": 1,
"page_size": 12,
"ret_code": "000000",
"ret_msg": "查询成功",
"total_count": 35
}
# 7.6 推送服务总结信息
接口说明 :
该接口存在比通话记录先推送数据的情况,建议用户单独保存服务总结的数据,通过关联字段callid联合查询通话记录表,展现完整信息。同时此接口存在多次推送的场景,请调用方判断同一个callid是否重复推送服务总结(服务总结多次修改的场景)。
访问方式
访问方式参照在线消息转发说明参数说明,点击此处跳转
content对象字段说明:
字段编码 | 字段名称 | 类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司ID | String | 否 | 适用一个公司多个超管帐号或者多个分公司需要分别统计的情况 |
appid | 应用ID | String | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
callid | 通话ID | String | 否 | 一组完整的通话的唯一标识 |
agentid | 操作客服ID | String | 否 | |
staff_name | 客服姓名 | String | 是 | |
staff_emails | 客服邮箱 | String | 是 | |
staff_phone | 客服手机 | String | 是 | |
oper_time_str | 操作时间 | String | 否 | |
handle_status | 服务总结 | Int | 否 | -1 未处理 0 未解决 1 已解决 |
remarks | 备注 | String | 是 | |
businessid | 服务总结所属业务ID | String | 是 | |
business_name | 业务名称 | String | 是 | 服务总结所属业务名称 |
business_type_id | 业务类型ID | String | 是 | 服务总结所属业务类型ID |
business_type_name | 业务类型名称 | String | 是 | 服务总结所属业务类型名称 |
bussiness_type_path_id | 业务类型路径ID | String | 是 | 服务总结所属业务类型路径ID |
bussiness_type_path_name | 业务类型路径名称 | String | 是 | 服务总结所属业务类型路径名称 |
caller | 主叫号码 | String | 否 | |
callee | 被叫号码 | String | 否 | |
custom_field_array | 自定义字段对象<数组> | Array | 是 | 返回多个自定义字段的名称和值 |
custom_field_array对象字段说明:
字段编码 | 字段名称 | 类型 | 可空 | 备注说明 |
---|---|---|---|---|
fieldName | 服务总结自定义字段名称 | String | 是 | |
fieldValue | 服务总结自定义字段值 | String | 是 |
请求报文字段说明:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
sys_code | String | 是 | 产品编码 | 30 |
type | String | 是 | 消息类型 | callSummary |
content | String | 是 | 消息内容 |
返回报文字段说明:
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | String | 000000成功 其余均失败 |
ret_msg | 返回信息 | String | 返回信息 |
请求示例:
{
"sys_code":"30",
"type":"callSummary",
"content":[
{
"callid":"605810b4-b279-4ef2-818a-281d78493b60",
"staff_name":"测试A",
"business_name":"新业务单元1",
"bussiness_type_path_id":"1620726115065",
"agentid":"fbc0ef5c7fd54f38b7b9d79cf5ed1582",
"bussiness_type_path_name":"新问题类型1",
"staff_emails":"wangxf@sobot.com",
"callee":"15210818952",
"businessid":"1600257646843",
"business_type_name":"新问题类型1",
"caller":"01021755123",
"companyid":"36b0f8eb2de948d99e89c8f0c3d92e68",
"staff_phone":"10000000000",
"custom_field_array":[
{
"fieldName":"服务总结自定义字段,非必填字段非必填字段",
"fieldValue":"自定义字段1"
},
{
"fieldName":"服务总结自定义字段,必填字段必填字段22",
"fieldValue":"自定义字段2"
}
],
"appid":"29d5c15f38ae48c9bb01ad123988a03c",
"handle_status":1,
"remarks":"备注",
"business_type_id":"1620726115065",
"oper_time_str":"2021-05-11 17:48:04"
}
]
}
返回示例:
{
"ret_code": "000000",
"ret_msg": "消息接收成功"
}
# 8、监控管理
# 8.1、批量坐席状态查询
接口说明:
按appId查询坐席当前的登录、通话中等状态,主要用于自定义监控坐席状态功能
请求及响应报文格式采用JSON格式
访问方式:
POST https://www.sobot.com/comm-open/api/call/5/call/query_all_agent_state
请求参数:
字段编码 | 字段名称 | 类型 | 可空 |
---|---|---|---|
companyid | 公司id | string | 否 |
appid | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid | string | 否 |
agents | 要查询的坐席id数组,不传默认查询appid下所有的坐席状态,数组中坐席id不能超过1000个 | String[] | 是 |
返回参数:
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
items | 返回对象 | Object[] | 详看下表 |
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
companyid | 公司id | string | |
agentid | 坐席id | string | |
agent_state | 坐席状态 | string | -1为离线,0为忙碌(忙碌时根据basyCause判定具体是属于什么类型,115代表后处理状态),1为空闲,3为通话接通中,99为异常 |
appid | 应用id | string | |
call_way | 登录方式 | string | 登录方式:2SIP话机;3手机方式 |
agent_name | 坐席名称 | string | |
busy_cause | 置忙原因 | string |
请求示例:
{
"companyid": "6fa94a074b8646b38f6f5decc7580fe7",
"appid": "3186d4c82ab7421ea36d36fcac9cdbbe",
// agents字段选填,不传默认查询appid下所有坐席的状态
"agents": ["49fcb97d2f9a4b69a9aa9a344dc3bc83","279c06647f814a2ebae0212e4c5faaf2","51a68c2376aa4f4e81deb20f9f5b9f9f","51a68c2376aa4f4e81deb"]
}
返回示例:
{
"items": [
{
"agent_name": "9q",
"agent_state": "1",
"agentid": "279c06647f814a2ebae0212e4c5faaf2",
"appid": "3186d4c82ab7421ea36d36fcac9cdbbe",
"busy_cause": "",
"call_way": "2",
"companyid": "6fa94a074b8646b38f6f5decc7580fe7"
},
{
"agent_name": "2q",
"agent_state": "1",
"agentid": "49fcb97d2f9a4b69a9aa9a344dc3bc83",
"appid": "3186d4c82ab7421ea36d36fcac9cdbbe",
"busy_cause": "",
"call_way": "2",
"companyid": "6fa94a074b8646b38f6f5decc7580fe7"
},
{
"agent_name": "3q",
"agent_state": "-1",
"agent_type": "2",
"agentid": "51a68c2376aa4f4e81deb20f9f5b9f9f",
"appid": "3186d4c82ab7421ea36d36fcac9cdbbe",
"busy_cause": "",
"companyid": "6fa94a074b8646b38f6f5decc7580fe7"
}
],
"ret_code": "000000",
"ret_msg": "success"
}
# 9、呼叫质检管理
详见质检模块,点击此处跳转
# 10、联系计划
# 10.1、新建联系计划
接口说明:
接口类型:主动调用接口
接口作用:可通过调用该接口来新建联系计划。
访问方式:
POST https://www.sobot.com/comm-open/api/call/5/plan/add_plan
请求参数:
字段编码 | 字段名称 | 类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | |
appid | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid | string | 否 | |
task_name | 联系计划名称 | string | 否 | |
service_email | 账号 | string | 否 | |
plan_time | 联系计划时间 | string | 否 | 平台中的联系计划预约时间,格式:yyyy-MM-dd HH:mm:ss |
remind_time | 提醒时间 | string | 否 | 距离预约时间是提醒(分钟) |
remarks | 备注 | string | 否 | 联系计划备注 |
customer_phone_number | 客户号码 | string | 否 | 需要提醒的用户号码 |
agentid | 坐席id | string | 否 |
返回参数:
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
item | 返回对象 | Object | 详看下表 |
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
customer_phone_number | 用户号码 | string | 需要提醒的用户号码 |
hidden_flag | 号码隐藏 | string | 0.不隐藏 1.中间隐藏2.末尾隐藏 |
plan_time | 联系计划时间 | long | 联系计划时间(时间戳) |
remarks | 备注 | string | 联系计划的备注 |
remind_time | 提醒时间 | string | 距离预约时间是提醒(分钟) |
task_name | 计划名称 | string | - |
请求示例:
{
"companyid": "e59a230a84ba4cee8c40e6e0b00b256a",
"agentid": "a4249592a261472ab52c378cd78d475c",
"appid": "14665833144b4bb28f605d6021475fd7",
"service_email": "9q@sobot.com",
"task_name": "123123",
"plan_time": "2019-12-12 00:00:00",
"remind_time": "100",
"remarks": "test",
"customer_phone_number": "13800138000"
}
返回示例:
{
"ret_code": "000000",
"ret_msg": "添加成功",
"item": {
"customer_phone_number": "13800138000",
"hidden_flag": 0,
"plan_time": 1576080000,
"remarks": "test",
"remind_time": "100",
"task_tame": "123123",
}
}
# 11、电销业务
# 11.1、添加电销任务
接口说明:
请求及响应报文格式采用JSON格式
访问方式:
POST https://www.sobot.com/comm-open/api/call/5/tms/add_task
请求参数:
字段编码 | 字段名称 | 类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | |
appid | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid | string | 否 | |
agentid | 坐席id | string | 否 | |
task_name | 任务名称 | string | 否 | |
task_desc | 任务描述 | string | 否 | |
task_time_type | 任务类型 | int | 否 | 1.永久2.自定义 |
task_start_time | 开始时间 | string | 是 | 任务开始时间(自定义时必填格式为13位时间戳) |
task_end_time | 结束时间 | string | 是 | 任务结束时间(自定义时必填格式为13位时间戳) |
hidden_flag | 号码隐藏 | int | 否 | 任务中号码是否隐藏0.不隐藏 1.中间隐藏2.末尾隐藏 |
返回参数:
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
item | 返回对象 | Object | 详看下表 |
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
companyid | 公司id | string | |
create_time | 创建时间 | long | 时间戳 |
createrid | 坐席id | string | 创建电销任务坐席id |
creater_name | 坐席名称 | string | 创建电销任务坐席名称 |
departmentid | 组织权限id | string | 此值暂无使用 |
hidden_flag | 号码隐藏 | int | 任务中号码是否隐藏0.不隐藏 1.中间隐藏2.末尾隐藏 |
task_desc | 描述 | string | 电销任务描述 |
task_end_time | 到期时间 | long | 电销任务结束时间(时间戳) |
taskid | 任务id | string | 电销任务id |
task_name | 任务名称 | string | 电销任务名称 |
task_start_time | 任务开始时间 | long | 电销任务开始时间(时间戳) |
task_time_type | 任务类型 | int | 1.永久2.自定义 |
update_time | 任务跟新时间 | long |
请求示例:
{
"agentid": "8406faf259b94a3e8a753f82715ab671",
"appid": "3186d4c82ab7421ea36d36fcac9cdbbe",
"companyid": "6fa94a074b8646b38f6f5decc7580fe7",
"hidden_flag": 0,
"task_desc": "测试任务",
"task_end_time": "1576139200000",
"task_name": "test",
"task_start_time": "1576133200000",
"task_time_type": 1
}
返回示例:
{
"ret_code": "000000",
"ret_msg": "成功",
"item": [{
"companyid": "626632d761be4da2a33c7f26f6e50b41",
"create_time": 1575428296,
"createrid": "80ecc892384b4f03b62176d6654ef2e9",
"creater_name": "name1",
"departmentid": "80ecc892384b4f03b62176d6654ef2e9",
"display_type": 0,
"hidden_flag": 0,
"task_create_time": 1575464573374,
"task_desc": "123",
"task_end_time": 1578067199999,
"taskid": "80ecc892384b4f03b62176d6654ef2e9",
"task_name": "test",
"task_start_time": 1575388800000,
"task_status": 2,
"task_time_type": 1
}]
}
# 11.2、外呼任务导入数据
接口说明:
请求及响应报文格式采用Content-Type: multipart/form-data格式
导入号码时,系统会自动去除重复号码。用户可在云客服系统右上角的「任务队列」中查看去重详情。
号码去重有以下2种情况:
1、导入号码与任务中已有号码重复。「任务队列」提示「第x行,号码已在当前任务中存在」;
2、导入号码表格本身存在重复号码。「任务队列」提示「第x行,本次导入的数据中该号码重复」。
同时系统会默认保留重复号码中第一个导入的号码。
访问方式:
POST https://www.sobot.com/comm-open/api/call/5/tms/import_data
请求参数:
字段编码 | 字段名称 | 类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | |
appid | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid | string | 否 | |
agentid | 坐席id | string | 否 | |
task_name | 任务名称 | string | 否 | 任务名称 |
taskid | 任务id | string | 否 | 电销任务id |
hidden_flag | 号码隐藏 | int | 否 | 任务中号码是否隐藏0.不隐藏 1.中间隐藏2.末尾隐藏 |
file | 文件 | file | 否 | 上传excel文件 |
返回参数:
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
请求Headers:
token: 91f1aa728d75445793abf5b82325f657
请求示例:
请求Headers:
token: 91f1aa728d75445793abf5b82325f657
请求示例:
------WebKitFormBoundarykm1L3TCmOvV4grO0 Content-Disposition: form-data; name="taskid"
3bd55a4d30714db28b3db2f0f9b2ba21
------WebKitFormBoundarykm1L3TCmOvV4grO0 Content-Disposition: form-data; name="task_name" test
------WebKitFormBoundarykm1L3TCmOvV4grO0 Content-Disposition: form-data; name="file"; filename="模板副本.xls" Content-Type: application/vnd.ms-excel
------WebKitFormBoundarykm1L3TCmOvV4grO0 Content-Disposition: form-data; name="hidden_flag" 0
------WebKitFormBoundarykm1L3TCmOvV4grO0 Content-Disposition: form-data; name="companyid"
6fa94a074b8646b38f6f5decc7580fe7
------WebKitFormBoundarykm1L3TCmOvV4grO0 Content-Disposition: form-data; name="appid"
3186d4c82ab7421ea36d36fcac9cdbbe
------WebKitFormBoundarykm1L3TCmOvV4grO0 Content-Disposition: form-data; name="agentid"
8406faf259b94a3e8a753f82715ab671
------WebKitFormBoundarykm1L3TCmOvV4grO0--
返回示例:
{
"ret_code": "000000",
"ret_msg": "后台处理中,请到任务队列查看处理结果!"
}
# 11.3、外呼任务添加数据
接口说明:
请求及响应报文格式采用JSON格式。通过接口创建外呼任务后,延迟几秒后再调用此接口
导入号码时,系统会自动去除重复号码。用户可在云客服系统右上角的「任务队列」中查看去重详情。
号码去重有以下2种情况:
1、导入号码与任务中已有号码重复。「任务队列」提示「第x行,号码已在当前任务中存在」;
2、导入号码表格本身存在重复号码。「任务队列」提示「第x行,本次导入的数据中该号码重复」。
同时系统会默认保留重复号码中第一个导入的号码。
访问方式:
POST https://www.sobot.com/comm-open/api/call/5/tms/add_data
请求参数:
字段编码 | 字段名称 | 类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | |
appid | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid | string | 否 | |
agentid | 坐席id | string | 否 | |
taskid | 任务id | string | 否 | |
titles | 列名称 | string | 否 | 自定义每一列的标题名称 |
hidden_flag | 号码隐藏 | int | 是 | 任务中号码是否隐藏0.不隐藏 1.中间隐藏2.末尾隐藏,不填默认为0 |
details | 外呼任务数据列表 | Array | 否 | 数组字段见下表 |
details参数
字段编码 | 字段名称 | 类型 | 可空 | 备注说明 |
---|---|---|---|---|
service_email | 客服账号 | string | 否 | 客服账号,此帐号一定要是正确的客服账号且与token实在同一个公司,如果有值将会分配到此帐号下的任务中 |
call_number | 电话号码 | string | 否 | 导入的号码 |
cus_field | 列名 | string | 否 | 自定义列中的内容,每列以逗号隔开,此处个数要与自定义标题列个数相对应 |
返回参数:
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
请求示例:
{
"agentid": "279c06647f814a2ebae0212e4c5faaf2",
"companyid": "6fa94a074b8646b38f6f5decc7580fe7",
"taskid": "ffc92f8df5434f83b59f3f75683125d5",
"titles": "测试字段1,测试字段2",
"hidden_flag": 0,
"details": [
{
"call_number": "13800138000",
"cus_field": "测试1,测试2",
"service_email": "9q@sobot.com"
},
{
"call_number": "13100000000",
"cus_field": "测试3,测试4",
"service_email": "9q@sobot.com"
}
]
}
返回示例:
{
"ret_code": "000000",
"ret_msg": "成功导入2条数据"
}
# 12、第三方接口调用说明
# 12.1、IVR信息交互验证接口
接口说明:
智齿呼叫中心IVR将采集到用户输入的交互数据上报给企业客户
访问方式:
智齿以POST请求方式,向客户配置的数据接收地址上发送数据
请求参数:
字段编码 | 字段名称 | 类型 | 可空 | 备注说明 |
---|---|---|---|---|
secretKey | 密钥 | string | 否 | 客户在智齿ivr流程页面配置的密钥 |
phoneNo | 来电号码 | string | 否 | 来电号码 |
content | 输入内容 | string | 否 | 用户输入内容 |
返回参数:
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
retCode | 返回编码 | string | 000000成功;999999 失败 |
retMsg | 返回信息 | string | 返回信息 |
请求示例:
http://www.xxxxx.com/data-service/sobotData?secretKey=f31a81e91afdcf0b84dfee82ec2fb196&phoneNo=186123467890&content=3112123
返回示例:
{
"retCode": "000000",
"retMsg": "成功"
}
# 12.2、智能路由-调用第三方CRM指定坐席接口
接口说明:
在智能路由中设置指定坐席优先接听时,可通过调用第三方CRM接口,获取客户与坐席的指定关系
访问方式:
智齿以 POST请求方式,调用客户CRM系统
请求参数:
字段编码 | 字段名称 | 类型 | 可空 | 备注说明 |
---|---|---|---|---|
secretKey | 密钥 | string | 否 | 客户在智齿ivr流程页面配置的密钥 |
phoneNo | 来电号码 | string | 否 | 来电号码 |
返回参数:
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
retCode | 返回编码 | string | 000000成功;999999 失败 |
retMsg | 返回信息 | string | |
phoneNo | 来电号码 | string | |
serviceEmail | 客服邮箱账号 | string | 客服邮箱账号(可以登录智齿呼叫中心的客服邮箱账号,可联系售后人员获取) |
请求示例:
http://www.xxxxx.com/crm-service/sobotData?secretKey=f31a81e91afdcf084dfee82ec2fb196&phoneNo=186123467890
返回示例:
{
"retCode":"000000",
"phoneNo":"186123467890",
"serviceEmail":"zhangsan@sobot.com",
"retMsg":"成功!"
}
# 12.3、智能路由-调用第三方CRM判断VIP接口
接口说明:
通过接口判断来电号码是否是VIP以便实现VIP优先排队
访问方式:
智齿以 POST请求方式,调用客户CRM系统
请求参数:
字段编码 | 字段名称 | 类型 | 可空 | 备注说明 |
---|---|---|---|---|
secret_key | 密钥 | string | 否 | 客户在智齿ivr流程页面配置的密钥 |
user_tel | 号码 | string | 否 | 来电号码 |
ivr_node | 按键名称 | string | 否 | 转人工节点的名称 |
返回参数:
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功;999999 失败 |
ret_msg | 返回信息 | string | |
user_tel | 号码 | string | |
user_level | 客户级别 | int | 0:普通;1:VIP |
请求示例:
http://www.xxxxx.com/crm-service/sobotData?secret_key=f31a81e91afdcf084dfee82ec2fb196&user_tel=186123467890
返回示例:
{
"ret_code":"000000",
"ret_msg":"成功!",
"user_tel":"186123467890",
"user_level":1
}
# 12.4、 智能路由-调用第三方指定路由接口
接口说明: 所有转人工节点通过接口确定路由 访问方式: 智齿以 POST请求方式,调用客户系统
请求参数:
字段编码 | 字段名称 | 字段类型 | 可空 | 备注说明 |
---|---|---|---|---|
secret_key | 密钥 | string | 否 | 客户在智齿ivr流程页面配置的密钥 |
caller | 来电号码 | string | 否 | 来电号码 |
called | 被叫号码 | string | 否 | 被叫号码 |
direction | 呼叫方向 | String | 否 | 呼叫方向,现在只有“in” |
ivrPath | Ivr轨迹 | Array | 否 | |
ivrPath. ivrName | Ivr节点名称 | String | 否 | |
ivrPath. key | 用户进入节点的按键 | String | 是 |
返回参数
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功;999999 失败 |
ret_msg | 返回信息 | string | |
groupIds | 返回的技能组id列表 | Array of string | 返回的技能组id列表,最多三个。 |
请求示例
{
"secret_key": "aaadddccceeefffggg",
"caller": "13800138000",
"called": "010888888",
"direction": "in",
"ivrPath": [
{
"ivrName": "欢迎语",
"key": null
},
{
"ivrName": "转产品部门",
"key": “1”
}
]
}
返回示例:
{
"ret_code": "000000",
"ret_msg": "成功!",
"groupIds": [
"aa8ce5f7c37244a0a241827e26e34653_4","aa8ce5f7c37244a0a241827e26e34653_4"
]
}
# 12.5、 智能路由-调用第三方CRM呼转外线号码接口
接口说明:
此接口使用formdata方式访问。
访问方式:
POST:xxx.xxx.xx/ 此处为客户接口
请求参数
字段编码 | 字段名称 | 字段类型 | 可空 | 备注说明 |
---|---|---|---|---|
secret_key | 密钥 | string | 否 | 企业在智齿系统中配置的密钥,生成方式:companyId+caller 进行MD5加密操作,作为交互的安全验证 |
caller | 客户号码 | string | 否 | 呼入场景为主叫号码。呼出场景为被叫号码 |
called | 外显号码 | string | 否 | 企业在智齿系统中配置的外显号码,包含呼入和呼出场景 |
call_direction | 呼叫方向 | string | 否 | 呼入为in、呼出为out。目前只支持“in” |
ivr_trajectory | Ivr轨迹数组 | 数组<Ivr轨迹> | 是 | 数组的元素可能0-n个 |
Ivr轨迹
字段编码 | 字段名称 | 字段类型 | 可空 | 备注说明 |
---|---|---|---|---|
ivr_name | ivr节点名称 | string | 否 | |
key | 用户进入节点的按键 string | 否 |
返回字段
字段编码 | 字段名称 | 字段类型 | 可空 | 备注说明 |
---|---|---|---|---|
retCode | 返回编码 | string | 否 | 000000成功 |
retMsg | 返回信息 | string | 否 | 错误提示、成功详解参照下表 |
item | 第三方号码 | string | 否 | IVR中呼叫转移的第三方号码。支持普通固话号码和手机号码,其中固话号码不支持总机的分机号码、短号、95等。固话号码格式示例01087654321,手机号码示例13511112222 |
请求示例:
{
"secret_key": "xxxx",
"caller": "xxxxx",
"called": "xxxx",
"call_direction": "xxxxx",
"ivr_trajectory": [{
"ivr_name":"xxxxx",
"key":"xxxxx"
}]
}
返回示例:
{ "retMsg":"成功返回",
"retCode":"000000",
"item":"xxxxxxxx",
}
# 13、错误码
# 13.1、系统错误码
代码 | 含义 |
---|---|
000000 | 请求成功 |
900001 | token为空 |
900002 | token已失效或不存在,请重新获取 |
900003 | signature错误 |
900004 | 没有找到公司的api配置信息 |
900005 | 被限制访问 |
900006 | 没有找到公司信息 |
900007 | token信息为空,请重新获取 |
900008 | 没有找到公司超级管理员信息 |
910000 | JSON数据格式错误 |
910001 | 参数错误 |
910002 | 接口调用失败 |
910003 | 请求参数为空 |
910004 | 服务返回空值 |
910010 | 公司id为空 |
910011 | 坐席id为空 |
910012 | APPid为空 |
999999 | 系统错误 |
# 13.2、应用错误
代码 | 含义 |
---|---|
300001 | 坐席不存在或未登录 |
300002 | 密码错误 |
300003 | 用户已经登录 |
300004 | 分机已经被使用 |
300005 | 转接号码没有设置 |
300006 | 坐席已注销 |
300007 | 被叫号码不正确 |
300008 | 当前坐席已经在呼叫中 |
300009 | 拨打号码为登录号码 |
300010 | 转接类型没有设置 |
300011 | 转接组id没有设置 |
300012 | appid未设置 |
300013 | 超时时间未设置 |
300014 | 未查询到呼叫信息 |
300015 | 非本机ip |
300016 | 当前坐席不在通话中 |
300017 | 非离线状态不能登录 |
300018 | 当前状态外呼存在异常,请电话条离线后重新登录恢复正常状态 |
300019 | 当前坐席正在通话中,无法注销 |
300020 | 坐席当前处于离线状态,无法外呼 |
300021 | 三方咨询类型未设置 |
300022 | 被咨询坐席不在空闲状态 |
300023 | 取消方标识未设置 |
300024 | 状态非忙碌或锁定 |
300025 | 通话id未设置 |
300026 | 正在为您分配来电电话,无法切换状态,请稍后 |
300027 | 正在为您分配来电电话,请稍后再进行外呼 |
300028 | 外显号码为空 |
300029 | 当前为离线状态,无法切换状态 |
300030 | 登录呼叫中心失败,已达到您购买呼叫中心的最大登录上限 |
300031 | 当前客户已挂断 |
300032 | 呼出失败,请稍后再试 |
300033 | VOIP话机未注册 |
300034 | 未查询到坐席对应账号信息 |
300035 | 未查询到坐席信息 |
300036 | 未查询到线路信息 |
300037 | 无FS可用资源 |
300038 | APP信息校验错误 |
300039 | APP信息校验错误 |
300040 | 坐席已登出 |
300041 | 该分机号已被占用! |
300042 | 当前话机已绑定该坐席! |
300043 | 该人员不在组织结构中 |
300044 | 客服账号未绑定SIP分机账号 |
300045 | 客服ID已经绑定过SIP话机账号 |
300046 | 客服ID已经绑定过SIP话机账号 |
300047 | 仅适用SIP分机一对一绑定到客服的模式 |
300048 | SIP分机账号并没有绑定任何客服ID |
300049 | 已绑定的客服ID未离线签出呼叫中心 |
300050 | 未查询到当前任务信息 |
# 13.3、账号错误
代码 | 含义 |
---|---|
300100 | 公司不存在 |
300102 | 非正式版本无法创建应用。 |
300103 | 不是第三方企业。 |
# 13.4、分机错误
代码 | 含义 |
---|---|
300200 | 无FS可用资源 |
200201 | APP信息校验错误 |
200202 | 坐席不存在或已被禁用! |
200203 | 分机不存在或已被禁用! |
300204 | 分机号码为空 |
300205 | 创建分机失败,已达到最大分机许可 |
300206 | count数为空 |
# 14、呼叫管理
# 14.1、 坐席上班
说明:当坐席需要进行电话业务时,如果是离线状态,则需要调用该接口,将坐席状态标记为上班。
# 访问方式
POST https://www.sobot.com/comm-open/api/call/5/call/agent_onwork
# 请求参数
字段编码 | 字段名称 | 字段类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | 公司ID |
appid | 应用ID | string | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
agentid | 坐席ID | string | 否 | 坐席ID |
number | 坐席的手机号或sip账号 | string | 否 | 如果需要动态指定voip账号上班,则指定的voip账号当前不能有坐席正在使用,需要先将之前使用该voip账号的坐席下班(为了保证已经在使用该voip账号的坐席通话不受影响,请先调用查看坐席是否可以下班的接口)。另如需开通动态绑定模式,请联系售后经理。 |
agent_state | 上班后的初始化状态 | string | 是 | 坐席上班后的初始化状态,1:空闲(可接受呼入电话和呼出) 0:忙碌(仅可外呼) 其余自定义状态(视为忙碌,仅可外呼,如:115) |
call_way | 坐席接听电话的方式 | string | 否 | 上班后,坐席以什么方式接听电话,1网页电话,2sip话机,3手机,当传值为1或2时,需要使用分配给对接账户的sip账号,切话机当时必须注册成功,否则上班失败;当传值为3时,需指定坐席需要接听电话的手机号(通常情况下手机接听,受线路影响,24小时之内会有接听次数限制,如24小时内只能接听3次,如需解除限制,请联系客户经理) |
is_record_stereo | 通话录音是否设置为双声道 | bool | 是 | 坐席通话录音是否双声道,双声道一般用于对话质检时进行话者分离,区分客户和客服。 |
groupid | 上班时默认技能组 | string | 是 | 如需在智齿console控制台查看相关统计数据,请传入此参数,否则可空 |
display_number | 上班时默认外显号码 | string | 是 | 坐席默认外显号码 |
agent_phone_num | 坐席接听手机 | string | 是 | 此属性配置代表以sip账号上班,但呼入时是转到坐席的指定的手机号,只有呼出时才使用voip账号呼出,如需使用该特殊配制,请联系客服经理。 |
# 返回参数
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
# 请求示例
{
"companyid": "91e699c968ba41dc9cb1f5c6c212b6db",
"appid": "916c0cef7cb54ae2af360b4a20f6435d",
"number":"922430000",
"agentid":"d9996f5c43cf45b8ba7181d6e282d24f",
"agent_state":"1",
"call_way":"2"
}
# 返回示例
{
"ret_code": "000000",
"ret_msg": "请求成功"
}
# 14.2、 坐席下班
说明:当坐席不需要进行电话业务时,如果是上班状态切不在通话中,则可以调用该接口,将坐席状态标记为下班,坐席下班后,不会接到客户的来电,也不能外呼。
# 访问方式
POST https://www.sobot.com/comm-open/api/call/5/call/agent_offwork
# 请求参数
字段编码 | 字段名称 | 字段类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | 公司ID |
appid | 应用ID | string | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
agentid | 坐席ID | string | 否 | 坐席ID |
# 返回参数
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
# 请求示例
{
"companyid": "91e699c968ba41dc9cb1f5c6c212b6db",
"appid": "916c0cef7cb54ae2af360b4a20f6435d",
"agentid":"d9996f5c43cf45b8ba7181d6e282d24f"
}
# 返回示例
{
"ret_code": "000000",
"ret_msg": "请求成功"
}
# 14.3、 查询坐席状态
说明:查询坐席当前的状态,判断该坐席当前是否允许外呼或呼入。
# 访问方式
POST https://www.sobot.com/comm-open/api/call/5/call/agent_state
# 请求参数
字段编码 | 字段名称 | 字段类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | 公司ID |
appid | 应用ID | string | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
agentid | 坐席ID | string | 否 | 坐席ID |
# 返回参数
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
item | 返回信息 | object | 详看下表 |
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
companyid | 公司ID | String | |
appid | 应用ID | String | |
agent_email | 坐席邮箱 | string | |
agentid | 坐席id | string | |
agent_name | 坐席名称 | string | |
agent_state | 返回信息 | String | 坐席状态,忙碌,空闲,坐席状态,其中-1为离线,0为忙碌,1为空闲,3为通话接通中,114为小休,115为后处理,116为培训,117为会议,118为用餐,119为活动,99为异常 |
call_way | 返回信息 | int | 当前接听电话的方式 |
busy_cause | 返回信息 | String | 自定义忙碌分类 |
# 请求示例
{
"companyid": "91e699c968ba41dc9cb1f5c6c212b6db",
"appid": "916c0cef7cb54ae2af360b4a20f6435d",
"agentid":"d9996f5c43cf45b8ba7181d6e282d24f"
}
# 返回示例
{
"ret_code": "000000",
"ret_msg": "请求成功",
"item": {
"agent_email": "test@sobot.com",
"agent_name": "test",
"agentid": "d9996f5c43cf45b8ba7181d6e282d24f",
"companyid": "91e699c968ba41dc9cb1f5c6c212b6db",
"call_way": 2,
"appid": "916c0cef7cb54ae2af360b4a20f6435d",
"agent_state": "1",
"busy_cause": "1"
}
}
# 14.4、 批量查询坐席状态
说明:批量查询坐席当前的状态,一般用于监控场景。
# 访问方式
POST https://www.sobot.com/comm-open/api/call/5/call/agent_states
# 请求参数
字段编码 | 字段名称 | 字段类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | 公司ID |
appid | 应用ID | string | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
# 返回参数
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
items | 返回信息 | object | 详看下表 |
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
companyid | 公司ID | String | |
appid | 应用ID | String | |
agentid | 坐席id | string | |
agent_email | 坐席邮箱 | string | |
agent_name | 坐席名称 | string | |
agent_state | 返回信息 | String | 坐席状态,忙碌,空闲,坐席状态,其中-1为离线,0为忙碌,1为空闲,3为通话接通中,114为小休,115为后处理,116为培训,117为会议,118为用餐,119为活动,99为异常 |
call_way | 返回信息 | int | 当前接听电话的方式 |
busy_cause | 返回信息 | String | 自定义忙碌分类 |
# 请求示例
{
"companyid": "91e699c968ba41dc9cb1f5c6c212b6db",
"appid": "916c0cef7cb54ae2af360b4a20f6435d"
}
# 返回示例
{
"ret_code": "000000",
"ret_msg": "请求成功",
"items": [{
"agent_email": "test@sobot.com",
"agent_name": "test",
"agentid": "d9996f5c43cf45b8ba7181d6e282d24f",
"companyid": "91e699c968ba41dc9cb1f5c6c212b6db",
"call_way": 2,
"appid": "916c0cef7cb54ae2af360b4a20f6435d",
"agent_state": "1",
"busy_cause": "1"
},{
"agent_name":"李丽zhen",
"agentid": "d9996f5c43cf45b8ba7181d6e282d12",
"companyid": "91e699c968ba41dc9cb1f5c6c212b6db",
"call_way": 2,
"agent_type":"1",
"appid": "916c0cef7cb54ae2af360b4a20f6435d",
"agent_state": "2",
"busy_cause": "1"
}]
}
# 14.5、 修改坐席状态
说明:修改坐席状态,以达到通话控制需求。
# 访问方式
PUT https://www.sobot.com/comm-open/api/call/5/call/agent_state
# 请求参数
字段编码 | 字段名称 | 字段类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | 公司ID |
appid | 应用ID | string | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
agentid | 坐席ID | string | 否 | 坐席ID |
agent_state | 更新的状态 | string | 否 | 1:空闲(可接听呼入电话),0:忙碌(仅可呼出),注:通话中不能修改坐席状态;不可修改为-1离线,如需离线,请调用下班接口 |
# 返回参数
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
# 请求示例
{
"companyid": "91e699c968ba41dc9cb1f5c6c212b6db",
"appid": "916c0cef7cb54ae2af360b4a20f6435d",
"agentid":"d9996f5c43cf45b8ba7181d6e282d24f",
"agent_state":"1"
}
# 返回示例
{
"ret_code": "000000",
"ret_msg": "请求成功"
}
# 14.6、 坐席外呼
说明:坐席人员主动发起外呼,坐席状态只有在空闲或忙碌/自定义忙碌状态下才能发起外呼。
# 访问方式
POST https://www.sobot.com/comm-open/api/call/5/call/agent_make_call
# 请求参数
字段编码 | 字段名称 | 字段类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | 公司ID |
appid | 应用ID | string | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
agentid | 坐席ID | string | 否 | 坐席ID |
number | 坐席的手机号或sip账号 | string | 否 | 坐席接听电话的sip账号或手机号,同上班时的参数值 |
destination_number | 被叫号码 | string | 否 | 需要外呼的被叫(请注意同一被叫的呼叫频次限制,否则呼叫几次之后无法再呼叫成功) |
groupid | 该通话所属技能组 | string | 是 | 如需在智齿console控制台查看相关统计数据,请传入此参数,否则可空 |
display_number | 上班时默认外显号码 | string | 是 | 被叫侧外显号码,如果不传,则默认按照智齿console界面设置的外显号码规则查询一个外显号码呼出 |
# 返回参数
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
callid | 返回信息 | string | 返回的通话唯一ID,您可在后续的电话控制中使用 |
# 请求示例
{
"companyid": "91e699c968ba41dc9cb1f5c6c212b6db",
"appid": "916c0cef7cb54ae2af360b4a20f6435d",
"number":"922430000",
"agentid":"d9996f5c43cf45b8ba7181d6e282d24f",
"destination_number":"18512345678"
}
# 返回示例
{
"ret_code": "000000",
"ret_msg": "请求成功",
"callid": "cb266f9c-ff7b-41d8-83cb-e5da321e9b1c"
}
# 14.7、 结束通话
说明:坐席人员主动挂断电话。
# 访问方式
POST https://www.sobot.com/comm-open/api/call/5/call/hangup
# 请求参数
字段编码 | 字段名称 | 字段类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | 公司ID |
appid | 应用ID | string | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
callid | 通话ID | string | 否 | 通话ID |
agentid | 坐席ID | string | 否 | 操作的坐席ID |
to_satisfy | 是否转满意度 | bool | 是 | 设置为true时,如您开启了满意度,则挂断坐席侧,同时将客户引导至满意度评价的ivr |
# 返回参数
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
# 请求示例
{
"companyid": "91e699c968ba41dc9cb1f5c6c212b6db",
"appid": "916c0cef7cb54ae2af360b4a20f6435d",
"agentid":"d9996f5c43cf45b8ba7181d6e282d24f",
"callid":"cb266f9c-ff7b-41d8-83cb-e5da321e9b1c",
}
# 返回示例
{
"ret_code": "000000",
"ret_msg": "请求成功"
}
# 14.8、 转接坐席
说明:通话中座席将用户的呼叫转接到另外一个坐席接听,该转接为咨询转接,调用成功后,客户会听到等待音乐,坐席和被转接的人进行通话,如果确认转接,则被转接方和客户进行通话,取消转接则恢复之前的坐席和用户通话。
# 访问方式
POST https://www.sobot.com/comm-open/api/call/5/call/transfer_agent
# 请求参数
字段编码 | 字段名称 | 字段类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | 公司ID |
appid | 应用ID | string | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
callid | 通话ID | string | 否 | 通话ID |
agentid | 坐席ID | string | 否 | 操作的坐席ID |
target | 被转接的坐席ID | string | 否 | |
groupid | 被转接人技能组ID | string | 是 | 如您需要在智齿查看统计数据,请填写此参数 |
# 返回参数
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
callid | 通话ID | string | |
result | 返回结果 | string | |
timestamp | 操作时间 | string |
# 请求示例
{
"companyid": "91e699c968ba41dc9cb1f5c6c212b6db",
"appid": "916c0cef7cb54ae2af360b4a20f6435d",
"callid":"cb266f9c-ff7b-41d8-83cb-e5da321e9b1c",
"agentid":"d9996f5c43cf45b8ba7181d6e282d24f",
"target":"d9996f5c43cf45b8ba7181d6e28123",
"groupid":"91e699c968ba41dc9cb1f5c6c212b6db"
}
# 返回示例
{
"ret_code": "000000",
"ret_msg": "请求成功",
"callid":"ca0400cf-6db2-4ca1-bc09-0e5347c0a4da",
"result":"0",
"timestamp":"20210419195646732"
}
# 14.9、 转接坐席确认
说明:通话中座席将用户的呼叫转接到另外一个坐席接听,该转接为咨询转接,调用成功后,客户会听到等待音乐,坐席和被转接的人进行通话,如果确认转接,则被转接方和客户进行通话,取消转接则恢复之前的坐席和用户通话。
# 访问方式
POST https://www.sobot.com/comm-open/api/call/5/call/transfer_agent_confirm
# 请求参数
字段编码 | 字段名称 | 字段类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | 公司ID |
appid | 应用ID | string | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
callid | 通话ID | string | 否 | 通话ID |
agentid | 坐席ID | string | 否 | 操作的坐席ID |
# 返回参数
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
callid | 通话ID | string | |
result | 返回结果 | string | |
timestamp | 操作时间 | string |
# 请求示例
{
"companyid": "91e699c968ba41dc9cb1f5c6c212b6db",
"appid": "916c0cef7cb54ae2af360b4a20f6435d",
"callid":"cb266f9c-ff7b-41d8-83cb-e5da321e9b1c",
"agentid":"d9996f5c43cf45b8ba7181d6e282d24f"
}
# 返回示例
{
"ret_code": "000000",
"ret_msg": "请求成功",
"callid":"ca0400cf-6db2-4ca1-bc09-0e5347c0a4da",
"result":"0",
"timestamp":"20210419195646732"
}
# 14.10、 取消转接坐席
说明:通话中座席将用户的呼叫转接到另外一个坐席接听,该转接为咨询转接,调用成功后,客户会听到等待音乐,坐席和被转接的人进行通话,如果确认转接,则被转接方和客户进行通话,取消转接则恢复之前的坐席和用户通话。
# 访问方式
POST https://www.sobot.com/comm-open/api/call/5/call/transfer_agent_cancel
# 请求参数
字段编码 | 字段名称 | 字段类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | 公司ID |
appid | 应用ID | string | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
callid | 通话ID | string | 否 | 通话ID |
agentid | 坐席ID | string | 否 | 发起转接操作的坐席ID |
# 返回参数
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
callid | 通话ID | string | |
result | 返回结果 | string |
# 请求示例
{
"companyid": "91e699c968ba41dc9cb1f5c6c212b6db",
"appid": "916c0cef7cb54ae2af360b4a20f6435d",
"callid":"cb266f9c-ff7b-41d8-83cb-e5da321e9b1c",
"agentid":"d9996f5c43cf45b8ba7181d6e282d24f"
}
# 返回示例
{
"callid":"fb7d3977-0223-402c-a446-fbb57415a022",
"result":"0",
"ret_code": "000000",
"ret_msg": "请求成功"
}
# 14.11、 转接第三方号码
说明:通话中座席将用户的呼叫转接到第三方号码接听,该转接为咨询转接,调用成功后,客户会听到等待音乐,坐席和被转接的人进行通话,如果确认转接,则被转接方和客户进行通话,取消转接则恢复之前的坐席和用户通话。
# 访问方式
POST https://www.sobot.com/comm-open/api/call/5/call/transfer_third
# 请求参数
字段编码 | 字段名称 | 字段类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | 公司ID |
appid | 应用ID | string | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
callid | 通话ID | string | 否 | 通话ID |
agentid | 坐席ID | string | 否 | 操作的坐席ID |
target | 被转接的第三方号码 | string | 否 |
# 返回参数
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
callid | 通话ID | string | |
result | 返回结果 | string | |
timestamp | 操作时间 | string |
# 请求示例
{
"companyid": "91e699c968ba41dc9cb1f5c6c212b6db",
"appid": "916c0cef7cb54ae2af360b4a20f6435d",
"callid":"cb266f9c-ff7b-41d8-83cb-e5da321e9b1c",
"agentid":"d9996f5c43cf45b8ba7181d6e282d24f",
"target":"18515235432"
}
# 返回示例
{
"ret_code": "000000",
"ret_msg": "请求成功",
"callid":"cb266f9c-ff7b-41d8-83cb-e5da321e9b1c",
"result":"0",
"timestamp":"20210419195646732"
}
# 14.12、 转接第三方确认
说明:通话中座席将用户的呼叫转接到第三方号码接听,该转接为咨询转接,调用成功后,客户会听到等待音乐,坐席和被转接的人进行通话,如果确认转接,则被转接方和客户进行通话,取消转接则恢复之前的坐席和用户通话。
# 访问方式
POST https://www.sobot.com/comm-open/api/call/5/call/transfer_third_confirm
# 请求参数
字段编码 | 字段名称 | 字段类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | 公司ID |
appid | 应用ID | string | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
callid | 通话ID | string | 否 | 通话ID |
agentid | 坐席ID | string | 否 | 操作的坐席ID |
# 返回参数
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
callid | 通话ID | string | |
result | 返回结果 | string | |
timestamp | 操作时间 | string |
# 请求示例
{
"companyid": "91e699c968ba41dc9cb1f5c6c212b6db",
"appid": "916c0cef7cb54ae2af360b4a20f6435d",
"callid":"cb266f9c-ff7b-41d8-83cb-e5da321e9b1c",
"agentid":"d9996f5c43cf45b8ba7181d6e282d24f"
}
# 返回示例
{
"ret_code": "000000",
"ret_msg": "请求成功",
"callid":"cb266f9c-ff7b-41d8-83cb-e5da321e9b1c",
"result":"0",
"timestamp":"20210419195646732"
}
# 14.13、 取消转接第三方
说明:通话中座席将用户的呼叫转接到第三方号码接听,该转接为咨询转接,调用成功后,客户会听到等待音乐,坐席和被转接的人进行通话,如果确认转接,则被转接方和客户进行通话,取消转接则恢复之前的坐席和用户通话。
# 访问方式
POST https://www.sobot.com/comm-open/api/call/5/call/transfer_third_cancel
# 请求参数
字段编码 | 字段名称 | 字段类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | 公司ID |
appid | 应用ID | string | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
callid | 通话ID | string | 否 | 通话ID |
agentid | 坐席ID | string | 否 | 操作的坐席ID |
# 返回参数
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
callid | 通话ID | string | |
result | 返回结果 | string |
# 请求示例
{
"companyid": "91e699c968ba41dc9cb1f5c6c212b6db",
"appid": "916c0cef7cb54ae2af360b4a20f6435d",
"callid":"cb266f9c-ff7b-41d8-83cb-e5da321e9b1c",
"agentid":"d9996f5c43cf45b8ba7181d6e282d24f"
}
# 返回示例
{
"ret_code": "000000",
"ret_msg": "请求成功",
"callid":"cb266f9c-ff7b-41d8-83cb-e5da321e9b1c",
"result":"0"
}
# 14.14、 转接到技能组
说明:通话中座席将用户的呼叫转接到某个技能组,该转接为盲转,调用成功后,进入该技能组,如果有空闲坐席,则分配空闲坐席并与之通话,否则在该技能组里排队。
# 访问方式
POST https://www.sobot.com/comm-open/api/call/5/call/transfer_group
# 请求参数
字段编码 | 字段名称 | 字段类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | 公司ID |
appid | 应用ID | string | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
callid | 通话ID | string | 否 | 通话ID |
agentid | 坐席ID | string | 否 | 操作的坐席ID |
groupid | 被转接的技能组ID | string | 否 | |
timeout | 排队超时时长 | int | 否 | 如果转到技能组排队,超时后按照排队超时设置进行下一步动作(具体在智齿console中配置),单位为秒 |
# 返回参数
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
callid | 通话ID | string |
# 请求示例
{
"companyid": "91e699c968ba41dc9cb1f5c6c212b6db",
"appid": "916c0cef7cb54ae2af360b4a20f6435d",
"callid":"cb266f9c-ff7b-41d8-83cb-e5da321e9b1c",
"agentid":"d9996f5c43cf45b8ba7181d6e282d24f",
"groupid":"91e699c968ba41dc9cb1f5c6c212b6db",
"timeout":30
}
# 返回示例
{
"callid": "cb266f9c-ff7b-41d8-83cb-e5da321e9b1c",
"ret_code": "000000",
"ret_msg": "请求成功"
}
# 14.15、 呼叫保持/取消保持
说明:通话中让客户暂时听保持音乐,无法听到坐席的声音,取消保持将会恢复正常通话。
# 访问方式
POST https://www.sobot.com/comm-open/api/call/5/call/hold
# 请求参数
字段编码 | 字段名称 | 字段类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | 公司ID |
appid | 应用ID | string | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
callid | 通话ID | string | 否 | 通话ID |
agentid | 坐席ID | string | 否 | 操作的坐席ID |
hold | 是否是保持 | bool | 否 | true:开启保持 false:取消保持 |
# 返回参数
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
callid | 通话ID | string | |
timestamp | 当前时间 | string |
# 请求示例
{
"companyid": "91e699c968ba41dc9cb1f5c6c212b6db",
"appid": "916c0cef7cb54ae2af360b4a20f6435d",
"callid":"cb266f9c-ff7b-41d8-83cb-e5da321e9b1c",
"agentid":"d9996f5c43cf45b8ba7181d6e282d24f",
"hold":true
}
# 返回示例
{
"callid": "cb266f9c-ff7b-41d8-83cb-e5da321e9b1c",
"timestamp": "20210401201433454",
"ret_code": "000000",
"ret_msg": "请求成功"
}
# 14.16、 查询技能组中的空闲坐席数
说明:当您在通话中需要将电话转到其他的坐席时,可以使用此接口查询到某个技能组中的空闲坐席数量。
# 访问方式
POST https://www.sobot.com/comm-open/api/group/5/queryTransferGroups
# 请求参数
字段编码 | 字段名称 | 字段类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | 公司ID |
appid | 应用ID | string | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
# 返回参数
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
items | 返回的数据列表 | Object | 详看下表 |
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
groupid | 技能组ID | string | |
group_type | 技能组类型 | int | 2:呼叫技能组,3:电销技能组 |
group_name | 技能组名称 | string | 技能组名称 |
free | 空闲坐席数量 | int |
# 请求示例
{
"companyid": "91e699c968ba41dc9cb1f5c6c212b6db",
"appid": "916c0cef7cb54ae2af360b4a20f6435d"
}
# 返回示例
{
"ret_code": "000000",
"ret_msg": "查询成功",
"items": [
{
"group_type": 2,
"type_name": "呼叫技能组",
"items": [
{
"group_name": "guyue1",
"group_type": "2",
"groupid": "ad2db7fa3fc1407c80e7544fd9479251_1",
"free": 0
},
{
"group_name": "guyue2",
"group_type": "2",
"groupid": "ad2db7fa3fc1407c80e7544fd9479251_6",
"free": 0
}
]
},
{
"group_type": 3,
"type_name": "电销技能组",
"items": [
{
"group_name": "guyu电销",
"group_type": "3",
"groupid": "ad2db7fa3fc1407c80e7544fd9479251_2",
"free": 0
}
]
}
]
}
# 14.17、 查询空闲坐席列表
说明:当您在通话中需要将电话转到其他的坐席时,可以使用此接口查询到某个技能组中的空闲坐席列表。
# 访问方式
POST https://www.sobot.com/comm-open/api/agent/5/queryTransferAgents
# 请求参数
字段编码 | 字段名称 | 字段类型 | 可空 | 备注说明 |
---|---|---|---|---|
companyid | 公司id | string | 否 | 公司ID |
appid | 应用ID | string | 否 | 呼叫中心的应用id,需要售后查看业务支撑,不同于获取token的appid |
groupid | 技能组ID | string | 是 | |
query_content | 坐席名称 | string | 是 | 模糊查找空闲坐席 |
# 返回参数
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
ret_code | 返回编码 | string | 000000成功 其余均失败 |
ret_msg | 返回信息 | string | 返回信息 |
items | 返回的数据列表 | Object | 详看下表 |
字段编码 | 字段名称 | 字段类型 | 备注说明 |
---|---|---|---|
serviceid | 坐席ID | string | --- |
service_name | 坐席名称 | string | |
agent_status | 坐席状态 | string | |
service_email | 坐席邮箱 | string | |
groupid | 技能组ID | int | 2:呼叫技能组,3:电销技能组 |
group_type | 技能组类型 | int | 2:呼叫技能组,3:电销技能组 |
group_name | 技能组名称 | string | 技能组名称 |
type_name | 技能组类型名称 | string |
# 请求示例
{
"companyid": "91e699c968ba41dc9cb1f5c6c212b6db",
"appid": "916c0cef7cb54ae2af360b4a20f6435d"
}
# 返回示例
{
"ret_code": "000000",
"ret_msg": "查询成功",
"items": [
{
"agent_status": "1",
"groupid": "6fa94a074b8646b38f6f5decc7580fe7_1",
"group_name": "电销1组",
"group_type": 3,
"type_name": "电销技能组",
"service_email": "7email@sobot.com",
"serviceid": "9e9e1d5fd8b046499387954ba13e4464",
"service_name": "7email"
},
{
"agent_status": "1",
"groupid": "6fa94a074b8646b38f6f5decc7580fe7_8",
"group_name": "呼叫1组",
"group_type": 2,
"type_name": "呼叫技能组",
"service_email": "1email@sobot.com",
"serviceid": "a168e755cd594b7bbf95d8e93bd40669",
"service_name": "1email"
}
]
}
# 14.18、 发起监听
说明:管理员可以发起监听座席的通话。
只能是普通的呼入和呼出可以发起监听,如果通话发生了转移/咨询/监听/等操作,不能再发起监听了
如果发送监听请求成功了,但是收到了AgentHangUp消息,可能是呼叫话机失败了,需要检查话机等配置信息
请求地址
POST https://www.sobot.com/comm-open/api/call/5/call/agent_eavesdrop
请求包体
属性 | 类型 | 约束 | 说明 | 举例 |
---|---|---|---|---|
companyid | String | 必选 | 公司id | |
appid | String | 必选 | 应用id节点 | |
agentid | String | 必选 | 被监听座席id | |
groupid | String | 必选 | 监听方技能组ID | |
admin_agentid | String | 必选 | 监听方坐席id |
请求示例
{
"companyid": "626632d761be4da2a33c7f26f6e50b41",
"appid": "80ecc892384b4f03b62176d6654ef2e9",
"groupid": "123ewq",
"agentid": "58755c771d294871a78a0c8dec2d1c5e",
"admin_agentid": "9c5abdf8d2c44aaeac6cc57baa3dd96f"
}
响应包体
属性 | 类型 | 说明 |
---|---|---|
ret_code | String | 请求状态码,取值000000(成功) |
ret_msg | String | 请求状态描述 |
响应示例
{
"ret_code": "000000",
"ret_msg": "成功"
}