-
-
Notifications
You must be signed in to change notification settings - Fork 67
/
api_admin_admin_dept_stats_get.go
129 lines (118 loc) · 8.55 KB
/
api_admin_admin_dept_stats_get.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
// Code generated by lark_sdk_gen. DO NOT EDIT.
/**
* Copyright 2022 chyroc
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package lark
import (
"context"
)
// GetAdminDeptStats 该接口用于获取部门维度的用户活跃和功能使用数据, 即IM(即时通讯)、日历、云文档、音视频会议、邮箱功能的使用数据。
//
// - 只有企业自建应用才有权限调用此接口
// - 当天的数据会在第二天的早上九点半产出(UTC+8)
//
// doc: https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/admin-v1/admin_dept_stat/list
// new doc: https://open.feishu.cn/document/server-docs/admin-v1/data-report-management/list
func (r *AdminService) GetAdminDeptStats(ctx context.Context, request *GetAdminDeptStatsReq, options ...MethodOptionFunc) (*GetAdminDeptStatsResp, *Response, error) {
if r.cli.mock.mockAdminGetAdminDeptStats != nil {
r.cli.Log(ctx, LogLevelDebug, "[lark] Admin#GetAdminDeptStats mock enable")
return r.cli.mock.mockAdminGetAdminDeptStats(ctx, request, options...)
}
req := &RawRequestReq{
Scope: "Admin",
API: "GetAdminDeptStats",
Method: "GET",
URL: r.cli.openBaseURL + "/open-apis/admin/v1/admin_dept_stats",
Body: request,
MethodOption: newMethodOption(options),
NeedTenantAccessToken: true,
}
resp := new(getAdminDeptStatsResp)
response, err := r.cli.RawRequest(ctx, req, resp)
return resp.Data, response, err
}
// MockAdminGetAdminDeptStats mock AdminGetAdminDeptStats method
func (r *Mock) MockAdminGetAdminDeptStats(f func(ctx context.Context, request *GetAdminDeptStatsReq, options ...MethodOptionFunc) (*GetAdminDeptStatsResp, *Response, error)) {
r.mockAdminGetAdminDeptStats = f
}
// UnMockAdminGetAdminDeptStats un-mock AdminGetAdminDeptStats method
func (r *Mock) UnMockAdminGetAdminDeptStats() {
r.mockAdminGetAdminDeptStats = nil
}
// GetAdminDeptStatsReq ...
type GetAdminDeptStatsReq struct {
DepartmentIDType DepartmentIDType `query:"department_id_type" json:"-"` // 部门ID类型, 示例值: open_department_id, 可选值有: department_id: 部门的 ID, open_department_id: 部门的 Open ID
StartDate string `query:"start_date" json:"-"` // 起始日期(包含), 格式是YYYY-mm-dd, 示例值: 2020-02-15
EndDate string `query:"end_date" json:"-"` // 终止日期(包含), 格式是YYYY-mm-dd, 起止日期之间相差不能超过91天(包含91天), 示例值: 2020-02-15
DepartmentID string `query:"department_id" json:"-"` // 部门的 ID, 取决于department_id_type, 仅支持根部门及其下前4级子部门, 示例值: od-382e2793cfc9471f892e8a672987654c
ContainsChildDept bool `query:"contains_child_dept" json:"-"` // 是否包含子部门, 如果该值为false, 则只查出本部门直属用户活跃和功能使用数据;如果该值为true, 则查出该部门以及其子部门(子部门层级最多不超过根部门下的前4级)的用户活跃和功能使用数据, 示例值: false
PageSize *int64 `query:"page_size" json:"-"` // 分页大小, 示例值: 10, 取值范围: `1` ~ `20`
PageToken *string `query:"page_token" json:"-"` // 分页标记, 第一次请求不填, 表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token, 下次遍历可采用该 page_token 获取查询结果, 示例值: 2
TargetGeo *string `query:"target_geo" json:"-"` // 需跨域访问的Geo数据, 每个Geo仅包含本Geo数据, 不传默认查本地数据, 调用前需要先开通FG(cn、sg、jp、us), 示例值: cn
}
// GetAdminDeptStatsResp ...
type GetAdminDeptStatsResp struct {
HasMore bool `json:"has_more,omitempty"` // 是否还有更多项
PageToken string `json:"page_token,omitempty"` // 分页标记, 当 has_more 为 true 时, 会同时返回新的 page_token, 否则不返回 page_token
Items []*GetAdminDeptStatsRespItem `json:"items,omitempty"` // 数据报表
}
// GetAdminDeptStatsRespItem ...
type GetAdminDeptStatsRespItem struct {
Date string `json:"date,omitempty"` // 日期
DepartmentID string `json:"department_id,omitempty"` // 部门的department_id 或者open_department_id
DepartmentName string `json:"department_name,omitempty"` // 部门名字
DepartmentPath string `json:"department_path,omitempty"` // 部门路径
TotalUserNum int64 `json:"total_user_num,omitempty"` // 部门总人数
ActiveUserNum int64 `json:"active_user_num,omitempty"` // 激活人数
ActiveUserRate string `json:"active_user_rate,omitempty"` // 激活率
SuiteDau int64 `json:"suite_dau,omitempty"` // 活跃人数
SuiteActiveRate string `json:"suite_active_rate,omitempty"` // 活跃率
NewUserNum int64 `json:"new_user_num,omitempty"` // 新用户数
NewActiveNum int64 `json:"new_active_num,omitempty"` // 新激活数
ResignUserNum int64 `json:"resign_user_num,omitempty"` // 离职人数
IMDau int64 `json:"im_dau,omitempty"` // 消息活跃人数
SendMessengerUserNum int64 `json:"send_messenger_user_num,omitempty"` // 发送消息人数
SendMessengerNum int64 `json:"send_messenger_num,omitempty"` // 发送消息数
AvgSendMessengerNum string `json:"avg_send_messenger_num,omitempty"` // 人均发送消息数
DocsDau int64 `json:"docs_dau,omitempty"` // 云文档活跃人数
CreateDocsUserNum int64 `json:"create_docs_user_num,omitempty"` // 创建文件人数
CreateDocsNum int64 `json:"create_docs_num,omitempty"` // 创建文件数
AvgCreateDocsNum string `json:"avg_create_docs_num,omitempty"` // 人均创建文件数
CalDau int64 `json:"cal_dau,omitempty"` // 日历活跃人数
CreateCalUserNum int64 `json:"create_cal_user_num,omitempty"` // 创建日程人数
CreateCalNum int64 `json:"create_cal_num,omitempty"` // 创建日程数
AvgCreateCalNum string `json:"avg_create_cal_num,omitempty"` // 人均创建日程数
VCDau int64 `json:"vc_dau,omitempty"` // 音视频会议活跃人数
VCDuration int64 `json:"vc_duration,omitempty"` // 会议时长: 企业内员工参与通话与会议的总时长(分钟)
AvgVCDuration string `json:"avg_vc_duration,omitempty"` // 人均会议时长(分钟)
AvgDuration string `json:"avg_duration,omitempty"` // 人均飞书使用时长(分钟)
TaskDau int64 `json:"task_dau,omitempty"` // 任务活跃人数
CreateTaskUserNum int64 `json:"create_task_user_num,omitempty"` // 创建任务人数
CreateTaskNum int64 `json:"create_task_num,omitempty"` // 创建任务数
AvgCreateTaskNum string `json:"avg_create_task_num,omitempty"` // 人均创建任务数
EmailSendCount string `json:"email_send_count,omitempty"` // 邮件总发件量
EmailReceiveCount string `json:"email_receive_count,omitempty"` // 邮件总收件量
EmailSendExtCount string `json:"email_send_ext_count,omitempty"` // 对外发件数
EmailReceiveExtCount string `json:"email_receive_ext_count,omitempty"` // 来自外部收件数
EmailSendInCount string `json:"email_send_in_count,omitempty"` // 对内发件数
EmailReceiveInCount string `json:"email_receive_in_count,omitempty"` // 来自内部收件数
}
// getAdminDeptStatsResp ...
type getAdminDeptStatsResp struct {
Code int64 `json:"code,omitempty"` // 错误码, 非 0 表示失败
Msg string `json:"msg,omitempty"` // 错误描述
Data *GetAdminDeptStatsResp `json:"data,omitempty"`
Error *ErrorDetail `json:"error,omitempty"`
}