钉钉开发之组织机构同步、获取用户信息和单点登录接口

建用户

 

调试工具在线调试

请求方式:POST(HTTPS)

请求地址:https://oapi.dingtalk.com/user/create?access_token=ACCESS_TOKEN

请求包结构体

  1.  
    {
  2.  
    "userid": "zhangsan",
  3.  
    "name": "张三",
  4.  
    "orderInDepts" : "{1:10, 2:20}",
  5.  
    "department": [1,2],
  6.  
    "position": "产品经理",
  7.  
    "mobile": "1xxxxxxxxxx",
  8.  
    "tel" : "xxxx-xxxxxxxx",
  9.  
    "workPlace" :"",
  10.  
    "remark" : "",
  11.  
    "email": "test@xxx.com",
  12.  
    "orgEmail": "test@xxx.com",
  13.  
    "jobnumber": "xxx",
  14.  
    "isHide": false,
  15.  
    "isSenior": false,
  16.  
    "extattr": {
  17.  
    "爱好":"旅游",
  18.  
    "年龄":"24"
  19.  
    }
  20.  
    }

 

参数说明

参数

类型

必须

说明

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个字符

email

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)

  1.  
    DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/user/create");
  2.  
    OapiUserCreateRequest request = new OapiUserCreateRequest();
  3.  
    request.setUserid("zhangsan");
  4.  
    request.setMobile("1xxxxxxxxxx");
  5.  
    request.setName("张三");
  6.  
     
  7.  
    // 需要用字符串, "[100,200]" 这种格式
  8.  
    List<Long> departments = new ArrayList<Long>();
  9.  
    departments.add(100L);
  10.  
    departments.add(200L);
  11.  
    request.setDepartment(JSON.toJSONString(departments));
  12.  
     
  13.  
    OapiUserCreateResponse response = client.execute(request, accessToken);

 

返回结果

  1.  
    {
  2.  
    "errcode": 0,
  3.  
    "errmsg": "ok",
  4.  
    "userid": "zhangsan"
  5.  
    }

 

参数

说明

errcode

返回码

errmsg

对返回码的文本描述内容

userid

员工唯一标识

更新用户

 

调试工具在线调试

请求方式:POST(HTTPS)

请求地址:https://oapi.dingtalk.com/user/update?access_token=ACCESS_TOKEN

请求包结构体

  1.  
    {
  2.  
    "userid": "zhangsan",
  3.  
    "name": "张三",
  4.  
    "department": [1, 2],
  5.  
    "orderInDepts": "{1:10}",
  6.  
    "position": "产品经理",
  7.  
    "tel" : "xxxx-xxxxxxxx",
  8.  
    "workPlace" :"",
  9.  
    "remark" : "",
  10.  
    "email": "test@xxx.com",
  11.  
    "orgEmail": "test@xxx.com",
  12.  
    "jobnumber": "xxx",
  13.  
    "isHide": false,
  14.  
    "isSenior": false,
  15.  
    "extattr": {
  16.  
    "爱好":"旅游",
  17.  
    "年龄":"24"
  18.  
    }
  19.  
    }

 

参数说明(如果非必须的字段未指定,则钉钉后台不改变该字段之前设置好的值)

参数

类型

必须

说明

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

办公地点,长度为0~50个字符

remark

String

备注,长度为0~1000个字符

email

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#) ;

查看扩展属性:

(1)链接类型扩展属性,只支持在“移动端钉钉-点击该用户头像-个人资料页”查看,点击链接可以跳转;

(2)非链接类型扩展属性,支持在“移动端钉钉/PC端钉钉-点击该用户头像-个人资料页”查看;

hiredDate

Number

入职时间,Unix时间戳

SDK请求示例(JAVA)

  1.  
    DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/user/update");
  2.  
    OapiUserUpdateRequest request = new OapiUserUpdateRequest();
  3.  
    request.setUserid("zhangsan");
  4.  
    request.setName("张三");
  5.  
     
  6.  
    OapiUserUpdateResponse response = client.execute(request, accessToken);

 

返回结果

  1.  
    {
  2.  
    "errcode": 0,
  3.  
    "errmsg": "ok"
  4.  
    }

 

参数

说明

errcode

返回码

errmsg

对返回码的文本描述内容

删除用户

 

调试工具在线调试

请求方式:GET(HTTPS)

请求地址:https://oapi.dingtalk.com/user/delete?access_token=ACCESS_TOKEN&userid=zhangsan

参数说明

参数

类型

必须

说明

access_token

String

调用接口凭证

userid

String

员工id

SDK请求示例(JAVA)

  1.  
    DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/user/delete");
  2.  
    OapiUserDeleteRequest request = new OapiUserDeleteRequest();
  3.  
    request.setUserid("zhangsan");
  4.  
    request.setHttpMethod("GET");
  5.  
     
  6.  
    OapiUserDeleteResponse response = client.execute(request, accessToken);

 

返回结果

  1.  
    {
  2.  
    "errcode": 0,
  3.  
    "errmsg": "ok"
  4.  
    }

 

参数

说明

errcode

返回码

errmsg

对返回码的文本描述内容

 

 

获取用户详情

如果您想调用通讯录接口并同时获取员工手机号,请先参考通讯录权限说明,设置下通讯录接口权限和手机号等敏感字段权限

 

调试工具在线调试

请求方式:GET(HTTPS)

请求地址:https://oapi.dingtalk.com/user/get?access_token=ACCESS_TOKEN&userid=zhangsan

参数说明

参数

类型

必须

说明

access_token

String

调用接口凭证

userid

String

员工id

lang

String

通讯录语言(默认zh_CN,未来会支持en_US)

SDK请求示例(JAVA)

  1.  
    DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/user/get");
  2.  
    OapiUserGetRequest request = new OapiUserGetRequest();
  3.  
    request.setUserid("zhangsan");
  4.  
    request.setHttpMethod("GET");
  5.  
    OapiUserGetResponse response = client.execute(request, accessToken);

 

返回结果

  1.  
    {
  2.  
    "errcode": 0,
  3.  
    "unionid": "PiiiPyQqBNBii0HnCJ3zljcxxxxxx",
  4.  
    "remark": "remark",
  5.  
    "userid": "zhangsan",
  6.  
    "isLeaderInDepts": "{1:false}",
  7.  
    "isBoss": false,
  8.  
    "hiredDate": 1520265600000,
  9.  
    "isSenior": false,
  10.  
    "tel": "xxx-xxxxxxxx",
  11.  
    "department": [1,2],
  12.  
    "workPlace": "place",
  13.  
    "email": "test@xxx.com",
  14.  
    "orderInDepts": "{1:71738366882504}",
  15.  
    "mobile": "1xxxxxxxxxx",
  16.  
    "errmsg": "ok",
  17.  
    "active": false,
  18.  
    "avatar": "xxx",
  19.  
    "isAdmin": false,
  20.  
    "isHide": false,
  21.  
    "jobnumber": "001",
  22.  
    "name": "张三",
  23.  
    "extattr": {},
  24.  
    "stateCode": "86",
  25.  
    "position": "manager",
  26.  
    "roles": [
  27.  
    {
  28.  
    "id": 149507744,
  29.  
    "name": "总监",
  30.  
    "groupName": "职务"
  31.  
    }
  32.  
    ]
  33.  
    }

 

参数

说明

errcode

返回码

errmsg

对返回码的文本描述内容

userid

员工在当前企业内的唯一标识,也称staffId。可由企业在创建时指定,并代表一定含义比如工号,创建后不可修改

unionid

员工在当前开发者企业账号范围内的唯一标识,系统生成,固定值,不会改变

name

员工名字

tel

分机号(仅限企业内部开发调用)

workPlace

办公地点

remark

备注

mobile

手机号码

email

员工的电子邮箱

orgEmail

员工的企业邮箱,如果员工已经开通了企业邮箱,接口会返回,否则不会返回

active

是否已经激活,true表示已激活,false表示未激活

orderInDepts

在对应的部门中的排序,Map结构的json字符串,key是部门的id,value是人员在这个部门的排序值

isAdmin

是否为企业的管理员,true表示是,false表示不是

isBoss

是否为企业的老板,true表示是,false表示不是

isLeaderInDepts

在对应的部门中是否为主管:Map结构的json字符串,key是部门的id,value是人员在这个部门中是否为主管,true表示是,false表示不是

isHide

是否号码隐藏,true表示隐藏,false表示不隐藏

department

成员所属部门id列表

position

职位信息

avatar

头像url

hiredDate

入职时间。Unix时间戳 (在OA后台通讯录中的员工基础信息中维护过入职时间才会返回)

jobnumber

员工工号

extattr

扩展属性,可以设置多种属性(手机上最多显示10个扩展属性,具体显示哪些属性,请到OA管理后台->设置->通讯录信息设置和OA管理后台->设置->手机端显示信息设置)。

该字段的值支持链接类型填写,同时链接支持变量通配符自动替换,目前支持通配符有:userid,corpid。示例: [工位地址](http://www.dingtalk.com?userid=#userid#&corpid=#corpid#) 

isSenior

是否是高管

stateCode

国家地区码

roles

用户所在角色列表

└ id

角色id

└ name

角色名称

└ groupName

角色组名称

realAuthed

是否实名认证

 

获取部门用户userid列表

通过该接口,可以获取当前部门下的userid列表。目前暂不支持一次性获取企业下所有员工userid值,如果开发者希望获取企业下所有员工userid值,可以通过以下方法:

(1)步骤一,调用“获取部门列表”接口,参数id值传1,可以获取该企业下所有部门id,参考接口调用文档

(2)步骤二,调用此接口“获取部门用户userid列表”,分别获取每个部门下的员工userid。

 

调试工具在线调试

请求方式:GET(HTTPS)

请求地址:https://oapi.dingtalk.com/user/getDeptMember?access_token=ACCESS_TOKEN&deptId=1

参数说明

参数

类型

必须

说明

access_token

String

调用接口凭证

deptId

String

部门id

SDK请求示例(JAVA)

  1.  
    DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/user/getDeptMember");
  2.  
    OapiUserGetDeptMemberRequest req = new OapiUserGetDeptMemberRequest();
  3.  
    req.setDeptId("a");
  4.  
    req.setHttpMethod("GET");
  5.  
    OapiUserGetDeptMemberResponse rsp = client.execute(req, accessToken);
  6.  
    System.out.println(rsp.getBody());

 

返回结果

  1.  
    {
  2.  
    "errcode": 0,
  3.  
    "errmsg": "ok",
  4.  
    "userIds": ["1","2"]
  5.  
    }

 

参数

说明

errcode

返回码

errmsg

对返回码的文本描述内容

userIds

userid列表

 

获取部门用户

 

调试工具在线调试

请求方式:GET(HTTPS)

请求地址:https://oapi.dingtalk.com/user/simplelist?access_token=ACCESS_TOKEN&department_id=1

参数说明

参数

类型

必须

说明

access_token

String

调用接口凭证

lang

String

通讯录语言(默认zh_CN另外支持en_US)

department_id

long

获取的部门id

offset

long

支持分页查询,与size参数同时设置时才生效,此参数代表偏移量

size

long

支持分页查询,与offset参数同时设置时才生效,此参数代表分页大小,最大100

order

String

支持分页查询,部门成员的排序规则,默认不传是按自定义排序;

entry_asc:代表按照进入部门的时间升序,

entry_desc:代表按照进入部门的时间降序,

modify_asc:代表按照部门信息修改时间升序,

modify_desc:代表按照部门信息修改时间降序,

custom:代表用户定义(未定义时按照拼音)排序

SDK请求示例(JAVA)

  1.  
    DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/user/simplelist");
  2.  
    OapiUserSimplelistRequest request = new OapiUserSimplelistRequest();
  3.  
    request.setDepartmentId(100L);
  4.  
    request.setOffset(0L);
  5.  
    request.setSize(10L);
  6.  
    request.setHttpMethod("GET");
  7.  
     
  8.  
    OapiUserSimplelistResponse response = client.execute(request, accessToken);

 

返回结果

  1.  
    {
  2.  
    "errcode": 0,
  3.  
    "errmsg": "ok",
  4.  
    "hasMore": false,
  5.  
    "userlist": [
  6.  
    {
  7.  
    "userid": "zhangsan",
  8.  
    "name": "张三"
  9.  
    }
  10.  
    ]
  11.  
    }

 

参数

说明

errcode

返回码

errmsg

对返回码的文本描述内容

hasMore

在分页查询时返回,代表是否还有下一页更多数据

userlist

成员列表

userid

员工id

name

成员名称

 

获取部门用户详情

如果您想调用通讯录接口并同时获取员工手机号,请先参考通讯录权限说明,设置下通讯录接口权限和手机号等敏感字段权限

 

调试工具在线调试

请求方式:GET(HTTPS)

请求地址:https://oapi.dingtalk.com/user/listbypage?access_token=ACCESS_TOKEN&department_id=1

参数说明

参数

类型

必须

说明

access_token

String

调用接口凭证

lang

String

通讯录语言(默认zh_CN另外支持en_US)

department_id

long

获取的部门id,1表示根部门

offset

long

支持分页查询,与size参数同时设置时才生效,此参数代表偏移量,偏移量从0开始

size

long

支持分页查询,与offset参数同时设置时才生效,此参数代表分页大小,最大100

order

String

支持分页查询,部门成员的排序规则,默认 是按自定义排序;

entry_asc:代表按照进入部门的时间升序,

entry_desc:代表按照进入部门的时间降序,

modify_asc:代表按照部门信息修改时间升序,

modify_desc:代表按照部门信息修改时间降序,

custom:代表用户定义(未定义时按照拼音)排序

SDK请求示例(JAVA)

  1.  
    DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/user/listbypage");
  2.  
    OapiUserListbypageRequest request = new OapiUserListbypageRequest();
  3.  
    request.setDepartmentId(1L);
  4.  
    request.setOffset(0L);
  5.  
    request.setSize(10L);
  6.  
    request.setOrder("entry_desc");
  7.  
    request.setHttpMethod("GET");
  8.  
    OapiUserListbypageResponse execute = client.execute(request,accessToken);

 

返回结果

  1.  
    {
  2.  
    "errcode": 0,
  3.  
    "errmsg": "ok",
  4.  
    "hasMore": false,
  5.  
    "userlist":[
  6.  
    {
  7.  
    "userid": "zhangsan",
  8.  
    "unionid": "PiiiPyQqBNBii0HnCJ3zljcxxxxxx",
  9.  
    "mobile": "1xxxxxxxxxx",
  10.  
    "tel" : "xxxx-xxxxxxxx",
  11.  
    "workPlace" :"",
  12.  
    "remark" : "",
  13.  
    "order" : 1,
  14.  
    "isAdmin": true,
  15.  
    "isBoss": false,
  16.  
    "isHide": true,
  17.  
    "isLeader": true,
  18.  
    "name": "张三",
  19.  
    "active": true,
  20.  
    "department": [1, 2],
  21.  
    "position": "工程师",
  22.  
    "email": "test@xxx.com",
  23.  
    "avatar": "xxx",
  24.  
    "jobnumber": "xxx",
  25.  
    "extattr": {
  26.  
    "爱好":"旅游",
  27.  
    "年龄":"24"
  28.  
    }
  29.  
    }
  30.  
    ]
  31.  
    }

 

参数

说明

errcode

返回码

errmsg

对返回码的文本描述内容

hasMore

在分页查询时返回,代表是否还有下一页更多数据

userlist

成员列表

userid

员工在当前企业内的唯一标识,也称staffId。可由企业在创建时指定,并代表一定含义比如工号,创建后不可修改

unionid

员工在当前开发者企业账号范围内的唯一标识,系统生成,固定值,不会改变

order

表示人员在此部门中的排序,列表是按order的倒序排列输出的,即从大到小排列输出的

钉钉管理后台里面调整了顺序的话order才有值

mobile

手机号

tel

分机号

workPlace

办公地点

remark

备注

isAdmin

是否是企业的管理员,true表示是,false表示不是

isBoss

是否为企业的老板,true表示是,false表示不是

isHide

是否隐藏号码,true表示是,false表示不是

isLeader

是否是部门的主管,true表示是,false表示不是

name

成员名称

active

表示该用户是否激活了钉钉

department

成员所属部门id列表

position

职位信息

email

员工的邮箱

orgEmail

员工的企业邮箱,如果员工的企业邮箱没有开通,返回信息中不包含

avatar

头像url

jobnumber

员工工号

hiredDate

入职时间

extattr

扩展属性,可以设置多种属性(手机上最多显示10个扩展属性,具体显示哪些属性,请到OA管理后台->设置->通讯录信息设置和OA管理后台->设置->手机端显示信息设置)。

该字段的值支持链接类型填写,同时链接支持变量通配符自动替换,目前支持通配符有:userid,corpid。示例: [工位地址](http://www.dingtalk.com?userid=#userid#&corpid=#corpid#) 

stateCode

国家地区码

 

 

管理员相关

获取管理员列表

 

调试工具在线调试

请求方式:GET(HTTPS)

请求地址:https://oapi.dingtalk.com/user/get_admin?access_token=ACCESS_TOKEN

参数说明

参数

类型

必须

说明

access_token

String

调用接口凭证

SDK请求示例(JAVA)

  1.  
    DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/user/get_admin");
  2.  
    OapiUserGetAdminRequest request = new OapiUserGetAdminRequest();
  3.  
    request.setHttpMethod("GET");
  4.  
     
  5.  
    OapiUserGetAdminResponse response = client.execute(request, accessToken);

 

返回结果

  1.  
    {
  2.  
    "errcode": 0,
  3.  
    "errmsg": "ok",
  4.  
    "admin_list":[
  5.  
    {"sys_level":2,"userid":"userid2"},
  6.  
    {"sys_level":1,"userid":"userid1"}
  7.  
    ]
  8.  
    }

 

参数

说明

errcode

返回码

errmsg

对返回码的文本描述内容

sys_level

管理员角色,1表示主管理员,2表示子管理员

userid

员工id

获取管理员通讯录权限范围

 

调试工具在线调试

请求方式:GET(HTTPS)

请求地址:https://oapi.dingtalk.com/topapi/user/get_admin_scope?access_token=ACCESS_TOKEN

参数说明

参数

类型

必须

说明

access_token

String

调用接口凭证

userid

String

员工id

SDK请求示例(JAVA)

  1.  
    DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/user/get_admin_scope");
  2.  
    OapiUserGetAdminScopeRequest req = new OapiUserGetAdminScopeRequest();
  3.  
    req.setUserid("userid1");
  4.  
    OapiUserGetAdminScopeResponse rsp = client.execute(req, accessToken);

 

返回结果

  1.  
    {
  2.  
    "errcode": 0,
  3.  
    "errmsg": "ok",
  4.  
    "dept_ids":[1,2]
  5.  
    }

 

参数

说明

errcode

返回码

errmsg

对返回码的文本描述内容

dept_ids

可管理的部门id列表

根据unionid获取userid

 

调试工具在线调试

请求方式:GET(HTTPS)

请求地址:https://oapi.dingtalk.com/user/getUseridByUnionid?access_token=ACCESS_TOKEN&unionid=xxx

参数说明

参数

类型

必须

说明

access_token

String

调用接口凭证

unionid

String

员工在当前开发者企业账号范围内的唯一标识,系统生成,固定值,不会改变

SDK请求示例(JAVA)

  1.  
    DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/user/getUseridByUnionid");
  2.  
    OapiUserGetUseridByUnionidRequest request = new OapiUserGetUseridByUnionidRequest();
  3.  
    request.setUnionid("M9Ar4MVQA4vk4iPRwIxxxxxxxxx");
  4.  
    request.setHttpMethod("GET");
  5.  
     
  6.  
    OapiUserGetUseridByUnionidResponse response = client.execute(request, accessToken);

 

返回结果

  1.  
    {
  2.  
    "errcode": 0,
  3.  
    "errmsg": "ok",
  4.  
    "contactType": 0,
  5.  
    "userid": "userid1"
  6.  
    }

 

参数

说明

errcode

返回码

errmsg

对返回码的文本描述内容

contactType

联系类型,0表示企业内部员工,1表示企业外部联系人

userid

员工id

 

根据手机号获取userid

企业使用此接口可通过手机号获取其所对应员工的userid。

 

调试工具在线调试

请求方式:GET(HTTPS)

请求地址:https://oapi.dingtalk.com/user/get_by_mobile?access_token=ACCESS_TOKEN&mobile=1xxxxxxxxxx

参数说明:

参数

类型

是否必须

说明

access_token

String

必须

调用接口凭证,通过获取企业access_token获取

mobile

String

必须

手机号码

SDK请求示例(JAVA)

  1.  
    DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/user/get_by_mobile");
  2.  
    OapiUserGetByMobileRequest request = new OapiUserGetByMobileRequest();
  3.  
    request.setMobile("1xxxxxxxxxx");
  4.  
     
  5.  
    OapiUserGetByMobileResponse execute = client.execute(request, access_token);

 

返回结果

  1.  
    {
  2.  
    "errcode": 0,
  3.  
    "errmsg": "ok",
  4.  
    "userid": "zhangsan"
  5.  
    }

 

参数

说明

errcode

返回码

errmsg

对返回码的文本描述内容

userid

员工在当前企业内的唯一标识。

 

获取企业员工人数

 

调试工具在线调试

请求方式:GET(HTTPS)

请求地址:https://oapi.dingtalk.com/user/get_org_user_count?access_token=ACCESS_TOKEN&onlyActive=0

参数说明

参数

类型

必须

说明

access_token

String

调用接口凭证

onlyActive

Number

0:包含未激活钉钉的人员数量

1:不包含未激活钉钉的人员数量

SDK请求示例(JAVA)

  1.  
    DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/user/get_org_user_count");
  2.  
    OapiUserGetOrgUserCountRequest request = new OapiUserGetOrgUserCountRequest();
  3.  
    request.setOnlyActive(1L);
  4.  
    request.setHttpMethod("GET");
  5.  
    OapiUserGetOrgUserCountResponse response = client.execute(request, accessToken);

 

返回结果

  1.  
    {
  2.  
    "count":6,
  3.  
    "errcode":0,
  4.  
    "errmsg":"ok"
  5.  
    }

 

参数

说明

errcode

返回码

errmsg

对返回码的文本描述内容

count

企业员工数量

 

未登录钉钉的员工列表

企业使用此接口可查询指定日期内未登录钉钉的企业员工列表 (每天9点后调用接口才能确保获取前一天数据)

 

调试工具在线调试

请求方式:POST(HTTPS)

请求地址:https://oapi.dingtalk.com/topapi/inactive/user/get?access_token=ACCESS_TOKEN

参数说明:

名称

类型

是否必须

示例值

说明

query_date

String

必须

20190808

查询日期

offset

Number

必须

0

分页数据偏移量,从0开始

size

Number

必须

100

每页大小,最大100

SDK请求示例(JAVA)

  1.  
    DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/inactive/user/get");
  2.  
    OapiInactiveUserGetRequest request = new OapiInactiveUserGetRequest();
  3.  
    // 分页偏移量
  4.  
    request.setOffset(0L);
  5.  
    // 每页size,最多100
  6.  
    request.setSize(100L);
  7.  
    // 查询日期
  8.  
    request.setQueryDate("20190903");
  9.  
    OapiInactiveUserGetResponse response = client.execute(request, access_token);

 

返回结果

  1.  
    {
  2.  
    "errcode": 0,
  3.  
    "errmsg":"成功",
  4.  
    "result": {
  5.  
    "has_more": false,
  6.  
    "list": [
  7.  
    "1075xxxxx",
  8.  
    "1075xxxxx",
  9.  
    "000000000"
  10.  
    ]
  11.  
    }
  12.  
    }

 

参数

说明

errcode

返回码

errmsg

对返回码的文本描述内容

result

 

└ has_more

是否还有更多数据

└ list

未登录用户userId列表

 

 

鸣谢

https://blog.csdn.net/dingdingoa/article/details/108648818

posted @ 2022-06-13 15:42  春光牛牛  阅读(1955)  评论(0编辑  收藏  举报