package enterprise_wechat import ( "git.rosy.net.cn/baseapi/platformapi" "net/http" "sync" ) const ( WeChatBaseApi = "https://qyapi.weixin.qq.com" // 企业微信基础访问链接 ParentDepartmentId = 7 // 企业微信全职人员文件夹id // api接口 GetToken = "cgi-bin/gettoken" // 获取token CreateAppChat = "cgi-bin/appchat/create" // 创建会话群聊 GetAllDepartmentListById = "cgi-bin/department/list" // 获取所有的部门 CreateBoosToJxStaff = "cgi-bin/user/create" // 将京西老板创建为企业员工 GetDepartmentUserDetail = "cgi-bin/user/list" // 获取部门用户详细情况 GetUserByMobileUrl = "cgi-bin/user/getuserid" // 通过手机号获取用户id SendMsgToUser = "cgi-bin/message/send" // 给用户发送消息 GetDepartmentList = "cgi-bin/department/simplelist" // 获取部门子id列表 EnterpriseTicketInfo = "/suite/receive" // 企业微信服务器会定时(每十分钟)推送ticket ) // 注册请求api type API struct { corpId string // 企业号 corpSecret string // 秘钥 accessToken string // token expiresIn int64 // token过期时间 locker sync.RWMutex client *http.Client config *platformapi.APIConfig } // 创建群聊 type CreateAppChatParamReq struct { UserList []string `json:"userlist"` // 成员列表(至少两个) Name string `json:"name"` // 群聊名,最多50个utf8字符,超过将截断 Owner string `json:"owner"` // 群主id ChatId string `json:"chatid"` // 群聊的唯一标志,不能与已有的群重复 } // 获取所有的部门 type Department struct { ID int `json:"id"` // id Name string `json:"name"` // 名称 ParentId int `json:"parentid"` // 父部门id Order int `json:"order"` // 排序 DepartmentLeader []string `json:"department_leader"` // 部门负责人的UserID;第三方仅通讯录应用可获取 } type GetAllDepartmentListRes struct { ErrCode int `json:"errcode"` ErrMsg string `json:"errmsg"` Department []*Department `json:"department"` } // 错误消息 type Err struct { ErrCode int `json:"errcode"` ErrMsg string `json:"errmsg"` ChatId string `json:"chatid"` // 群聊的唯一标志,不能与已有的群重复 } // 获取部门全部用户详细信息 type GetEnterpriseStaffInfoRes struct { ErrCode int `json:"errcode"` ErrMsg string `json:"errmsg"` UserList []*UserList `json:"userlist"` } type UserList struct { Userid string `json:"userid"` Name string `json:"name"` Department []int `json:"department"` Position string `json:"position"` Mobile string `json:"mobile"` Gender string `json:"gender"` Email string `json:"email"` Avatar string `json:"avatar"` Status int `json:"status"` Enable int `json:"enable"` IsLeader int `json:"isleader"` ExtAttr Extattr `json:"extattr"` HideMobile int `json:"hide_mobile"` Telephone string `json:"telephone"` Order []int `json:"order"` ExternalProfile ExternalProfile `json:"external_profile"` MainDepartment int `json:"main_department"` QrCode string `json:"qr_code"` Alias string `json:"alias"` IsLeaderInDept []int `json:"is_leader_in_dept"` Address string `json:"address"` ThumbAvatar string `json:"thumb_avatar"` DirectLeader []string `json:"direct_leader"` BizMail string `json:"biz_mail"` } // 手机号获取用户信息 type GetUserByMobileRes struct { ErrCode int `json:"errcode"` ErrMsg string `json:"errmsg"` UserId string `json:"userid"` }