using System.Collections.Generic; using System.Collections; namespace BP.GPM.DTalk.DINGTalk { /// /// 获取部门列表 /// public class DepartMent_List { /// /// 返回码 /// public string errcode { get; set; } /// /// 对返回码的文本描述内容 /// public string errmsg { get; set; } /// /// 部门列表数据。以部门的order字段从小到大排列 /// public List department { get; set; } } /// /// 部门列表明细 /// public class DepartMentDetailInfo { /// /// 部门id /// public string id { get; set; } /// /// 部门名称 /// public string name { get; set; } /// /// 父部门id,根部门为1 /// public string parentid { get; set; } /// /// 是否同步创建一个关联此部门的企业群, true表示是, false表示不是 /// public string createDeptGroup { get; set; } /// /// 当群已经创建后,是否有新人加入部门会自动加入该群, true表示是, false表示不是 /// public string autoAddUser { get; set; } } /// /// 创建部门后消息 /// public class CreateDepartMent_PostVal { /// /// 返回码 /// public string errcode { get; set; } /// /// 对返回码的文本描述内容 /// public string errmsg { get; set; } /// /// 创建的部门id /// public string id { get; set; } } /// /// 新增人员后消息 /// public class CreateUser_PostVal { /// /// 返回码 /// public string errcode { get; set; } /// /// 对返回码的文本描述内容 /// public string errmsg { get; set; } /// /// 员工唯一标识userid /// public string userid { get; set; } } public class DingUserInfo { /// /// 返回码 /// public string errcode { get; set; } /// /// 对返回码的文本描述内容 /// public string errmsg { get; set; } public UserInfoResult result { get; set; } } public class UserInfoResult { public string admin { get; set; } public string remark { get; set; } public string email { get; set; } public string mobile { get; set; } } public class DingAccessToken { /// /// 返回码 /// public string errcode { get; set; } /// /// 对返回码的文本描述内容 /// public string errmsg { get; set; } public string access_token { get; set; } public string expires_in { get; set; } } /// /// 部门人员列表 /// public class DepartMentUser_List { /// /// 返回码 /// public string errcode { get; set; } /// /// 对返回码的文本描述内容 /// public string errmsg { get; set; } /// /// 在分页查询时返回,代表是否还有下一页更多数据 /// public string hasMore { get; set; } /// /// 成员列表 /// public List userlist { get; set; } } /// /// 部门人员详细信息 /// public class DepartMentUserInfo { /// /// 员工唯一标识ID(不可修改) /// public string userid { get; set; } /// /// 成员名称 /// public string name { get; set; } /// /// 表示人员在此部门中的排序,列表是按order的倒序排列输出的,即从大到小排列输出的 /// public string order { get; set; } /// /// 表示人员在此部门中的排序,列表是按order的倒序排列输出的,即从大到小排列输出的 /// public string orderInDepts { get; set; } /// /// 钉钉ID /// public string dingId { get; set; } /// /// 手机号(ISV不可见) /// public string mobile { get; set; } /// /// 分机号(ISV不可见) /// public string tel { get; set; } /// /// 办公地点(ISV不可见) /// public string workPlace { get; set; } /// /// 备注(ISV不可见) /// public string remark { get; set; } /// /// 是否是企业的管理员, true表示是, false表示不是 /// public bool isAdmin { get; set; } /// /// 是否为企业的老板, true表示是, false表示不是 /// public bool isBoss { get; set; } /// /// 是否隐藏号码, true表示是, false表示不是 /// public bool isHide { get; set; } /// /// 是否是部门的主管, true表示是, false表示不是 /// public bool isLeader { get; set; } /// /// 表示该用户是否激活了钉钉 /// public bool active { get; set; } /// /// 成员所属部门id列表"department": [1, 2] /// public object department { get; set; } /// /// 职位信息 /// public string position { get; set; } /// /// 邮箱 /// public string email { get; set; } /// /// 头像url"./dingtalk/abc.jpg" /// public string avatar { get; set; } /// /// 员工工号 /// public string jobnumber { get; set; } /// /// 扩展属性,可以设置多种属性(但手机上最多只能显示10个扩展属性,具体显示哪些属性 /// 请到OA管理后台->设置->通讯录信息设置和OA管理后台->设置->手机端显示信息设置) /// extattr": {"爱好":"旅游","年龄":"24"} /// public object extattr { get; set; } } /// /// 钉钉一般请求返回结果 /// public class Ding_Post_ReturnVal { /// /// 返回码 /// public string errcode { get; set; } /// /// 对返回码的文本描述内容 /// public string errmsg { get; set; } } #region 钉钉消息实体类 public abstract class Ding_Msg { /// /// 发送的业务编号 /// public long WorkID { get; set; } /// /// 钉钉访问许可 /// public string Access_Token { get; set; } #region 发送普通会话消息 /// /// 必须:是- 消息发送者员工ID /// public string sender { get; set; } /// /// 必须:是- 群消息或者个人聊天会话Id,(通过JSAPI之pickConversation接口唤起联系人界面选择之后即可拿到会话ID,之后您可以使用获取到的cid调用此接口) /// public string cid { get; set; } #endregion #region 发送企业会话消息 /// /// 必须:否- 员工ID列表(消息接收者,多个接收者用’ | '分隔)。特殊情况:指定为@all,则向该企业应用的全部成员发送 /// public string touser { get; set; } /// /// 必须:否- 部门id列表,多个接收者用’ | '分隔。当touser为@all时忽略本参数 touser或者toparty 二者有一个必填 /// public string toparty { get; set; } /// /// 必须:是- 企业应用id,这个值代表以哪个应用的名义发送消息 /// public string agentid { get; set; } #endregion } /// /// 文本和超链接消息 /// public class Ding_Msg_Text : Ding_Msg { /// /// 必须:是- 消息类型,此时固定为:text /// public string msgtype { get { return "text"; } } /// /// 必须:是- 消息内容 /// public string content { get; set; } } /// /// 超链接消息 /// public class Ding_Msg_Link : Ding_Msg { /// /// 必须:是- 消息类型,此时固定为:link /// public string msgtype { get { return "link"; } } /// /// 必须:是- 消息点击链接地址 /// public string messageUrl { get; set; } /// /// 必须:是- 图片媒体文件id,可以调用上传媒体文件接口获取 /// public string picUrl { get; set; } /// /// 必须:是- 消息标题 /// public string title { get; set; } /// /// 必须:是- 消息内容 /// public string text { get; set; } } /// /// OA消息内容 /// public class Ding_Msg_OA : Ding_Msg { /// /// 必须:是- 消息类型,此时固定为:oa /// public string msgtype { get { return "oa"; } } /// /// 必须:是- 客户端点击消息时跳转到的H5地址 /// public string messageUrl { get; set; } /// /// 必须:是- 消息头部的背景颜色。长度限制为8个英文字符,其中前2为表示透明度,后6位表示颜色值。不要添加0x /// public string head_bgcolor { get; set; } /// /// 必须:是- 消息的头部标题(仅适用于发送普通场景) /// public string head_text { get; set; } /// /// 必须:否- 消息体的标题 /// public string body_title { get; set; } /// /// 必须:否- 消息体的表单,最多显示6个,超过会被隐藏 /// public Hashtable body_form { get; set; } /// /// 必须:否- 消息体的内容,最多显示3行 /// public string body_content { get; set; } /// /// 必须:否- 消息体中的图片media_id /// public string body_image { get; set; } /// /// 必须:否- 自定义的附件数目。此数字仅供显示,钉钉不作验证 /// public string body_file_count { get; set; } /// /// 必须:否- 自定义的作者名字 /// public string body_author { get; set; } } #endregion 钉钉消息 end }