建用户
调试工具:在线调试
请求方式:POST(HTTPS)
请求地址:https://oapi.dingtalk.com/user/create?access_token=ACCESS_TOKEN
请求包结构体:
{
"userid": "zhangsan",
"name": "张三",
"orderInDepts" : "{1:10, 2:20}",
"department": [1,2],
"position": "产品经理",
"mobile": "1xxxxxxxxxx",
"tel" : "xxxx-xxxxxxxx",
"workPlace" :"",
"remark" : "",
"email": "test@xxx.com",
"orgEmail": "test@xxx.com",
"jobnumber": "xxx",
"isHide": false,
"isSenior": false,
"extattr": {
"爱好":"旅游",
"年龄":"24"
}
}
参数说明:
参数 |
类型 |
必须 |
说明 |
access_token |
String |
是 |
调用接口凭证 |
userid |
String |
否 |
员工在当前企业内的唯一标识,也称staffId。可由企业在创建时指定,并代表一定含义比如工号,创建后不可修改,企业内必须唯一。 长度为1~64个字符,如果不传,服务器将自动生成一个userid。 |
name |
String |
是 |
成员名称。 长度为1~64个字符 |
orderInDepts |
JSONObject |
否 |
在对应的部门中的排序, Map结构的json字符串,key是部门的id, value是人员在这个部门的排序值 |
department |
List |
是 |
数组类型,数组里面值为整型,成员所属部门id列表 |
position |
String |
否 |
职位信息。 长度为0~64个字符 |
positionInDepts |
JSONObject |
否 |
设置用户在每个部门下的职位。 Map结构的json字符串, Map的Key是deptId,表示部门id, Map的Value是职位,表示在这个部门下的职位 |
mobile |
String |
是 |
手机号码,企业内必须唯一,不可重复。如果是国际号码,请使用+xx-xxxxxx的格式 |
tel |
String |
否 |
分机号,长度为0~50个字符,企业内必须唯一,不可重复 |
workPlace |
String |
否 |
办公地点,长度为0~50个字符 |
remark |
String |
否 |
备注,长度为0~1000个字符 |
|
String |
否 |
邮箱。长度为0~64个字符。企业内必须唯一,不可重复 |
orgEmail |
String |
否 |
员工的企业邮箱,员工的企业邮箱已开通,才能增加此字段, 否则会报错 |
jobnumber |
String |
否 |
员工工号。对应显示到OA后台和客户端个人资料的工号栏目。 长度为0~64个字符 |
isHide |
Boolean |
否 |
是否号码隐藏。true表示隐藏,false表示不隐藏。 隐藏手机号后,手机号在个人资料页隐藏,但仍可对其发DING、发起钉钉免费商务电话。 |
isSenior |
Boolean |
否 |
是否高管模式。true表示是,false表示不是。 开启后,手机号码对所有员工隐藏。普通员工无法对其发DING、发起钉钉免费商务电话。高管之间不受影响。 |
extattr |
JSONObject |
否 |
扩展属性,可以设置多种属性(手机上最多显示10个扩展属性,具体显示哪些属性,请到OA管理后台->设置->通讯录信息设置和OA管理后台->设置->手机端显示信息设置)。 该字段的值支持链接类型填写,同时链接支持变量通配符自动替换,目前支持通配符有:userid,corpid。示例: [工位地址](http://www.dingtalk.com?userid=#userid#&corpid=#corpid#) |
hiredDate |
Number |
否 |
入职时间,Unix时间戳,单位ms |
SDK请求示例(JAVA):
DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/user/create");
OapiUserCreateRequest request = new OapiUserCreateRequest();
request.setUserid("zhangsan");
request.setMobile("1xxxxxxxxxx");
request.setName("张三");
// 需要用字符串, "[100,200]" 这种格式
List<Long> departments = new ArrayList<Long>();
departments.add(100L);
departments.add(200L);
request.setDepartment(JSON.toJSONString(departments));
OapiUserCreateResponse response = client.execute(request, accessToken);
返回结果:
{
"errcode": 0,
"errmsg": "ok",
"userid": "zhangsan"
}
参数 |
说明 |
errcode |
返回码 |
errmsg |
对返回码的文本描述内容 |
userid |
员工唯一标识 |
更新用户
调试工具:在线调试
请求方式:POST(HTTPS)
请求地址:https://oapi.dingtalk.com/user/update?access_token=ACCESS_TOKEN
请求包结构体:
{
"userid": "zhangsan",
"name": "张三",
"department": [1, 2],
"orderInDepts": "{1:10}",
"position": "产品经理",
"tel" : "xxxx-xxxxxxxx",
"workPlace" :"",
"remark" : "",
"email": "test@xxx.com",
"orgEmail": "test@xxx.com",
"jobnumber": "xxx",
"isHide": false,
"isSenior": false,
"extattr": {
"爱好":"旅游",
"年龄":"24"
}
}
参数说明(如果非必须的字段未指定,则钉钉后台不改变该字段之前设置好的值)
参数 |
类型 |
必须 |
说明 |
access_token |
String |
是 |
调用接口凭证 |
lang |
String |
否 |
通讯录语言 (默认zh_CN另外支持en_US) |
userid |
String |
是 |
员工id,不可修改,长度为1~64个字符 |
name |
String |
否 |
成员名称,长度为1~64个字符 |
department |
List |
否 |
成员所属部门id列表 |
orderInDepts |
JSONObject |
否 |
实际是Map的序列化字符串, Map的Key是deptId,表示部门id, Map的Value是order,表示排序的值, 列表是按order的倒序排列输出的,即从大到小排列输出的 |
position |
String |
否 |
职位信息。长度为0~64个字符 |
positionInDepts |
JSONObject |
否 |
设置用户在每个部门下的职位。 Map结构的json字符串, Map的Key是deptId,表示部门id, Map的Value是职位,表示在这个部门下的职位 |
tel |
String |
否 |
分机号,长度为0~50个字符 |
workPlace |
String |
否 |
办公地点,长 |