1 Star 0 Fork 0

zhd / wechat

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
statistic.go 4.91 KB
一键复制 编辑 原始数据 按行查看 历史
zhd 提交于 2023-11-02 11:05 . 修改模块名
package kf
import (
"fmt"
"gitee.com/zhd--zhd_admin/wechat/v2/util"
)
const (
// getCorpStatisticURL 获取「客户数据统计」企业汇总数据
getCorpStatisticURL = "https://qyapi.weixin.qq.com/cgi-bin/kf/get_corp_statistic?access_token=%s"
// getServicerStatisticURL 获取「客户数据统计」接待人员明细数据
getServicerStatisticURL = "https://qyapi.weixin.qq.com/cgi-bin/kf/get_servicer_statistic?access_token=%s"
)
// GetCorpStatisticRequest 获取「客户数据统计」企业汇总数据请求
type GetCorpStatisticRequest struct {
OpenKfID string `json:"open_kfid"`
StartTime int64 `json:"start_time"`
EndTime int64 `json:"end_time"`
}
// GetCorpStatisticResponse 获取「客户数据统计」企业汇总数据响应
type GetCorpStatisticResponse struct {
util.CommonError
StatisticList []CorpStatisticList `json:"statistic_list"`
}
// CorpStatisticList 企业汇总统计数据列表
type CorpStatisticList struct {
StatTime int64 `json:"stat_time"`
Statistic CorpStatistic `json:"statistic"`
}
// CorpStatistic 企业汇总统计一天的统计数据
type CorpStatistic struct {
SessionCnt int64 `json:"session_cnt"`
CustomerCnt int64 `json:"customer_cnt"`
CustomerMsgCnt int64 `json:"customer_msg_cnt"`
UpgradeServiceCustomerCnt int64 `json:"upgrade_service_customer_cnt"`
AiSessionReplyCnt int64 `json:"ai_session_reply_cnt"`
AiTransferRate float64 `json:"ai_transfer_rate"`
AiKnowledgeHitRate float64 `json:"ai_knowledge_hit_rate"`
MsgRejectedCustomerCnt int64 `json:"msg_rejected_customer_cnt"`
}
// GetCorpStatistic 获取「客户数据统计」企业汇总数据
// see https://developer.work.weixin.qq.com/document/path/95489
func (r *Client) GetCorpStatistic(req *GetCorpStatisticRequest) (*GetCorpStatisticResponse, error) {
var (
accessToken string
err error
)
if accessToken, err = r.ctx.GetAccessToken(); err != nil {
return nil, err
}
var response []byte
if response, err = util.PostJSON(fmt.Sprintf(getCorpStatisticURL, accessToken), req); err != nil {
return nil, err
}
result := &GetCorpStatisticResponse{}
err = util.DecodeWithError(response, result, "GetCorpStatistic")
return result, err
}
// GetServicerStatisticRequest 获取「客户数据统计」接待人员明细数据请求
type GetServicerStatisticRequest struct {
OpenKfID string `json:"open_kfid"`
ServicerUserID string `json:"servicer_userid"`
StartTime int64 `json:"start_time"`
EndTime int64 `json:"end_time"`
}
// GetServicerStatisticResponse 获取「客户数据统计」接待人员明细数据响应
type GetServicerStatisticResponse struct {
util.CommonError
StatisticList []ServicerStatisticList `json:"statistic_list"`
}
// ServicerStatisticList 接待人员明细统计数据列表
type ServicerStatisticList struct {
StatTime int64 `json:"stat_time"`
Statistic ServicerStatistic `json:"statistic"`
}
// ServicerStatistic 接待人员明细统计一天的统计数据
type ServicerStatistic struct {
SessionCnt int64 `json:"session_cnt"`
CustomerCnt int64 `json:"customer_cnt"`
CustomerMsgCnt int64 `json:"customer_msg_cnt"`
ReplyRate float64 `json:"reply_rate"`
FirstReplyAverageSec float64 `json:"first_reply_average_sec"`
SatisfactionInvestgateCnt int64 `json:"satisfaction_investgate_cnt"`
SatisfactionParticipationRate float64 `json:"satisfaction_participation_rate"`
SatisfiedRate float64 `json:"satisfied_rate"`
MiddlingRate float64 `json:"middling_rate"`
DissatisfiedRate float64 `json:"dissatisfied_rate"`
UpgradeServiceCustomerCnt int64 `json:"upgrade_service_customer_cnt"`
UpgradeServiceMemberInviteCnt int64 `json:"upgrade_service_member_invite_cnt"`
UpgradeServiceMemberCustomerCnt int64 `json:"upgrade_service_member_customer_cnt"`
UpgradeServiceGroupChatInviteCnt int64 `json:"upgrade_service_groupchat_invite_cnt"`
UpgradeServiceGroupChatCustomerCnt int64 `json:"upgrade_service_groupchat_customer_cnt"`
MsgRejectedCustomerCnt int64 `json:"msg_rejected_customer_cnt"`
}
// GetServicerStatistic 获取「客户数据统计」接待人员明细数据
// see https://developer.work.weixin.qq.com/document/path/95490
func (r *Client) GetServicerStatistic(req *GetServicerStatisticRequest) (*GetServicerStatisticResponse, error) {
var (
accessToken string
err error
)
if accessToken, err = r.ctx.GetAccessToken(); err != nil {
return nil, err
}
var response []byte
if response, err = util.PostJSON(fmt.Sprintf(getServicerStatisticURL, accessToken), req); err != nil {
return nil, err
}
result := &GetServicerStatisticResponse{}
err = util.DecodeWithError(response, result, "GetServicerStatistic")
return result, err
}
Go
1
https://gitee.com/zhd--zhd_admin/wechat.git
git@gitee.com:zhd--zhd_admin/wechat.git
zhd--zhd_admin
wechat
wechat
v2.1.7

搜索帮助