所有api接口都需要鉴权规则,具体详情前往新平台鉴权规则查看

目录

1.座席功能接口

1.1 查询账户下技能组列表

请求参数

请求示例

curl --location --request POST 'http://v7openapi.7moor.com/openapi/v1/base/queue/list' \
--header 'm7-appkey: 2000100' \
--header 'm7-nonce: 111922' \
--header 'm7-sign: lmwwrahWCRO0x+3DhlMMVgB2V5ytUXp5GxbLTW9wOig=' \
--header 'm7-timestamp: 1609226863021' \
--header 'content-type: application/json' \
--data-raw '{
}'

返回结果

字段名称 字段类型 是否必传 字段描述
success boolean 是否成功 true(成功) false(失败)
code string 状态码 "200" 成功
message string 状态消息 "200 ok!" 成功
data object[] 技能组列表

queue

字段名称 字段类型 是否必传 字段描述
_id string 技能组id 主键
members object[] 技能组成员配置 uid(座席Id) weight(权重)
account string 账户编号
status string 技能组状态 enable(启用) disable(禁用)
name string 技能组名称
createUser string 创建人
updateUser string 更新人
createTime string 创建时间
updateTime string 更新时间
callConfig object 通话技能组通话配置 assignStrategy(分配策略) maxLimit(最大并发数) sayJobNumber(是否报工号) timeOut(超时) userFreeTransfer(无空闲座席溢出) waitTime(排队时长)
webchatConfig object 在线技能组通话配置 assignStrategy(分配策略) maxTime(最大排队时长) maxNum(最大排队人数)

返回示例

{
    "success":true,
    "code":"200",
    "message":"200 ok!",
    "data":[
        {
            "_id":"10000004",
            "members":[
                {
                    "uid":"5fd2f31c63e3080021c14c5b",
                    "weight":1,
                    "agentName":"张三",
                    "agentNumber":"2000"
                }
            ],
            "account":"2000103",
            "status":"enable",
            "name":"默认技能组",
            "createTime":"2020-12-11 12:18:36",
            "updateTime":"2021-02-24 16:47:22",
            "createUser":"system",
            "updateUser":"5fd318e94c65ba0011afaa06",
            "callConfig":{
                "assignStrategy":"rrmemory",
                "maxLimit":10,
                "sayJobNumber":false,
                "timeOut":30,
                "userFreeTransfer":false,
                "waitTime":"3600"
            },
            "webchatConfig":{
                "assignStrategy":"queue",
                "maxNum":0,
                "maxTime":"0"
            }
        }
    ]
}

1.2 添加技能组

请求参数

字段名称 字段类型 是否必传 字段描述
name string 技能组名称
members Object[] 分配座席和权重
members[].agentNumber string 座席工号
members[].weight int 权重
callConfig Object 通话配置
callConfig.assignStrategy string 分配策略,rrmemory(轮选),random(随机),order(顺序),skill(技能),maxFreeTime(最长空闲时间),leastAnswerTimes(最少接听次数)
callConfig.sayJobNumber boolean 是否报工号
callConfig.userFreeTransfer boolean 无空闲座席时溢出
callConfig.maxLimit int 最大排队数
callConfig.timeOut int 座席振铃时长
callConfig.waitTime int 排队时长
webchatConfig Object 在线客服配置
webchatConfig.assignStrategy string 分配策略, queue(轮选),random(随机),priority(技能),least(平均)
webchatConfig.maxNum int 最大排队人数
webchatConfig.maxTime int 最大排队时长

请求示例


curl --location --request POST 'http://v7openapi.7moor.com/openapi/v1/base/queue/create' \
--header 'm7-appkey: 2000100' \
--header 'm7-nonce: 111922' \
--header 'm7-sign: lmwwrahWCRO0x+3DhlMMVgB2V5ytUXp5GxbLTW9wOig=' \
--header 'm7-timestamp: 1609226863021' \
--header 'content-type: application/json' \
--data-raw '{
    "name": "Q101",
    "members": [{
        "agentNumber": "9527",
        "weight": 1
    }],
    "webchatConfig": {
        "assignStrategy": "random",
        "maxTime": 20,
        "maxNum": 10
    }
}'

返回结果

字段名称 字段类型 是否必传 字段描述
success boolean 是否成功 true(成功) false(失败)
code string 状态码 "200" 成功
message string 状态消息 "200 ok!" 成功
data object 新添加的技能组
data._id string 技能组id 主键
data.queueId string 同data._id
data.members object[] 技能组成员配置 uid(座席Id) weight(权重)
data.account string 账户编号
data.status string 技能组状态 enable(启用) disable(禁用)
data.name string 技能组名称
data.createUser string 创建人
data.updateUser string 更新人
data.createTime string 创建时间
data.updateTime string 更新时间
data.callConfig object 通话技能组通话配置 assignStrategy(分配策略) maxLimit(最大并发数) sayJobNumber(是否报工号) timeOut(超时) userFreeTransfer(无空闲座席溢出) waitTime(排队时长)
data.webchatConfig object 在线技能组通话配置 assignStrategy(分配策略) maxTime(最大排队时长) maxNum(最大排队人数)

返回示例

{
  "success": true,
  "code": "200",
  "message": "requestSuccess",
  "data": {
    "_id": "10000586",
    "account": "2100147",
    "createTime": "2021-07-22 18:06:29",
    "createUser": "system",
    "updateTime": "2021-07-22 18:06:29",
    "updateUser": "system",
    "members": [
      {
        "uid": "6059a9a63fa2b7002138b962",
        "weight": 1
      }
    ],
    "name": "Q101",
    "callConfig": {
      "assignStrategy": "rrmemory",
      "maxLimit": 10,
      "sayJobNumber": false,
      "timeOut": 30,
      "userFreeTransfer": false,
      "waitTime": 60
    },
    "status": "enable",
    "webchatConfig": {
      "assignStrategy": "random",
      "maxTime": 20,
      "maxNum": 10
    }
  }
}

1.3 更新技能组

请求参数

字段名称 字段类型 是否必传 字段描述
queueId string 技能组ID
name string 技能组名称
members Object[] 分配座席和权重
members[].agentNumber string 座席工号
members[].weight int 权重
callConfig Object 通话配置
callConfig.assignStrategy string 分配策略,rrmemory(轮选),random(随机),order(顺序),skill(技能),maxFreeTime(最长空闲时间),leastAnswerTimes(最少接听次数)
callConfig.sayJobNumber boolean 是否报工号
callConfig.userFreeTransfer boolean 无空闲座席时溢出
callConfig.maxLimit int 最大排队数
callConfig.timeOut int 座席振铃时长
callConfig.waitTime int 排队时长
webchatConfig Object 在线客服配置
webchatConfig.assignStrategy string 分配策略, queue(轮选),random(随机),priority(技能),least(平均)
webchatConfig.maxNum int 最大排队人数
webchatConfig.maxTime int 最大排队时长

请求示例


curl --location --request POST 'http://v7openapi.7moor.com/openapi/v1/base/queue/modify' \
--header 'm7-appkey: 2000100' \
--header 'm7-nonce: 111922' \
--header 'm7-sign: lmwwrahWCRO0x+3DhlMMVgB2V5ytUXp5GxbLTW9wOig=' \
--header 'm7-timestamp: 1609226863021' \
--header 'content-type: application/json' \
--data-raw '{
    "queueId": "10000586",
    "name": "Q101",
    "members": [{
        "agentNumber": "9527",
        "weight": 2
    },{
        "agentNumber": "2000",
        "weight": 1
    }]
}'

返回结果

字段名称 字段类型 是否必传 字段描述
success boolean 是否成功 true(成功) false(失败)
code string 状态码 "200" 成功
message string 状态消息 "200 ok!" 成功
data object 技能组信息
data._id string 技能组id 主键
data.members object[] 技能组成员配置 uid(座席Id) weight(权重)
data.account string 账户编号
data.status string 技能组状态 enable(启用) disable(禁用)
data.name string 技能组名称
data.createUser string 创建人
data.updateUser string 更新人
data.createTime string 创建时间
data.updateTime string 更新时间
data.callConfig object 通话技能组通话配置 assignStrategy(分配策略) maxLimit(最大并发数) sayJobNumber(是否报工号) timeOut(超时) userFreeTransfer(无空闲座席溢出) waitTime(排队时长)
data.webchatConfig object 在线技能组通话配置 assignStrategy(分配策略) maxTime(最大排队时长) maxNum(最大排队人数)

返回示例

{
  "success": true,
  "code": "200",
  "message": "requestSuccess",
  "data": {
    "name": "Q101",
    "members": [
      {
        "uid": "6059a9a63fa2b7002138b962",
        "weight": 2
      },
      {
        "uid": "6037844e455a140021f22c31",
        "weight": 1
      }
    ],
    "updateTime": "2021-07-22 18:10:15",
    "updateUser": "system",
    "callConfig": {
      "assignStrategy": "rrmemory",
      "maxLimit": 10,
      "sayJobNumber": false,
      "timeOut": 30,
      "userFreeTransfer": false,
      "waitTime": 60
    },
    "_id": "10000586"
  }
}

1.4 删除技能组

请求参数

字段名称 字段类型 是否必传 字段描述
queueId string 技能组ID

请求示例


curl --location --request POST 'http://v7openapi.7moor.com/openapi/v1/base/queue/delete' \
--header 'm7-appkey: 2100147' \
--header 'm7-nonce: 111922' \
--header 'm7-sign: lmwwrahWCRO0x+3DhlMMVgB2V5ytUXp5GxbLTW9wOig=' \
--header 'm7-timestamp: 1609226863021' \
--header 'content-type: application/json' \
--data-raw '{
    "queueId": "10000586"
}'

返回结果

字段名称 字段类型 是否必传 字段描述
success boolean 是否成功 true(成功) false(失败)
code string 状态码 "200" 成功
message string 状态消息 "200 ok!" 成功
data object 技能组信息
data._id string 技能组id 主键
data.members object[] 技能组成员配置 uid(座席Id) weight(权重)
data.account string 账户编号
data.status string 技能组状态 enable(启用) disable(禁用)
data.name string 技能组名称
data.createUser string 创建人
data.updateUser string 更新人
data.createTime string 创建时间
data.updateTime string 更新时间
data.callConfig object 通话技能组通话配置 assignStrategy(分配策略) maxLimit(最大并发数) sayJobNumber(是否报工号) timeOut(超时) userFreeTransfer(无空闲座席溢出) waitTime(排队时长)
data.webchatConfig object 在线技能组通话配置 assignStrategy(分配策略) maxTime(最大排队时长) maxNum(最大排队人数)

返回示例

{
  "success": true,
  "code": "200",
  "message": "requestSuccess",
  "data": {
    "_id": "10000586",
    "members": [
      {
        "uid": "6059a9a63fa2b7002138b962",
        "weight": 2
      },
      {
        "uid": "6037844e455a140021f22c31",
        "weight": 1
      }
    ],
    "account": "2100147",
    "createTime": "2021-07-22 18:06:29",
    "createUser": "system",
    "updateTime": "2021-07-22 18:10:15",
    "updateUser": "system",
    "name": "Q101",
    "callConfig": {
      "assignStrategy": "rrmemory",
      "maxLimit": 10,
      "sayJobNumber": false,
      "timeOut": 30,
      "userFreeTransfer": false,
      "waitTime": 60
    },
    "status": "enable",
    "__v": 0
  }
}

接口限流说明

为防止接口调用请求过频带来的风险,接口请求具有限流机制 账户限流:20次/分

2 错误码

说明

v7 联络云系统接口通话/座席相关错误码

错误编码 中文信息 英文信息 错误原因 解决方案
6700 获取座席在线状态失败 请联系管理员 get agent online status fail 服务内部异常 发生此问题 请联系管理员
6701 座席不存在 请选择正确的座席 agent no found 账户下不存在该座席 请在登录时确保工号无误
6702 座席已被停用 请选择启用的座席 agent is disable 座席被停用 请在v7系统中重新启用座席或选择启用的座席
6703 座席已被删除 请选择正确的座席 agent is delete 座席被删除 目前v7系统中没有删除座席的按钮 该错误不会出现
6704 占用licence失败 账户所属席位不足 agent occupy fail 账户下licence数量不足 1. 在计费购买更多该座席版本的licence数量 2. 登录其他有数量的版本座席 3. 下线其他同版本座席
6705 座席获取通话能力失败 请联系管理员 agent online fail 服务内部异常 发生此问题 请联系管理员
6706 请求头m7-appkey不存在 no found accountId 请求头m7-appkey不存在 请在请求头中添加m7-appkey参数
6707 请求体座席工号不存在 no found agentNumber 请求体座席工号未传 部分接口是需要在请求体中添加agentNumber来定位座席的 请在请求体中传递该参数
6708 座席未登录 请登录座席 agent must login openApi或web端座席不在线 需要上线openApi或web端才能正常使用通话能力
6709 座席置忙失败 请联系管理员 agent use busy fail 服务内部异常 发生此问题 联系管理员
6710 座席置闲失败 请联系管理员 agent use rest fail 服务内部异常 发生此问题 联系管理员
6711 座席登录状态非法 必须属于PSTN,SIP,WEBRTC的一种 agent loginType must in PSTN,SIP,WEBRTC 座席登录状态错误 请按照文档中提供的字段进行传递
6712 座席未在通话中 agent not calling 座席必须在通话中,保持,静音状态下才可以使用保持,取消保持,静音,取消静音接口 在调用保持或静音时,请校验当前通话状态
6713 座席正在通话中 请勿重复外呼 agent is calling 外呼状态下无法重复外呼 在外呼时,请校验当前通话状态
6714 座席正在通话中 请勿更换状态 agent not change status 通话中无法切换座席状态 在切换座席状态时,请校验当前通话状态
6715 座席未在通话中 无法挂机 unable to hangUp 不在通话中的座席无法挂机 在挂机时,请校验是否在通话中
6716 座席绑定状态无效 必须属于PSTN,SIP的一种 agent bindType must in PSTN,SIP 绑定的号码状态不属于SIP或PSTN 请传递文档中指定的绑定状态
6717 账户不存在 account no found 账户编号在v7平台中不存在 请确保请求头中的m7-appkey是有效的账户编号
6718 账户已停用 account disable 账户已被停用 发生此问题 请联系管理员
6719 同步座席失败 update agent fail 服务内部异常 发生此问题 请联系管理员
6720 同步座席SIP号失败 sync sipNumber fail 服务内部异常 发生此问题 请联系管理员
6721 座席手机号重复 agent mobile repeat 同一个账户下的座席手机号不可以重复 1. 绑定其他手机号 2. 将相同座席的手机号去除后再绑定
6722 SIP号未注册 无法绑定 sip not register 座席绑定的SIP号码必须是已注册且未绑定的 1. 选择已注册且未被座席绑定的SIP号 2. 添加新的SIP号进行注册绑定
6723 报表查询最大支持3个月 report max month 查询外呼号码接通率报表的时间间隔太长 请选择小于或等于三个月的时间间隔进行查询
6724 外呼规则参数只支持0,1 0(随机) 1(地区) dialOut rule must in 1,2 外呼指定外呼策略的参数格式错误 请传递文档中指定格式
6725 外呼回调参数长度超出150个字符的长度 dialOut extras beyond 外呼时指定的extras参数过长 请传递小于255个字节数的自定义信息
6726 风控服务异常 risk control service exception 服务内部异常 发生此问题 请联系管理员
6727 风控禁止外呼 risk control dialout forbidden 外呼频率过高导致号码被风控 1. 降低该号码的外呼频率 2. 使用其他的外呼号码
6728 风控外呼提醒 risk control dialout warning 外呼频率过高 即将被风控 1. 降低该号码的外呼频率 2. 使用其他的外呼号码 3. 继续外呼 但可能会被风控导致无法外呼
6730 坐席已锁定 请联系管理员解除锁定 agent is lock, please contact admin 连续输入多次错误密码导致的座席锁定 发生此问题 请联系管理员
6731 无法定位座席 缺少座席id或座席工号 agentId and agentNumber no found 接口中未传递座席id或座席工号 请传递文档中指定格式
6732 角色参数类型无效 role invalid param 创建座席时指定的角色id参数类型错误 请使用角色列表中的id进行创建
6733 呼叫开始时间和呼叫结束时间必填 startTime and endTime must need 查询外呼号码接通率报表没有指定开始和结束时间 请传递开始和结束时间字段
6734 呼叫开始时间或呼叫结束时间格式错误 startTime or endTime format error
6734 通话记录查询最大支持10000条 query cdr list max count 10000
2017 转换extras参数失败 请检查extras参数格式 conver extras to json fail 服务内部异常 发生此问题 请联系管理员
2020 该座席所属版本不具备通话能力或该座席所属版本不具备在线咨询能力 lack of call_toolbar permission or lack of im_change permission 该座席所属版本不具备通话能力或该座席所属版本不具备在线咨询能力 请使用正确的licence版本座席进行登录
2021 帐户余额不足 account balance not enough 账户余额不足 无法进行外呼 请联系管理员缴费

v7 联络云系统接口其他错误码

错误编码 中文信息 英文信息 错误原因 解决方案
50001 路由不存在 route not found 请求接口的路径错误 请检查接口路径是否和文档中描述的一致
50002 鉴权失败 auth failed 令牌校验算法错误 请参阅提供的代码示例进行令牌加密
50006 服务不存在,请检查service配置 server not found 请求接口的服务错误 请检查接口路径是否和文档中描述的一致
50007 请求远程服务出错 request server error 服务内部异常 发生此问题 请联系管理员
50008 远程地址不存在 remote addr 404 请求接口的路径错误 请检查接口路径是否和文档中描述的一致
50009 远程请求未知错误 remote addr error 服务内部异常 发生此问题 请联系管理员
50010 请求超过频率限制 limit error 请求频次过高 请降低请求频次
50012 headers: m7-appkey错误 headers appkey error 请求头m7-appkey不存在 请在请求头中添加m7-appkey参数
50013 headers: m7-timestamp错误 headers timestamp error 请求头m7-timestamp不存在 请在请求头中添加m7-timestamp参数
50014 该请求已过时 headers timestamp overtime m7-timestamp有效期为五分钟 请及时刷新m7-timestamp时间戳
50015 headers: m7-sign错误 headers sign error 令牌校验算法错误 请参阅提供的代码示例进行令牌加密
50016 headers: m7-nonce错误 headers nonce error 随机数不等于6位数 请传递6位数随机数
50018 sk配置未找到 sk not found 企业密钥不存在 请使用正确的账户密钥
50019 请输入10位秒级时间戳 timestamp timeout m7-timestamp格式错误 请传递十位时间戳
50020 频率超限 account route limited 请求频次过高 请降低请求频次
40000 参数异常 param error 未按照文档指定的参数格式进行传递 导致在服务中校验失败 请传递文档指定的参数格式