# 呼叫中心

# 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位时间戳

请求示例:

{
    "companyid": "6fa94a074b8646b38f6f5decc7580fe7",
    "appid": "3186d4c82ab7421ea36d36fcac9cdbbe",
    "bind_state": "bind",
    "region": "北京"
}

返回示例:

{
    "items": [
        {
            "appid": "3186d4c82ab7421ea36d36fcac9cdbbe",
            "companyid": "6fa94a074b8646b38f6f5decc7580fe7",
            "create_time": 1576670289049,
            "region": "北京",
            "voip_account": "901250029",
            "voip_pwd": "7LQv80K1"
        }
    ],
    "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位数字组成
create_time 创建时间 long Voip的创建时间,13位时间戳
out_call_number 外显号码 string

请求示例:

{
    "companyid": "6fa94a074b8646b38f6f5decc7580fe7",
    "appid": "3186d4c82ab7421ea36d36fcac9cdbbe",
    "agentid":"279c06647f814a2ebae0212e4c5faaf2"
}

返回示例:

{   
    "ret_code": "000000",
    "ret_msg": "成功",
    "item": {
        "voip_account": "900540000",
        "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的创建时间

请求示例:

{
    "companyid": "efb1f96181b9487ca17f7d60cfe12741",
    "appid": "8db714ad04414be48916c526b9a01015",
    "exts": [
        "900540000,900540001"
    ]
}

返回示例:

{
    "ret_code": "000000",
    "ret_msg": "成功",
    "items": [{
        "voip_account": "900540000",
        "companyid": "626632d761be4da2a33c7f26f6e50b41",
        "create_time": 1575428296,
        "appid": "80ecc892384b4f03b62176d6654ef2e9",
        "voip_pwd": "093c2jL5"
    },
    {
        "voip_account": "900540001",
        "companyid": "626632d761be4da2a33c7f26f6e50b41",
        "create_time": 1575428296,
        "appid": "80ecc892384b4f03b62176d6654ef2e9",
        "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 /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://test.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、删除外显号码

接口说明:

删除某个应用下分配的号码,如果号码不填写,删除该应用下全部号码。如果号码不在某个应用下,自动跳过

请求及响应报文格式采用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 在智齿的账号
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(强拆通话)
page int 第几页
size int 每页显示的条数,建议每页15条

返回参数:

字段编码 字段名称 字段类型 备注说明
ret_code 返回编码 string 000000成功 其余均失败
ret_msg 返回信息 string 返回信息
item 返回对象 object 详看下表

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_start_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 2,3,5
satisfy_value 满意度按键值 string 未评价,非常不满意,不满意,一般,满意,非常满意
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 - -

请求示例:

{
    "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": "成功",
    "item":{
            "call_way":2,
            "callee":"18515239792",
            "departmentid":"99136776306c4d16b54273b39cb35a83|9943ca02504b4afeabbcf3f80373022b",
            "fee":0.1,
            "groupid":"99136776306c4d16b54273b39cb35a83_2",
            "staff_email":"tangyupro@sobot.com",
            "platform_type":0,
            "hold_count":0,
            "ender":2,
            "transfer_count":0,
            "type":"hangup",
            "fee_duration":1,
            "caller_name":"唐瑜",
            "hold":0,
            "customer_phone_number":"18515239792",
            "line_type":5,
            "out_callIn_task":0,
            "id":"425a9069-7a89-45be-a48d-683b5c925492",
            "agent_start_time":1538118314558,
            "agentid":"45fd00d4c4b54deea5a5f98ddd7e9aee",
            "agent_end_time":1538118327744,
            "agent_number":,
            "customer_name":,
            "task_detailid":"",
            "un_hold":0,
            "companyid":"99136776306c4d16b54273b39cb35a83",
            "group_name":"paas呼入测试改名",
            "queue_duration":0,
            "agent_ring_time_str":"20180928150511096",
            "agent_end_time_str":"20180928150527744",
            "callerid":"45fd00d4c4b54deea5a5f98ddd7e9aee",
            "call_result":20,
            "call_duration":16,
            "transfer_flag":0,
            "group_type":2,
            "isOut_callIn_task":0,
            "user_ring_time":1538118315282,
            "msg_type":"cdr",
            "call_flag":1,
            "receive_staff_names":"唐瑜,唐瑜",
            "agent_start_time_str":"20180928150514558",
            "start_time_str":"20180928150510896",
            "agent_ring_time":1538118311096,
            "needTo_recover_data":false,
            "number_city":"北京",
            "duration":5,
            "enter_group_flag":1,
            "ext_satisfy_type":1,
            "endtype":3,
            "staff_name":"唐瑜",
            "ring_time_duration":11,
            "start_time":1538118310896,
            "call_type":1,
            "user_answer_time_str":"20180928150522419",
            "callid":"425a9069-7a89-45be-a48d-683b5c925492",
            "queueState":1,
            "hidden_flag":0,
            "record_url":"http://sobot.oss-cn-beijing.aliyuncs.com/pass/record/99136776306c4d16b54273b39cb35a83/360b677aa4e64b83be0701be2854064e/20180928/425a9069-7a89-45be-a48d-683b5c925492.wav",
            "satisfy_level":2,
            "hold_time":0,
            "user_ring_time_str":"20180928150515282",
            "caller":"02759760085",
            "end_time_str":"20180928150527744",
            "number_provice":"北京",
            "end_time":1538118327744,
            "abandon_flag":0,
            "satisfy_number":0,
            "staffid":"45fd00d4c4b54deea5a5f98ddd7e9aee",
            "user_answer_time":1538118322419,
            "params": ""
        } 
}

# 7.2、推送主话单信息

接口说明:

推送主话单信息

访问方式:

详见监控管理-回调说明,点击此处跳转

返回参数:

字段编码 字段名称 类型 可空 备注说明
start_time 开始时间 String unixtime毫秒通话开始时间
companyid String 适用一个公司多个超管帐号或者多个分公司需要分别统计的情况
departmentid 组织架构ID String
groupid 技能组ID String
group_name 技能组名称 String
agentid 坐席ID String
staff_emails 客服邮箱 String
staff_name 客服姓名 String
staffid 客服ID 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 挂断方 系统超时挂断,1客服挂断,2客户挂断 增加 3-转接挂断、4-强拆挂断、5-第三方挂断
call_result 通话结果 String 坐席接听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 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

返回参数:

字段编码 字段名称 字段类型 备注说明
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":"汪潭",
            "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"
        }
    ]
}

# 7.3、推送通话详细信息

接口说明:

推送全部话详细信息

访问方式:

详见监控管理-回调说明,点击此处跳转

请求参数:

字段编码 字段名称 类型 可空 备注说明
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 挂断方 系统超时挂断,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

返回参数:

字段编码 字段名称 字段类型 备注说明
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",
            "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"
        }
    ]
}

# 7.4、批量查询通话记录

接口说明:通过批量通话id查询通话记录

访问方式:

POST /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 查询结果数量

Item参数详解:

字段编码 字段名称 类型 可空 备注说明
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_start_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_recordid 通话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 2,3,5
satisfy_value 满意度按键值 string 未评价,非常不满意,不满意,一般,满意,非常满意
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 - -

请求示例:

{
    "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": [
        {
            "call_way": 2,
            "callee": "18515239792",
            "departmentid": "99136776306c4d16b54273b39cb35a83|9943ca02504b4afeabbcf3f80373022b",
            "fee": 0.1,
            "groupid": "99136776306c4d16b54273b39cb35a83_2",
            "staff_email": "tangyupro@sobot.com",
            "platform_type": 0,
            "hold_count": 0,
            "ender": 2,
            "transfer_count": 0,
            "type": "hangup",
            "fee_duration": 1,
            "caller_name": "唐瑜",
            "hold": 0,
            "customer_phone_number": "18515239792",
            "line_type": 5,
            "out_callIn_task": 0,
            "id": "425a9069-7a89-45be-a48d-683b5c925492",
            "agent_start_time": 1538118314558,
            "agentid": "45fd00d4c4b54deea5a5f98ddd7e9aee",
            "agent_end_time": 1538118327744,
            "agent_number":"空",
            "customer_name":"空",
            "task_detailid": "",
            "un_hold": 0,
            "companyid": "99136776306c4d16b54273b39cb35a83",
            "group_name": "paas呼入测试改名",
            "queue_duration": 0,
            "agent_ring_time_str": "20180928150511096",
            "agent_end_time_str": "20180928150527744",
            "callerid": "45fd00d4c4b54deea5a5f98ddd7e9aee",
            "call_result": 20,
            "call_duration": 16,
            "transfer_flag": 0,
            "group_type": 2,
            "isOut_callIn_task": 0,
            "user_ring_time": 1538118315282,
            "msg_type": "cdr",
            "call_flag": 1,
            "receive_staff_names": "唐瑜,唐瑜",
            "agent_start_time_str": "20180928150514558",
            "start_time_str": "20180928150510896",
            "agent_ring_time": 1538118311096,
            "needTo_recover_data": false,
            "number_city": "北京",
            "duration": 5,
            "enter_group_flag": 1,
            "ext_satisfy_type": 1,
            "endtype": 3,
            "staff_name": "唐瑜",
            "ring_time_duration": 11,
            "start_time": 1538118310896,
            "call_type": 1,
            "user_answer_time_str": "20180928150522419",
            "callid": "425a9069-7a89-45be-a48d-683b5c925492",
            "queueState": 1,
            "hidden_flag": 0,
            "record_url": "http://sobot.oss-cn-beijing.aliyuncs.com/pass/record/99136776306c4d16b54273b39cb35a83/360b677aa4e64b83be0701be2854064e/20180928/425a9069-7a89-45be-a48d-683b5c925492.wav",
            "satisfy_level": 2,
            "hold_time": 0,
            "user_ring_time_str": "20180928150515282",
            "caller": "02759760085",
            "end_time_str": "20180928150527744",
            "number_provice": "北京",
            "end_time": 1538118327744,
            "abandon_flag": 0,
            "satisfy_number": 0,
            "staffid": "45fd00d4c4b54deea5a5f98ddd7e9aee",
            "params": "",
            "user_answer_time": 1538118322419
        }
    ],
    "total_count": 1
}

# 8、监控管理

# 8.1、回调说明

接口说明:

当坐席状态发生变化或者通话状态发生变化的时候,能力开放平台会将相关的消息推送至第三方的回调地址;使用js组件的,对应的消息会通过websocket推送到js客户端。具体的消息类型如下表。

消息转发接口,增加可以加密后再传递,可以联系您的客户经理,设置开通后,可以在消息转发时header中增加三个参数:时间戳(取服务器时间)、随机码、sign(MD5加密);客户取到参数后解码对比,正确接收数据,错误时返回错误码。

header中参数

参数 类型 备注
X-Log-TimeStamp String 时间戳(取服务器时间,毫秒)
X-Log-RandomCode String 随机码)
X-Log-Sign String md5(companyId + 时间戳(取服务器时间)+ 随机码 + appKey) sign签名,app_key为秘钥

访问方式:

回调统一设置为post方式,如需得到回调事件,请您提供一个接受post请求的url地址;url地址相关信息请和售后联系

请求公共参数:

字段编码 字段名称 类型 可空 备注说明
companyid 公司id string 公司id
appid 应用id string 应用id
msg_type 消息类型 string -

返回参数:

任何时候回调接口返回200ok的状态码即视为成功回调

消息类型列表

字段编码 字段名称 备注说明
StartService 通话开始 呼入到达智齿系统或者呼出时开始呼叫
StopService 呼叫结束 整个通话结束
EvaluateResult 满意度评价 通话结束坐席挂断,客户做出满意度评价
PhoneStateAgentConnected 坐席电话接起
PhoneStateUserConnected 用户电话接起
PhoneStateAgentRing 坐席振铃
PhoneStateUserRing 用户振铃
TransferConnected 转接接通
TransferRing 转接振铃
TransferConnected 转接连接
TransferConfirm 转接确认
TransferHangup 转接挂断

请求示例

curl https://xxxxxxx.xxxxxx.com/sobot/message
-X POST 
-H 'X-Log-TimeStamp:1592216019'
-H 'X-Log-RandomCode:111222333'
-H 'X-Log-TimeStamp:258eec3118705112b2c53dc8043d4d34'
-d '{	 
   "companyid " : "61673ee8d98d4282a95cdad38ffd5f5b ",
   "appid " : "61673ee8d98d4282a95cdad38ffd5f5b ",
   "msg_type " : "StartService ",
   }'

# 8.2、坐席状态回调

请求包体:

字段编码 字段名称 类型 备注说明
companyid 公司id string 公司id
appid 应用id string 应用id
agentid 坐席id string 座席id
change_time 时间 string 状态切换时间,yyyymmddHHmiss
agent_state 坐席状态 int 坐席状态,其中-1为离线,0为忙碌,1为空闲,3为通话接通中,115为后处理,99为异常

请求示例:

{ 
	"companyid": "8a48b5514835561a01483e9149d803d8",
    "appid": "8a48b5514835561a01483e9149d803d8",
    "agentid": "xxx",
    "change_time": "xxxxxxxxxxxxxx",
    "agent_state": 1
}

# 8.3、开始通话

请求包体:

字段编码 字段名称 类型 备注说明
companyid 企业id string 企业id
appid 应用id string 应用id
msg_type 消息类型 string 消息类型,此处为StartService
agentid 坐席id string 坐席id
callid 用户呼叫id string 用户呼叫id
agent_groupid 技能组id string 技能组id
agent_name 坐席名称 string 坐席名称
call_direction 呼叫方向 int 呼叫方向0为呼入,1为呼出
ext_satisfy_type 开启满意度 int 是否开启满意度 1为开启
group_type 技能组类型 int 技能组类型
caller 主叫 string 主叫
callee 被叫 string 被叫
timestamp 时间 string 时间
number_provice string 号码归属地-省
number_city string 号码归属地-市

请求示例:

{
	"agent_groupid": "aa0e6a0584044fc49d1231678942_1",
	"agent_group_name": "呼入客服组",
	"agent_group_type": "2",
	"agentid": "30aa6142dse802e4314c2859a",
	"appid": "8a216dacgytsf866b811185b",
	"callee": "03703737721",
	"caller": "05503564427",
	"callid": "ee450462-6acf-4244-8bd3-21kiy918225",
	"companyid": "aa0e6a05840mlout6d0d678942",
	"call_direction": 1,
	"ext_satisfy_type": 0,
	"group_type": 2,
	"message_number": 215271,
	"msg_type": "StartService",
	"satisfy_number": "-1",
    "number_provice":"北京",
    "number_city":"北京",
	"timestamp": "20190117114230215"
}

# 8.3、用户振铃

请求包体:

字段编码 字段名称 类型 备注说明
companyid 企业id string 企业id
appid 应用id string 应用id
msg_type 消息类型 string 消息类型,此处为PhoneStateUserRing
agentid 坐席id string 坐席id
callid 用户呼叫id string 用户呼叫id,当状态为2、3、由3变为0时,此值不为空。默认值为空
caller 主叫 string
callee 被叫 string
number_provice string 号码归属地-省
number_city string 号码归属地-市

请求示例:

{ 
	"companyid":" 8a48b5514835561a01483e9149d803d8",
    "appid": "8a48b5514835561a01483e9149d803d8",
    "callid": "xxx",
    "callee": "18645658308",
    "caller": "01086484075",
    "number_provice":"北京",
    "number_city":"北京",
    "msg_type": "PhoneStateUserRing",
    "agentid":"xxx"
}

# 8.4、用户接听

请求包体:

字段编码 字段名称 类型 备注说明
companyid 企业id string 企业id
appid 应用id string 应用id
msg_type 消息类型 string 消息类型,此处为PhoneStateUserConnected
agentid 坐席id string 坐席id
callid 用户呼叫id string 用户呼叫id,当状态为2、3、由3变为0时,此值不为空。默认值为空
caller 主叫 string
callee 被叫 string
number_provice string 号码归属地-省
number_city string 号码归属地-市

请求示例:

{ 
	"companyid":" 8a48b5514835561a01483e9149d803d8",
    "appid": "8a48b5514835561a01483e9149d803d8",
    "callid": "xxx",
    "callee": "18645658308",
    "caller": "01086484075",
    "number_provice":"北京",
    "number_city":"北京",
    "msg_type": "PhoneStateUserConnected",
    "agentid":"xxx"
}

# 8.5、坐席振铃

请求包体:

字段编码 字段名称 类型 备注说明
companyid 企业id string 企业id
appid 应用id string 应用id
msg_type 消息类型 string 消息类型,此处为PhoneStateAgentRing
agentid 坐席id string 坐席id
callid 用户呼叫id string 用户呼叫id,当状态为2、3、由3变为0时,此值不为空。默认值为空
caller 主叫 string
callee 被叫 string
number_provice string 号码归属地-省
number_city string 号码归属地-市
call_direction 呼叫方向 int 呼叫方向,0为呼入,1为呼出

请求示例:

{ 
	"companyid":" 8a48b5514835561a01483e9149d803d8",
    "appid": "8a48b5514835561a01483e9149d803d8",
    "callid": "xxx",
    "callee": "18645658308",
    "caller": "01086484075",
    "number_provice":"北京",
    "number_city":"北京",
    "call_direction":0,
    "msg_type": "PhoneStateAgentRing",
    "agentid":"xxx"
}

# 8.6、坐席接通

请求包体:

字段编码 字段名称 类型 备注说明
companyid 企业id string 企业id
appid 应用id string 应用id
msg_type 消息类型 string 消息类型,此处为PhoneStateAgentConnected
agentid 坐席id string 坐席id
callid 用户呼叫id string 用户呼叫id,当状态为2、3、由3变为0时,此值不为空。默认值为空
caller 主叫 string
callee 被叫 string
number_provice string 号码归属地-省
number_city string 号码归属地-市
call_direction 呼叫方向 int 呼叫方向,0为呼入,1为呼出

请求示例:

{ 
	"companyid":" 8a48b5514835561a01483e9149d803d8",
    "appid": "8a48b5514835561a01483e9149d803d8",
    "callid": "xxx",
    "callee": "18645658308",
    "caller": "01086484075",
    "number_provice":"北京",
    "number_city":"北京",
    "call_direction":0,
    "msg_type": "PhoneStateAgentConnected",
    "agentid":"xxx"
}

# 8.7、转接坐席消息

转接振铃,被转接坐席振铃时,向转接坐席和被转接坐席推送该消息

请求包体:

字段编码 字段名称 类型 备注说明
admin_agentid 坐席id string 发起转接方坐席id
admin_groupid 技能组id string 发起转接方技能组id
agent_groupid 技能组id string 被转接技能组id
agentid 坐席id string 被转接坐席id
callid 用户呼叫id string 用户呼叫id,当状态为2、3、由3变为0时,此值不为空。默认值为空
appid 应用id string 应用id
call_direction 呼叫方向 int 呼叫方向,0为呼入,1为呼出
msg_type 消息类型 string 消息类型,此处为TransferRing
remote_ip 远端ip string
sub_callid 子通话id string 子通话id
time_stamp string 号码归属地-市
call_direction 呼叫方向 int 呼叫方向,0为呼入,1为呼出
timestamp 时间 string

请求示例:

{
	"admin_agentid": "e499a4cdf232401fb3a43c47e866e92a",
	"admin_groupid": "6fa94a074b8646b38f6f5decc7580fe7_5",
	"agent_groupid": "6fa94a074b8646b38f6f5decc7580fe7_5",
	"agentid": "8406faf259b94a3e8a753f82715ab671",
	"appid": "3186d4c82ab7421ea36d36fcac9cdbbe",
	"callid": "913fad39-40fe-4a98-bdc1-02dab7740a47",
	"companyid": "6fa94a074b8646b38f6f5decc7580fe7",
	"direction": "1",
	"msg_type": "TransferRing",
	"remoteip": "192.168.1.180",
	"sub_callid": "dfc6e616-65fc-4b52-9b27-5851b1395c4d",
	"timeStamp": "20191216222042345"
}

# 8.8、转接连接

被转接坐席接听后,向转接坐席和被转接坐席都推送该消息

请求包体:

字段编码 字段名称 类型 备注说明
admin_agentid 坐席id string 发起转接方坐席id
admin_groupid 技能组id string 发起转接方技能组id
agent_groupid 技能组id string 被转接技能组id
agentid 坐席id string 被转接坐席id
callid 用户呼叫id string 用户呼叫id,当状态为2、3、由3变为0时,此值不为空。默认值为空
appid 应用id string 应用id
call_direction 呼叫方向 int 呼叫方向,0为呼入,1为呼出
msg_type 消息类型 string 消息类型,此处为TransferConnected
remote_ip 远端ip string
sub_callid 子通话id string 子通话id
time_stamp string 号码归属地-市
call_direction 呼叫方向 int 呼叫方向,0为呼入,1为呼出
timestamp 时间 string

请求示例:

{
	"admin_agentid": "e499a4cdf232401fb3a43c47e866e92a",
	"admin_groupid": "6fa94a074b8646b38f6f5decc7580fe7_5",
	"agent_groupid": "6fa94a074b8646b38f6f5decc7580fe7_5",
	"agentid": "8406faf259b94a3e8a753f82715ab671",
	"appid": "3186d4c82ab7421ea36d36fcac9cdbbe",
	"callid": "913fad39-40fe-4a98-bdc1-02dab7740a47",
	"companyid": "6fa94a074b8646b38f6f5decc7580fe7",
	"direction": "1",
	"msg_type": "TransferConnected ",
	"remoteip": "192.168.1.180",
	"sub_callid": "dfc6e616-65fc-4b52-9b27-5851b1395c4d",
	"timeStamp": "20191216222042345"
}

# 8.9、转接确认

当转接坐席确认转接后,向被转接坐席都推送该消息

请求包体:

字段编码 字段名称 类型 备注说明
admin_agent_init_state 坐席初始化状态 string 发起转接坐席初始话状态
agentid 坐席id string 发起转接方技能组id
agent_init_state 坐席初始化状态 string 被转接坐席初始话状态
callid 用户呼叫id string 用户呼叫id,当状态为2、3、由3变为0时,此值不为空。默认值为空
appid 应用id string 应用id
msg_type 消息类型 string 消息类型,此处为 TransferConfirm
sub_callid 子通话id string 子通话id
time_stamp string 号码归属地-市

请求示例:

{
	"admin_agent_init_state ": "",
	"agent_init_state ": "6fa94a074b8646b38f6f5decc7580fe7_5",
	"agentid": "8406faf259b94a3e8a753f82715ab671",
	"appid": "3186d4c82ab7421ea36d36fcac9cdbbe",
	"callid": "913fad39-40fe-4a98-bdc1-02dab7740a47",
	"companyid": "6fa94a074b8646b38f6f5decc7580fe7",
	"msg_type": " TransferConfirm ",
	"sub_callid": "dfc6e616-65fc-4b52-9b27-5851b1395c4d",
	"timeStamp": "20191216222042345"
}

# 8.10、转接挂断

当转接坐席确认转接后,向转接坐席都推送该消息

请求包体:

字段编码 字段名称 类型 备注说明
admin_agentid 坐席id string 发起转接方坐席id
admin_groupid 技能组id string 发起转接方技能组id
agent_groupid 技能组id string 被转接技能组id
agentid 坐席id string 被转接坐席id
admin_agent_init_state 坐席初始化状态 string 发起转接坐席初始话状态
agent_init_state 坐席初始化状态 string 被转接坐席初始话状态
callid 用户呼叫id string 用户呼叫id,当状态为2、3、由3变为0时,此值不为空。默认值为空
after_work_flag 后处理标记 string 后处理标记
appid 应用id string 应用id
call_direction 呼叫方向 int 呼叫方向,0为呼入,1为呼出
duration 持续时间(秒) string 持续时间
msg_type 消息类型 string 消息类型,此处为TransferHangup
notify_type 转接类型 int 0: 转接中被转接坐席挂机。 1: 转接中发起转接坐席挂机。 2: 确认转接后被转接坐席挂机。 3: 确认转接后发起转接坐席挂机。 4:取消转接后被转接坐席挂机。 5:取消转接后发起转接坐席挂机。
remote_ip 远端ip string
sub_callid 子通话id string 子通话id
call_direction 呼叫方向 int 呼叫方向,0为呼入,1为呼出
timestamp 时间 string

请求示例:

{
	"admin_agentid": "e499a4cdf232401fb3a43c47e866e92a",
	"admin_groupid": "6fa94a074b8646b38f6f5decc7580fe7_5",
	"agent_groupid": "6fa94a074b8646b38f6f5decc7580fe7_5",
	"agentid": "8406faf259b94a3e8a753f82715ab671",
	"appid": "3186d4c82ab7421ea36d36fcac9cdbbe",
	"callid": "913fad39-40fe-4a98-bdc1-02dab7740a47",
	"companyid": "6fa94a074b8646b38f6f5decc7580fe7",
    "admin_agent_init_state": "1",
    "agent_init_state": "1",
	"direction": "1",
    "notify_type": 2,
    "direction": "1",
	"duration": "96",
	"msg_type": "TransferConnected ",
	"remoteip": "192.168.1.180",
	"sub_callid": "dfc6e616-65fc-4b52-9b27-5851b1395c4d",
	"timeStamp": "20191216222042345"
}

# 8.11、通话结束

请求包体:

字段编码 字段名称 类型 备注说明
companyid 企业id string 企业id
appid 应用id string 应用id
msg_type 消息类型 string 消息类型,此处为StopService
agentid 坐席id string 坐席id
callid 用户呼叫id string 用户呼叫id,当状态为2、3、由3变为0时,此值不为空。默认值为空
agent_groupid 技能组id string 呼叫所属技能组id
agent_group_name 技能组名称 string 呼叫所属技能组名称
caller 主叫 string
callee 被叫 string
number_provice string 号码归属地-省
number_city string 号码归属地-市
call_direction 呼叫方向 int 呼叫方向,0为呼入,1为呼出
duration 有效通话时长 int
timestamp 时间 string
voice_aliyun_url 录音地址 string

请求示例:

{
	"agent_groupid": "a4b2c401c19e4b8e8e79bbd435c9",
	"agent_group_name": "管理团队",
	"agent_group_type": "3",
	"agentid": "2259b2a30d914e31bd0cb81cac27e5d3",
	"appid": "8aaf070863b526a40163c8c01bc60a8e",
	"callee": "18645658308",
	"caller": "01086484075",
	"callid": "45b3b81f-791c-4a5f-b40c-cac25183f",
	"companyid": "a4b2c401c19eebw29bbd435c978a0",
	"call_direction": 1,
	"duration": 0,
    "number_provice":"北京",
    "number_city":"北京",
	"ext_satisfy_type": 0,
	"group_type": "3",
	"message_number": 195837,
	"msg_type": "StopService",
	"satisfy_number": "-1",
	"timestamp": "20190117112823492",
	"voice_aliyun_url": ""
}

# 8.12、满意度调查

请求包体:

字段编码 字段名称 类型 备注说明
companyid 企业id string 企业id
appid 应用id string 应用id
msg_type 消息类型 string 消息类型,此处为EvaluateResult
agentid 坐席id string 坐席id
callid 用户呼叫id string 用户呼叫id,当状态为2、3、由3变为0时,此值不为空。默认值为空
agent_groupid 技能组id string
agent_name 坐席名称 string
call_direction 呼叫方向 int 呼叫方向,0为呼入,1为呼出
ext_satisfy_type 是否开启满意度 int 是否开启满意度 1为开启
caller_attr 主叫归属地 string
group_type 技能组类型 int
caller 主叫 string
callee 被叫 string
satisfy_level 满意度等级 int 满意度等级 2:两级 3:三级,5:五级
satisfy_number 满意度按键 string
timestamp 时间 string

请求示例:

{
	"agent_groupid": "6b0132ff7eff4d5aa82835107951c0376_1",
	"agent_name": "测试",
	"agentid": "060f0cca6b52wj8361424c6b7199",
	"appid": "8aaf0alpou15d399fc1140f38",
	"callee": "01062051663",
	"caller": "15270887626",
	"callid": "b1e70752-1a08-11e9-acf3-8f81eltred5",
	"companyid": "6b0132ffvmsytn207951c0376",
	"call_direction": 0,
	"ext_satisfy_type": 1,
	"caller_attr": "江西|南昌",
	"group_type": 2,
	"message_number": "206755",
	"msg_type": "EvaluateResult",
	"satisfy_level": "2",
	"satisfy_number": "1",
	"start_time": "1547696044188",
	"timestamp": "20190117113559767"
}

# 8.13、批量坐席状态查询

接口说明:

按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 需要提醒的用户号码

返回参数:

字段编码 字段名称 字段类型 备注说明
ret_code 返回编码 string 000000成功 其余均失败
ret_msg 返回信息 string 返回信息
item 返回对象 Object 详看下表
字段编码 字段名称 字段类型 备注说明
companyid 公司id string -
created_staff 坐席id string 创建联系计划
customer_phone_number 用户号码 string 需要提醒的用户号码
hidden_flag 号码隐藏 string 0.不隐藏 1.中间隐藏2.末尾隐藏
id Id string 联系计划id
plan_time 联系计划时间 long 联系计划时间(时间戳)
remarks 备注 string 联系计划的备注
remind_time 提醒时间 string 距离预约时间是提醒(分钟)
task_name 计划名称 string -
visit_result 回访结果 int 0全部 1未执行 2已执行 3已过期

请求示例:

{
	"companyid": "e59a230a84ba4cee8c40e6e0b00b256a",
    "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": {
        "companyid": "6fa94a074b8646b38f6f5decc7580fe7",
        "created_staff": "279c06647f814a2ebae0212e4c5faaf2",
        "customer_phone_number": "13800138000",
        "hidden_flag": 0,
        "id": "1a94b4d2bfe54205b81f21f52a5767f2",
        "is_reminded": 0,
        "operation_type": 0,
        "plan_time": 1576080000,
        "remarks": "test",
        "remind_time": "100",
        "task_tame": "123123",
        "visit_result": 3
    }
}

# 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格式

访问方式:

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格式

访问方式:

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 自定义每一列的标题名称
service_email 客户名称 string 智齿账号,此帐号一定要是正确的智齿账号且与token实在同一个公司,如果有值将会分配到此帐号下的任务中
call_number 电话号码 string 导入的号码
cus_field 列名 string 自定义列中的内容,每列以逗号隔开,此处个数要与自定义标题列个数相对应
hidden_flag 号码隐藏 int 任务中号码是否隐藏0.不隐藏 1.中间隐藏2.末尾隐藏,不填默认为0

返回参数:

字段编码 字段名称 字段类型 备注说明
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

返回示例:

{
    "ret_code": "000000",
    "ret_msg": "成功"
}

# 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
}

# 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数为空