# 呼叫中心

# 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": "成功"
}