You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

139 lines
5.7 KiB

package weixinqy
// 企业微信获取token的响应
type WxQiyeAccessTokenResp struct {
Errcode int `json:"errcode"`
Errmsg string `json:"errmsg"`
AccessToken string `json:"access_token"`
ExpiresIn int `json:"expires_in"`
}
// 企业微信通过回调code获取用户的基本id和ticket
type WxQiyeUserInfo struct {
Errcode int `json:"errcode"`
Errmsg string `json:"errmsg"`
Userid string `json:"userid"`
UserTicket string `json:"user_ticket"`
}
// 根据userTicket获取用户详细信息
type WxQiyeUserInfoMore struct {
Errcode int `json:"errcode"`
Errmsg string `json:"errmsg"`
Userid string `json:"userid"`
Gender string `json:"gender"`
Avatar string `json:"avatar"`
QrCode string `json:"qr_code"`
Mobile string `json:"mobile"`
Email string `json:"email"`
BizMail string `json:"biz_mail"`
Address string `json:"address"`
}
type WxConvertUserIdToOpenIdResp struct {
Errcode int `json:"errcode"`
Errmsg string `json:"errmsg"`
Openid string `json:"openid"`
}
type WxWorkUserInfo struct {
ErrCode int `json:"errcode"`
ErrMsg string `json:"errmsg"`
UserID string `json:"userid"` // 成员UserID。对应管理端的账号,企业内必须唯一。不区分大小写,长度为1~64个字节;第三方应用返回的值为open_userid
Name string `json:"name"` // 成员名称;第三方不可获取,调用时返回userid以代替name;代开发自建应用需要管理员授权才返回;对于非第三方创建的成员,第三方通讯录应用也不可获取;未返回name的情况需要通过通讯录展示组件来展示名字
Department []int `json:"department"` // 成员所属部门id列表,仅返回该应用有查看权限的部门id;
Order []int `json:"order"` // 部门内的排序值,默认为0。数量必须和department一致,数值越大排序越前面
Position string `json:"position"` // 职务信息;代开发自建应用需要管理员授权才返回;第三方仅通讯录应用可获取;
Mobile string `json:"mobile"` // 手机号码,代开发自建应用需要管理员授权且成员oauth2授权获取;第三方仅通讯录应用可获取;对于非第三方创建的成员,第三方通讯录应用也不可获取;上游企业不可获取下游企业成员该字段
Gender string `json:"gender"` // 性别。0表示未定义,1表示男性,2表示女性
Email string `json:"email"`
BizMail string `json:"biz_mail"` // 企业邮箱
IsLeaderInDept []int `json:"is_leader_in_dept"` // 表示在所在的部门内是否为部门负责人,数量与department一致;
DirectLeader []string `json:"direct_leader"` // 直属上级UserID,返回在应用可见范围内的直属上级列表,最多有1个直属上级
Avatar string `json:"avatar"`
ThumbAvatar string `json:"thumb_avatar"`
Telephone string `json:"telephone"`
Alias string `json:"alias"`
Address string `json:"address"`
OpenUserID string `json:"open_userid"` // 全局唯一。对于同一个服务商,不同应用获取到企业内同一个成员的open_userid是相同的
MainDepartment int `json:"main_department"` // 主部门,仅当应用对主部门有查看权限时返回。
ExtAttr ExtAttr `json:"extattr"` // 扩展属性
Status int `json:"status"` // 激活状态: 1=已激活,2=已禁用,4=未激活,5=退出企业。
QRCode string `json:"qr_code"`
ExternalPosition string `json:"external_position"`
ExternalProfile ExternalProfile `json:"external_profile"`
}
type ExtAttr struct {
Attrs []Attr `json:"attrs"`
}
type Attr struct {
Type int `json:"type"`
Name string `json:"name"`
Text *TextAttr `json:"text,omitempty"`
Web *WebAttr `json:"web,omitempty"`
}
type TextAttr struct {
Value string `json:"value"`
}
type WebAttr struct {
URL string `json:"url"`
Title string `json:"title"`
}
type ExternalProfile struct {
ExternalCorpName string `json:"external_corp_name"`
WechatChannels WechatChannels `json:"wechat_channels"`
ExternalAttr []ExternalAttr `json:"external_attr"`
}
type WechatChannels struct {
Nickname string `json:"nickname"`
Status int `json:"status"`
}
type ExternalAttr struct {
Type int `json:"type"`
Name string `json:"name"`
Text *TextAttr `json:"text,omitempty"`
Web *WebAttr `json:"web,omitempty"`
MiniProgram *MiniProgramAttr `json:"miniprogram,omitempty"`
}
type MiniProgramAttr struct {
AppID string `json:"appid"`
PagePath string `json:"pagepath"`
Title string `json:"title"`
}
// 部门列表返回体
type DepartmentListResp struct {
ErrCode int `json:"errcode"`
ErrMsg string `json:"errmsg"`
Departments []Department `json:"department"`
}
type Department struct {
ID int `json:"id"`
Name string `json:"name"`
NameEn string `json:"name_en"`
DepartmentLeader []string `json:"department_leader"`
ParentID int `json:"parentid"`
Order int `json:"order"`
}
type DeptUser struct {
OpenUserID string `json:"userid"`
Department int `json:"department"`
}
// 成员列表返回体
type UserListResp struct {
ErrCode int `json:"errcode"`
ErrMsg string `json:"errmsg"`
NextCursor string `json:"next_cursor"`
DeptUser []DeptUser `json:"dept_user"`
}