using System; using System.Collections.Generic; using Top.Api.Util; using Top.Api; using Top.Api.DingTalk; namespace DingTalk.Api.Request { /// /// TOP API: dingtalk.oapi.user.create /// public class OapiUserCreateRequest : BaseDingTalkRequest { /// /// 数组类型,数组里面值为整型,成员所属部门id列表 /// public string Department { get; set; } /// /// 邮箱。长度为0~64个字符。企业内必须唯一,不可重复 /// public string Email { get; set; } /// /// 扩展属性,可以设置多种属性(但手机上最多只能显示10个扩展属性,具体显示哪些属性,请到OA管理后台->设置->通讯录信息设置和OA管理后台->设置->手机端显示信息设置) /// public string Extattr { get; set; } /// /// 入职时间 /// public Nullable HiredDate { get; set; } /// /// 是否号码隐藏, true表示隐藏, false表示不隐藏。隐藏手机号后,手机号在个人资料页隐藏,但仍可对其发DING、发起钉钉免费商务电话。 /// public Nullable IsHide { get; set; } /// /// 是否高管模式,true表示是,false表示不是。开启后,手机号码对所有员工隐藏。普通员工无法对其发DING、发起钉钉免费商务电话。高管之间不受影响。 /// public Nullable IsSenior { get; set; } /// /// 员工工号。对应显示到OA后台和客户端个人资料的工号栏目。长度为0~64个字符 /// public string Jobnumber { get; set; } /// /// 手机号码,企业内必须唯一,不可重复 /// public string Mobile { get; set; } /// /// 成员名称。长度为1~64个字符 /// public string Name { get; set; } /// /// 在对应的部门中的排序, Map结构的json字符串, key是部门的Id, value是人员在这个部门的排序值 /// public string OrderInDepts { get; set; } /// /// 员工的企业邮箱,员工的企业邮箱已开通,才能增加此字段, 否则会报错 /// public string OrgEmail { get; set; } /// /// 职位信息。长度为0~64个字符 /// public string Position { get; set; } /// /// 在对应的部门中的职位信息, Map结构的json字符串, key是部门的Id, value是人员在这个部门的职位 /// public string PositionInDepts { get; set; } /// /// 备注,长度为0~1000个字符 /// public string Remark { get; set; } /// /// 分机号,长度为0~50个字符,企业内必须唯一,不可重复 /// public string Tel { get; set; } /// /// 员工唯一标识ID(不可修改),企业内必须唯一。长度为1~64个字符,如果不传,服务器将自动生成一个userid /// public string Userid { get; set; } /// /// 办公地点,长度为0~50个字符 /// public string WorkPlace { get; set; } #region IDingTalkRequest Members public override string GetApiName() { return "dingtalk.oapi.user.create"; } public override string GetApiCallType() { return DingTalkConstants.CALL_TYPE_OAPI; } public override IDictionary GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("department", this.Department); parameters.Add("email", this.Email); parameters.Add("extattr", this.Extattr); parameters.Add("hiredDate", this.HiredDate); parameters.Add("isHide", this.IsHide); parameters.Add("isSenior", this.IsSenior); parameters.Add("jobnumber", this.Jobnumber); parameters.Add("mobile", this.Mobile); parameters.Add("name", this.Name); parameters.Add("orderInDepts", this.OrderInDepts); parameters.Add("orgEmail", this.OrgEmail); parameters.Add("position", this.Position); parameters.Add("positionInDepts", this.PositionInDepts); parameters.Add("remark", this.Remark); parameters.Add("tel", this.Tel); parameters.Add("userid", this.Userid); parameters.Add("workPlace", this.WorkPlace); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return parameters; } public override void Validate() { } #endregion } }