1、通话报表数据查询接口

注意:本接口的使用需要进行接口鉴权

a、请求

  • HTTP请求方式:POST

  • 请求url:{HOST}/v20180426/report/getReportData/{ACCOUNTID}?sig={SIG}

  • 请求时请将{HOST}换成对接数据查询中获取到的请求域名,{ACCOUNTID}替换为账户编号,{SIG}是根据鉴权规则生成的,请看鉴权文档,查看具体的生成规则

  • 鉴权方式:接口鉴权

  • 请求频次限制:1次/分钟

b、适用报表

通话报表-坐席报表-坐席工作量报表,工单整体分析报表,工单座席工作量报表,呼出时间趋势报表,技能组对比报表

c、时间查询

日报,月报

d、请求体

字段 是否必填
reportType call_report_agent:坐席工作量报表
call_report_callout_time:呼出时间趋势报表
business_report_analyse:工单整体分析报表
business_report_agent:工单坐席工作量报表
call_report_queue:技能组对比报表
yearReport 2020
monthReport 查询月报必传(示例:查询1月报表可传'01')
dayReport 查询日报必传(示例:查询1号报表可传'01')
timeType day:日报
month:月报

e、响应体:

{
        "success":true,
        "tableHeader": {},   // 报表表头字段说明
        "data":[]           //报表数据
   }

2、通话座席工作量报表日报详情查询接口

查询指定座席一天内的详细报表数据。

报表时间ReportTime表示[ReportTime, RportTime + 30分钟)这样一个时间段,即半小时时间段的开始时间。

a、请求

  • HTTP请求方式: POST
  • 请求url: {HOST}/v20180426/report/getAgentReportDetails/{ACCOUNTID}?sig={SIG}
  • 请求时请将{HOST}换成对接数据查询中获取到的请求域名,{ACCOUNTID}替换为账户编号,{SIG}是根据鉴权规则生成的,请看鉴权文档,查看具体的生成规则
  • 鉴权方式:接口鉴权
  • 请求频次限制: 1次/分钟

b、请求体:

参数 是否必填 类型 描述
agent 字符串 YYYY, 例如2020
year 字符串 座席ID或座席工号
month 字符串 MM, 例如08
day 字符串 DD, 例如01
zeroFill 布尔类型 是否按1天48个半小时时段补全数据

c、响应

响应体:

字段 含义
code 响应码
message 响应信息
success 是否成功
tableHeader 表头,包含了字段说明
data 报表数据

响应码:

代码 含义
200 请求成功
400 请求参数错误
401 鉴权错误
403 接口访问频次达到上限
500 服务器错误

d、返回示例:

{
  "success": true,
  "tableHeader": {
    "_id": "521aca13f16743b15374a1f1",
    "Account": "system",
    "Config": [
      {
        "name": "show_time",
        "displayname": "时间",
        "show": true,
        "order": "1"
      },
      {
        "name": "CallInAccessCount",
        "displayname": "呼入振铃数",
        "show": true,
        "order": "2"
      },
      {
        "name": "CallInAcceptCount",
        "displayname": "呼入接通数",
        "show": true,
        "order": "3"
      },
      // ...
    ],
  },
  "data": [
  {
    "ReportTime": "2020-08-26 00:00:00",
    "CallInAcceptCount": 0,
    "CallInAccessCount": 0,
    "CallOutAcceptCount": 0,
    "CallOutAccessCount": 0,
    "TransferAcceptCount": 0,
    "TransferUnacceptCount": 0,
    "RingingTimeLength": 0,
    "HoldTimeLength": 0,
    "ConsultTimeLength": 0,
    "ThreeWayCallTimeLength": 0,
    "CallInTimeLength": 0,
    "CallOutTimeLength": 0,
    "LOGIN_TIME_LENGTH": 0,
    "BUSY_TIME_LENGTH": 0,
    "IDLE_TIME_LENGTH": 0,
    "STATE2_TIME_LENGTH": 0,
    "STATE3_TIME_LENGTH": 0,
    "STATE4_TIME_LENGTH": 0,
    "STATE5_TIME_LENGTH": 0,
    "STATE6_TIME_LENGTH": 0,
    "STATE7_TIME_LENGTH": 0,
    "STATE8_TIME_LENGTH": 0,
    "STATE9_TIME_LENGTH": 0,
    "STATE99_TIME_LENGTH": 0,
    "NormalTransferTimeLength": 0,
    "DialTransferTimeLength": 0,
    "IncomingRingingTimeLength": 0,
    "OutgoingWaitingTimeLength": 0,
    "OutgoingAbandonCount": 0,
    "HoldSoftphoneCount": 0,
    "HoldSoftphoneTimeLength": 0,
    "RollOutCount": 0,
    "RepeatCallInBy24hCount": 0,
    "RepeatCallInBy48hCount": 0,
    "RedirectAgentDeal": 0,
    "RedirectAgentNotDeal": 0,
    "RedirectGroupDeal": 0,
    "RedirectGroupNotDeal": 0,
    "CallInAcceptRate": "0%",
    "IntegratedCallInAcceptRate": "0%",
    "CallInAverageTimeLength": 0,
    "CallOutAverageTimeLength": 0,
    "AverageHourCallCount": 0,
    "CallInNotDealCount": 0,
    "TransferTimeLength": 0,
    "TransferCount": 0,
    "TransferAcceptRate": "0%"
  },
  // ...
  ]
}

3、会话数时间趋势报表

报表→在线客服报表→会话报表→会话数时间趋势报表

a.请求

  • 请求方式:POST

  • 请求URL:{HOST}/v20180426/reportIM/queryImSessionTimeReport/{ACCOUNTID}?sig=sig

  • 请求时请将{HOST}换成对接数据查询中获取到的请求域名,{ACCOUNTID}替换为账户编号,SIG是根据鉴权规则生成的,请看鉴权文档,查看具体的生成规则

  • 鉴权方式:接口鉴权

  • 频次限制:20次/每分钟

  • 请求示例:http://apis.7moor.com/v20180426/reportIM/queryImSessionTimeReport/N000000xxxxx?sig=DBD2D28F3D895AAD1572925AAE50AEA8

b.请求体

字段 是否必填
yearReport 2020
monthReport 查询月报必传(示例:查询1月报表可传'01')
dayReport 查询日报必传(示例:查询1号报表可传'01')
timeType day:日报 month:月报
selectedAccessIdList 接入号id

c.返回值

字段 含义
code 响应码
message 响应信息
data 返回数据,JSON格式。sum:报表合计信息记录,description:报表表头信息描述,data:报表普通记录信息

d.请求体示例

{
      "yearReport":"2020",
      "monthReport":"08",
      "dayReport":"17",
      "timeType":"day",
      "selectedAccessIdList":["4fb75c90-b81d-11e9-b498-3531d7fbe0f8"]
}

4、坐席工作量报表

报表→在线客服报表→坐席报表→坐席工作量报表

a、请求

  • 请求方式:POST

  • 请求URL:{HOST}/v20180426/reportIM/queryImAgentReport/{ACCOUNTID}?sig=sig

  • 请求时请将{HOST}换成对接数据查询中获取到的请求域名,{ACCOUNTID}替换为账户编号,SIG是根据鉴权规则生成的,请看鉴权文档,查看具体的生成规则

  • 鉴权方式:接口鉴权

  • 频次限制:20次/每分钟

  • 请求示例:http://apis.7moor.com/v20180426/reportIM/queryImAgentReport/N000000xxxxx?sig=DBD2D28F3D895AAD1572925AAE50AEA8

b、请求体

字段 是否必填
yearReport 2020
monthReport 查询月报必传(示例:查询1月报表可传'01')
dayReport 查询日报必传(示例:查询1号报表可传'01')
timeType day:日报 month:月报

c、返回值

字段 含义
code 响应码
message 响应信息
data 返回数据,JSON格式。sum:报表合计信息记录,description:报表表头信息描述,data:报表普通记录信息

d、请求体示例

{
    "yearReport":"2020",
    "monthReport":"08",
    "dayReport":"17",
    "timeType":"day"
}

5、客服响应统计报表

报表→在线客服报表→坐席报表→客服响应统计报表

a、请求

  • 请求方式:POST

  • 请求URL:{HOST}/v20180426/reportIM/queryImAgentResponseReport/{ACCOUNTID}?sig=sig

  • 请求时请将{HOST}换成对接数据查询中获取到的请求域名,{ACCOUNTID}替换为账户编号,SIG是根据鉴权规则生成的,请看鉴权文档,查看具体的生成规则

  • 鉴权方式:接口鉴权

  • 频次限制:20次/每分钟

  • 请求示例:http://apis.7moor.com/v20180426/reportIM/queryImAgentResponseReport/N000000xxxxx?sig=DBD2D28F3D895AAD1572925AAE50AEA8

b、请求体

字段 是否必填
yearReport 2020
monthReport 查询月报必传(示例:查询1月报表可传'01')
dayReport 查询日报必传(示例:查询1号报表可传'01')
timeType day:日报 month:月报

c、返回值

字段 含义
code 响应码
message 响应信息
data 返回数据,JSON格式。sum:报表合计信息记录,description:报表表头信息描述,data:报表普通记录信息

d、请求体示例

{
    "yearReport":"2020",
    "monthReport":"08",
    "dayReport":"17",
    "timeType":"day"
}

6、坐席满意度报表

报表→在线客服报表→坐席报表→坐席满意度报表

a、请求

  • 请求方式:POST

  • 请求URL:{HOST}/v20180426/reportIM/queryImCsrReport/{ACCOUNTID}?sig=sig

  • 请求时请将{HOST}换成对接数据查询中获取到的请求域名,{ACCOUNTID}替换为账户编号,SIG是根据鉴权规则生成的,请看鉴权文档,查看具体的生成规则

  • 鉴权方式:接口鉴权

  • 频次限制:20次/每分钟

  • 请求示例:http://apis.7moor.com/v20180426/reportIM/queryImCsrReport/N000000xxxxx?sig=DBD2D28F3D895AAD1572925AAE50AEA8

b、请求体

字段 是否必填
yearReport 2020
monthReport 查询月报必传(示例:查询1月报表可传'01')
dayReport 查询日报必传(示例:查询1号报表可传'01')
timeType day:日报 month:月报

c、返回值

字段 含义
code 响应码
message 响应信息
data 返回数据,JSON格式。sum:报表合计信息记录,description:报表表头信息描述,data:报表普通记录信息

d、请求体示例

{
    "yearReport":"2020",
    "monthReport":"08",
    "dayReport":"17",
    "timeType":"day"
}

在线接口报错返回

{
    "code":400,
    "message": "timeType_only_supports_month_or_day_query"
}
{
    "code": 400,
    "message": "query_monthly_report_need_year_and_month"
}

7.技能组报表

报表→在线客服报表→技能组报表

a、请求

  • 请求方式:POST
  • 请求URL:{HOST}/v20250122/skillGroup/skillGroupReportInterface/{ACCOUNTID}?sig=sig
  • 请求时请将{HOST}换成对接数据查询中获取到的请求域名,{ACCOUNTID}替换为账户编号,SIG是根据鉴权规则生成的,请看鉴权文档,查看具体的生成规则
  • 鉴权方式:接口鉴权
  • 频次限制:20次/每分钟

b、请求体

字段 类型 是否必填 描述
reportType string 工作量对比:cc_im_topeer_workload_report;
工作质量对比: cc_im_topeer_quality_report;
排队情况:cc_im_topeer_wait_report
action string 工作量对比:imReport.queryImToPeerWorkloadReport;
工作质量对比: imReport.queryImToPeerCsrReport;
排队情况:imReport.queryImToPeerQueueReport
timeType string day:日报 ; month:月报
yearReport string 2025
monthReport string 查询月报必传(示例:查询1月报表可传'01')
dayReport string 查询日报必传(示例:查询1号报表可传'01')
timePeriodStart string 00:30
timePeriodEnd string 01:00
timePeriod bool 要传timePeriodStart、timePeriodEnd时为必填 true
peerId Array 技能组编号

注意:reportType和action为一一对应关系,否则接口会报错

c、请求示例

{
    "yearReport":"2025",
    "monthReport":"03",
    "dayReport":"06",
    "timeType":"day",
    "timePeriod":true,
    "timePeriodStart":"00:00",
    "timePeriodEnd":"23:55",
    "reportType":"cc_im_topeer_wait_report",
    "action":"imReport.queryImToPeerQueueReport",
    "peerId":["10085113","10082813"]
}

d、不同报表的返回示例

  • 工作量对比
字段 功能名称 页面解释
replyCount 回复消息数 座席回复访客的消息总数
accessSessionCount 接入座席会话数 系统分配给该技能组下座席接待的会话数
inviteSessionCount 会话邀请成功数 该技能组下座席针对正在浏览网站的访客发起会话邀请且访客有回复的会话总数
sessionCompleteCount 完成会话数 该技能组下座席结束的所有会话数
sessionCompleteRate 会话完成率 (完成会话数 + 转出会话数) / (接入会话数 + 会话邀请成功数 + 转入会话数) (注意:若在所选时间段内结束了未在该段时间内创建的会话,将可能导致会话完成率大于100%)
sessionAverageTimeLength 平均会话时长 该技能组下座席的平均会话时长,计算方法:A1+A2+A3+……+An/n【An表示单个座席的平均会话时长,n表示技能组下座席个数】
averageFirstResponseTimeLength 平均首次响应时长 该技能组下座席的平均首次回复时长,计算方法:A1+A2+A3+……+An/n 【An=单个座席的平均首次相应时长,n=技能组下座席个数】
sessionRollInCount 转入会话数 从其它技能组转给当前技能组的会话数
sessionRollOutCount 转出会话数 从当前技能组转给其它技能组的会话数
lostSessionCount 流失会话数 由以下几种情况导致访客离开的会话总数:座席不在线+座席未打开领取开关+填写询前表单时离开+会话流程结束(若首次被机器人接待,转人工是否成功均不算流失会话)
averageReplyTimeLength 平均响应时长 指统计时间内,技能组的坐席在会话中响应访客时间的平均值,可用于评估技能组的回复速率,不包含留言
  • 工作质量对比
字段 功能名称 页面解释
session_complete_count 会话总数 该技能组下所有座席处理完毕已关闭的会话数
agent_invite_csr_count 邀请评价会话数 该技能组下座席主动邀请访客评价的数量(一次会话中,座席点击了多次邀请按钮,只算作一次邀请数)
inviteSessionCount 会话邀请成功数 该技能组下座席针对正在浏览网站的访客发起会话邀请且访客有回复的会话总数
csr_total_count 总评价数 该技能组下面访客做出的满意度评价总数
sessionCompleteRate 会话完成率 (完成会话数 + 转出会话数) / (接入会话数 + 会话邀请成功数 + 转入会话数) (注意:若在所选时间段内结束了未在该段时间内创建的会话,将可能导致会话完成率大于100%)
csr_rate 平均参评率(旧) 总评价数/会话总数 (注意:当访客主动评价了会话,而此会话在所选时间段内没有结束,将可能导致参评率大于100%)
tableHeader 字段表配置 表头,含字段说明(每个满意度相关字段(如8839ea10-cfd3-11ee-91a2-3b6e476c15c0,各账号不同)都有一个对应的满意度名称。可以通过查看tableHeader.Config数组来找到这些对应关系)

示例:

{
  "tableHeader": {
    "_id": "5b67deba704a6bd5e7a2f436",
    "Account": "system",
    "Type": "cc_im_topeer_quality_report",
    "ReportName": "技能组工作质量对比报表",
    "Config": [
      {
        "order": "1",
        "name": "peerId",
        "displayname": "技能组",
        "show": true,
        "formulaVar": false
      },
      {
        "order": "2",
        "name": "session_complete_count",
        "displayname": "会话总数",
        "show": true
      },
      {
        "order": "3",
        "name": "agent_invite_csr_count",
        "displayname": "邀请评价会话数",
        "show": true
      },
      {
        "order": "4",
        "name": "csr_total_count",
        "displayname": "总评价数",
        "show": true
      },
      {
        "order": "5",
        "name": "csr_rate",
        "displayname": "平均参评率(旧)",
        "show": true
      },
      {
        "name": "8839ea10-cfd3-11ee-91a2-3b6e476c15c0",
        "displayname": "满意12",
        "order": 6,
        "show": true
      },
      {
        "name": "8839ea10-cfd3-11ee-91a2-3b6e476c15c0_rate",
        "displayname": "满意12占比",
        "order": 7,
        "show": true
      }

    ]
  },
  {
    "invite_csr_count": 1,
    "session_complete_count": 38,
    "system_invite_csr_count": 0,
    "agent_invite_csr_count": 1,
    "csr_total_count": 1,
    "8839ea10-cfd3-11ee-91a2-3b6e476c15c0": 1,
    "a23c3d50-cfd3-11ee-91a2-3b6e476c15c0": 0,
    "39627bd0-2223-11ef-9ada-535c83a66ba6": 0,
    "cd720ab0-69cd-11ef-ac7f-ab01d5bed7c8": 0,
    "ce039c50-69cd-11ef-ac7f-ab01d5bed7c8": 0,
    "csr_rate": "2.6",
    "8839ea10-cfd3-11ee-91a2-3b6e476c15c0_rate": "100.0",
    "a23c3d50-cfd3-11ee-91a2-3b6e476c15c0_rate": "0.0",
    "39627bd0-2223-11ef-9ada-535c83a66ba6_rate": "0.0",
    "cd720ab0-69cd-11ef-ac7f-ab01d5bed7c8_rate": "0.0",
    "ce039c50-69cd-11ef-ac7f-ab01d5bed7c8_rate": "0.0",
    "peerId": "10019719"
    }//...
}
  • 排队情况
字段 功能名称 页面解释
queueCount 排队总会话数 进入到该技能组的会话数(包括接入座席会话数+排队等待会话数+排队放弃数)
queueAccessCount 接入座席会话数 系统分配给该技能组下座席接待的会话数
queueGiveupCount 排队放弃会话数 排队时长大于0且排队放弃的会话数
queueGiveup5LessCount 5秒内放弃数 进入到排队状态下5秒内放弃的会话数
queueGiveup15LessCount 5到15秒放弃数 进入到排队状态下5到15秒放弃的会话数
queueAccessAvgTimeLength 平均排队等待时长 总排队时长/接入座席会话数 (总排队时长:接入座席的会话排队等待总时长)
maxQueueAccessTimeLength 最长排队等待时长 接入排队的客户从开始排队到进入会话时间的最大值
queueGiveupAvgTimeLength 平均放弃时长 访客排队放弃的平均时长,计算方式:排队放弃总时长 / 总排队放弃数
maxQueueGiveupTimeLength 最长放弃时长 访客咨询从排队到放弃排队的最长等待时间。计算方法:取A1......An客户咨询到排队放弃最长排队时长中最大值
minQueueGiveupTimeLength 最短放弃时长 客户咨询从排队到放弃排队的最短等待时间。计算方法:取A1......An客户咨询到排队放弃最短排队时长中最小值
accessRate 接入率 接入数/排队总会话数
queueGiveupRate 放弃率 放弃数/排队总会话数
noAccessCount 未接入会话数 排队时长>0并且未触发排队放弃的会话数