Name

QQ::weixin::work::user

DESCRIPTION

通讯录管理->成员管理

FUNCTION

create(access_token, hash);

创建成员

SYNOPSIS

https://work.weixin.qq.com/api/doc/90000/90135/90195

请求说明:

请求包结构体为:

{
  "userid": "zhangsan",
  "name": "张三",
  "alias": "jackzhang",
  "mobile": "13800000000",
  "department": [1, 2],
  "order":[10,40],
  "position": "产品经理",
  "gender": "1",
  "email": "zhangsan@gzdev.com",
  "is_leader_in_dept": [1, 0],
  "enable":1,
  "avatar_mediaid": "2-G6nrLmr5EC3MNb_-zL1dDdzkd0p7cNliYu9V5w7o8K0",
  "telephone": "020-123456",
  "address": "广州市海珠区新港中路",
  "extattr": {
    "attrs": [
        {
            "type": 0,
            "name": "文本名称",
            "text": {
                "value": "文本"
            }
        },
        {
            "type": 1,
            "name": "网页名称",
            "web": {
                "url": "http://www.test.com",
                "title": "标题"
            }
        }
    ]
  },
  "to_invite": true,
  "external_position": "高级产品经理",
  "external_profile": {
    "external_corp_name": "企业简称",
    "external_attr": [
        {
            "type": 0,
            "name": "文本名称",
            "text": {
                "value": "文本"
            }
        },
        {
            "type": 1,
            "name": "网页名称",
            "web": {
                "url": "http://www.test.com",
                "title": "标题"
            }
        },
        {
            "type": 2,
            "name": "测试app",
            "miniprogram": {
                "appid": "wx8bd8012614784fake",
                "pagepath": "/index",
                "title": "my miniprogram"
            }
        }
    ]
  }
}

参数说明:

参数	            必须	说明
access_token	是	调用接口凭证。获取方法查看“获取access_token”
userid	是	成员UserID。对应管理端的帐号,企业内必须唯一。不区分大小写,长度为1~64个字节。只能由数字、字母和“_-@.”四种字符组成,且第一个字符必须是数字或字母。
name	是	成员名称。长度为1~64个utf8字符
alias	否	成员别名。长度1~32个utf8字符
mobile	否	手机号码。企业内必须唯一,mobile/email二者不能同时为空
department	是	成员所属部门id列表,不超过20个
order	否	部门内的排序值,默认为0,成员次序以创建时间从小到大排列。数量必须和department一致,数值越大排序越前面。有效的值范围是[0, 2^32)
position	否	职务信息。长度为0~128个字符
gender	否	性别。1表示男性,2表示女性
email	否	邮箱。长度6~64个字节,且为有效的email格式。企业内必须唯一,mobile/email二者不能同时为空
telephone	否	座机。32字节以内,由纯数字或’-‘号组成。
is_leader_in_dept	否	个数必须和department一致,表示在所在的部门内是否为上级。1表示为上级,0表示非上级。在审批等应用里可以用来标识上级审批人
avatar_mediaid	否	成员头像的mediaid,通过素材管理接口上传图片获得的mediaid
enable	否	启用/禁用成员。1表示启用成员,0表示禁用成员
extattr	否	自定义字段。自定义字段需要先在WEB管理端添加,见扩展属性添加方法,否则忽略未知属性的赋值。与对外属性一致,不过只支持type=0的文本和type=1的网页类型,详细描述查看对外属性
to_invite	否	是否邀请该成员使用企业微信(将通过微信服务通知或短信或邮件下发邀请,每天自动下发一次,最多持续3个工作日),默认值为true。
external_profile	否	成员对外属性,字段详情见对外属性
external_position	否	对外职务,如果设置了该值,则以此作为对外展示的职务,否则以position来展示。长度12个汉字内
address	否	地址。长度最大128个字符

权限说明

仅通讯录同步助手或第三方通讯录应用可调用。

注意,每个部门下的部门、成员总数不能超过3万个。建议保证创建department对应的部门和创建成员是串行化处理。

RETURN 返回结果

{
   "errcode": 0,
   "errmsg": "created"
}

RETURN 参数说明

参数	    说明
errcode	返回码
errmsg	对返回码的文本描述内容

get(access_token, userid);

读取成员

SYNOPSIS

https://work.weixin.qq.com/api/doc/90000/90135/90196

请求说明:

参数说明:

参数	            必须	说明
access_token	是	调用接口凭证
userid	        是	成员UserID。对应管理端的帐号,企业内必须唯一。不区分大小写,长度为1~64个字节

权限说明

应用须拥有指定成员的查看权限。

RETURN 返回结果

{
  "errcode": 0,
  "errmsg": "ok",
  "userid": "zhangsan",
  "name": "李四",
  "department": [1, 2],
  "order": [1, 2],
  "position": "后台工程师",
  "mobile": "13800000000",
  "gender": "1",
  "email": "zhangsan@gzdev.com",
  "is_leader_in_dept": [1, 0],
  "avatar": "http://wx.qlogo.cn/mmopen/ajNVdqHZLLA3WJ6DSZUfiakYe37PKnQhBIeOQBO4czqrnZDS79FH5Wm5m4X69TBicnHFlhiafvDwklOpZeXYQQ2icg/0",
  "thumb_avatar": "http://wx.qlogo.cn/mmopen/ajNVdqHZLLA3WJ6DSZUfiakYe37PKnQhBIeOQBO4czqrnZDS79FH5Wm5m4X69TBicnHFlhiafvDwklOpZeXYQQ2icg/100",
  "telephone": "020-123456",
  "enable": 1,
  "alias": "jackzhang",
  "address": "广州市海珠区新港中路",
  "extattr": {
    "attrs": [
        {
            "type": 0,
            "name": "文本名称",
            "text": {
                "value": "文本"
            }
        },
        {
            "type": 1,
            "name": "网页名称",
            "web": {
                "url": "http://www.test.com",
                "title": "标题"
            }
        }
    ]
  },
  "status": 1,
  "qr_code": "https://open.work.weixin.qq.com/wwopen/userQRCode?vcode=xxx",
  "external_position": "产品经理",
  "external_profile": {
    "external_corp_name": "企业简称",
    "external_attr": [{
            "type": 0,
            "name": "文本名称",
            "text": {
                "value": "文本"
            }
        },
        {
            "type": 1,
            "name": "网页名称",
            "web": {
                "url": "http://www.test.com",
                "title": "标题"
            }
        },
        {
            "type": 2,
            "name": "测试app",
            "miniprogram": {
                "appid": "wx8bd80126147dFAKE",
                "pagepath": "/index",
                "title": "my miniprogram"
            }
        }
    ]
  }
}

RETURN 参数说明

参数	        说明
errcode	    返回码
errmsg	    对返回码的文本描述内容
userid	成员UserID。对应管理端的帐号,企业内必须唯一。不区分大小写,长度为1~64个字节
name	成员名称,此字段从2019年12月30日起,对新创建第三方应用不再返回,2020年6月30日起,对所有历史第三方应用不再返回,后续第三方仅通讯录应用可获取,第三方页面需要通过通讯录展示组件来展示名字
mobile	手机号码,第三方仅通讯录应用可获取
department	成员所属部门id列表,仅返回该应用有查看权限的部门id
order	部门内的排序值,默认为0。数量必须和department一致,数值越大排序越前面。值范围是[0, 2^32)
position	职务信息;第三方仅通讯录应用可获取
gender	性别。0表示未定义,1表示男性,2表示女性
email	邮箱,第三方仅通讯录应用可获取
is_leader_in_dept	表示在所在的部门内是否为上级。;第三方仅通讯录应用可获取
avatar	头像url。 第三方仅通讯录应用可获取
thumb_avatar	头像缩略图url。第三方仅通讯录应用可获取
telephone	座机。第三方仅通讯录应用可获取
enable	成员启用状态。1表示启用的成员,0表示被禁用。注意,服务商调用接口不会返回此字段
alias	别名;第三方仅通讯录应用可获取
extattr	扩展属性,第三方仅通讯录应用可获取
status	激活状态: 1=已激活,2=已禁用,4=未激活。已激活代表已激活企业微信或已关注微工作台(原企业号)。未激活代表既未激活企业微信又未关注微工作台(原企业号)。
qr_code	员工个人二维码,扫描可添加为外部联系人(注意返回的是一个url,可在浏览器上打开该url以展示二维码);第三方仅通讯录应用可获取
external_profile	成员对外属性,字段详情见对外属性;第三方仅通讯录应用可获取
external_position	对外职务,如果设置了该值,则以此作为对外展示的职务,否则以position来展示。
address	地址。

update(access_token, hash);

更新成员

SYNOPSIS

https://work.weixin.qq.com/api/doc/90000/90135/90197

请求说明:

请求包体:

{
  "userid": "zhangsan",
  "name": "李四",
  "department": [1],
  "order": [10],
  "position": "后台工程师",
  "mobile": "13800000000",
  "gender": "1",
  "email": "zhangsan@gzdev.com",
  "is_leader_in_dept": [1],
  "enable": 1,
  "avatar_mediaid": "2-G6nrLmr5EC3MNb_-zL1dDdzkd0p7cNliYu9V5w7o8K0",
  "telephone": "020-123456",
  "alias": "jackzhang",
  "address": "广州市海珠区新港中路",
  "extattr": {
    "attrs": [
        {
            "type": 0,
            "name": "文本名称",
            "text": {
                "value": "文本"
            }
        },
        {
            "type": 1,
            "name": "网页名称",
            "web": {
                "url": "http://www.test.com",
                "title": "标题"
            }
        }
    ]
  },
  "external_position": "工程师",
  "external_profile": {
    "external_corp_name": "企业简称",
    "external_attr": [
        {
            "type": 0,
            "name": "文本名称",
            "text": {
                "value": "文本"
            }
        },
        {
            "type": 1,
            "name": "网页名称",
            "web": {
                "url": "http://www.test.com",
                "title": "标题"
            }
        },
        {
            "type": 2,
            "name": "测试app",
            "miniprogram": {
                "appid": "wx8bd80126147dFAKE",
                "pagepath": "/index",
                "title": "my miniprogram"
            }
        }
    ]
  }
}

参数说明:

参数	            必须	说明
access_token	是	调用接口凭证
userid	是	成员UserID。对应管理端的帐号,企业内必须唯一。不区分大小写,长度为1~64个字节
name	否	成员名称。长度为1~64个utf8字符
alias	否	别名。长度为1-32个utf8字符
mobile	否	手机号码。企业内必须唯一。若成员已激活企业微信,则需成员自行修改(此情况下该参数被忽略,但不会报错)
department	否	成员所属部门id列表,不超过20个
order	否	部门内的排序值,默认为0。数量必须和department一致,数值越大排序越前面。有效的值范围是[0, 2^32)
position	否	职务信息。长度为0~128个字符
gender	否	性别。1表示男性,2表示女性
email	否	邮箱。长度不超过64个字节,且为有效的email格式。企业内必须唯一。若是绑定了腾讯企业邮的企业微信,则需要在腾讯企业邮中修改邮箱(此情况下该参数被忽略,但不会报错)
telephone	否	座机。由1-32位的纯数字或’-‘号组成
is_leader_in_dept	否	上级字段,个数必须和department一致,表示在所在的部门内是否为上级。
avatar_mediaid	否	成员头像的mediaid,通过素材管理接口上传图片获得的mediaid
enable	否	启用/禁用成员。1表示启用成员,0表示禁用成员
extattr	否	自定义字段。自定义字段需要先在WEB管理端添加,见扩展属性添加方法,否则忽略未知属性的赋值。与对外属性一致,不过只支持type=0的文本和type=1的网页类型,详细描述查看对外属性
external_profile	否	成员对外属性,字段详情见对外属性
external_position	否	对外职务,如果设置了该值,则以此作为对外展示的职务,否则以position来展示。不超过12个汉字
address	否	地址。长度最大128个字符

特别地,如果userid由系统自动生成,则仅允许修改一次。新值可由new_userid字段指定。

权限说明

仅通讯录同步助手或第三方通讯录应用可调用。

注意,每个部门下的部门、成员总数不能超过3万个。

RETURN 返回结果

{
   "errcode": 0,
   "errmsg": "updated"
}

RETURN 参数说明

参数	    说明
errcode	返回码
errmsg	对返回码的文本描述内容

delete(access_token, userid);

删除成员

SYNOPSIS

https://exmail.qq.com/qy_mng_logic/doc#10016

请求说明:

参数说明:

参数	            必须	说明
access_token	是	调用接口凭证
userid	        是	成员UserID。成员UserID。对应管理端的帐号

权限说明

仅通讯录同步助手或第三方通讯录应用可调用。 若是绑定了腾讯企业邮,则会同时删除邮箱帐号。

RETURN 返回结果

{
   "errcode": 0,
   "errmsg": "deleted"
}

RETURN 参数说明

参数	    说明
errcode	返回码
errmsg	对返回码的文本描述内容

batchdelete(access_token, hash);

批量删除成员

SYNOPSIS

https://work.weixin.qq.com/api/doc/90000/90135/90199

请求说明:

请求包结构体为:

{
	"useridlist": ["zhangsan", "lisi"]
}

参数说明:

参数	            必须	说明
access_token	是	调用接口凭证
useridlist	  是	成员UserID列表。对应管理端的帐号。最多支持200个。若存在无效UserID,直接返回错误

权限说明

仅通讯录同步助手或第三方通讯录应用可调用。

RETURN 返回结果

{
    "errcode": 0,
    "errmsg": "deleted"
}

RETURN 参数说明

参数	    说明
errcode	返回码
errmsg	对返回码的文本描述内容

simplelist(access_token, department_id, fetch_child);

获取部门成员

SYNOPSIS

https://work.weixin.qq.com/api/doc/90000/90135/90200

请求说明:

参数说明:

参数	            必须	说明
access_token	是	调用接口凭证
department_id	是	获取的部门id
fetch_child	否	是否递归获取子部门下面的成员:1-递归获取,0-只获取本部门

权限说明

应用须拥有指定部门的查看权限。

RETURN 返回结果

{
	"errcode": 0,
	"errmsg": "ok",
	"userlist": [
      {
         "userid": "zhangsan",
         "name": "李四",
         "department": [1, 2]
      }
  ]
}

RETURN 参数说明

参数	        说明
errcode	    返回码
errmsg	    对返回码的文本描述内容
userlist	成员列表
userid	    成员UserID。对应管理端的帐号
name	     成员名称,此字段从2019年12月30日起,对新创建第三方应用不再返回,2020年6月30日起,对所有历史第三方应用不再返回,后续第三方仅通讯录应用可获取,第三方页面需要通过通讯录展示组件来展示名字
department	成员所属部门列表。列表项为部门ID,32位整型

list(access_token, department_id, fetch_child);

获取部门成员详情

SYNOPSIS

https://work.weixin.qq.com/api/doc/90000/90135/90201

请求说明:

参数说明:

参数	            必须	说明
access_token	是	调用接口凭证
department_id	是	获取的部门id
fetch_child	    否	1/0:是否递归获取子部门下面的成员

权限说明

应用须拥有指定部门的查看权限。

RETURN 返回结果

{
    "errcode": 0,
    "errmsg": "ok",
    "userlist": [
        {
          "userid": "zhangsan",
          "name": "李四",
          "department": [1, 2],
          "order": [1, 2],
          "position": "后台工程师",
          "mobile": "13800000000",
          "gender": "1",
          "email": "zhangsan@gzdev.com",
          "is_leader_in_dept": [1, 0],
          "avatar": "http://wx.qlogo.cn/mmopen/ajNVdqHZLLA3WJ6DSZUfiakYe37PKnQhBIeOQBO4czqrnZDS79FH5Wm5m4X69TBicnHFlhiafvDwklOpZeXYQQ2icg/0",
          "thumb_avatar": "http://wx.qlogo.cn/mmopen/ajNVdqHZLLA3WJ6DSZUfiakYe37PKnQhBIeOQBO4czqrnZDS79FH5Wm5m4X69TBicnHFlhiafvDwklOpZeXYQQ2icg/100",
          "telephone": "020-123456",
          "enable": 1,
          "alias": "jackzhang",
          "status": 1,
          "address": "广州市海珠区新港中路",
          "hide_mobile" : 0,
          "english_name" : "jacky",
          "extattr": {
            "attrs": [
                {
                    "type": 0,
                    "name": "文本名称",
                    "text": {
                        "value": "文本"
                    }
                },
                {
                    "type": 1,
                    "name": "网页名称",
                    "web": {
                        "url": "http://www.test.com",
                        "title": "标题"
                    }
                }
            ]
          },
          "qr_code": "https://open.work.weixin.qq.com/wwopen/userQRCode?vcode=xxx",
          "external_position": "产品经理",
          "external_profile": {
            "external_corp_name": "企业简称",
            "external_attr": [{
                    "type": 0,
                    "name": "文本名称",
                    "text": {
                        "value": "文本"
                    }
                },
                {
                    "type": 1,
                    "name": "网页名称",
                    "web": {
                        "url": "http://www.test.com",
                        "title": "标题"
                    }
                },
                {
                    "type": 2,
                    "name": "测试app",
                    "miniprogram": {
                        "appid": "wx8bd80126147dFAKE",
                        "pagepath": "/index",
                        "title": "miniprogram"
                    }
                }
            ]
          }
        }
    ]
}

RETURN 参数说明

参数	        说明
errcode	    返回码
errmsg	    对返回码的文本描述内容
userlist	成员列表
userid	成员UserID。对应管理端的帐号
name	成员名称,此字段从2019年12月30日起,对新创建第三方应用不再返回,2020年6月30日起,对所有历史第三方应用不再返回,后续第三方仅通讯录应用可获取,第三方页面需要通过通讯录展示组件来展示名字
mobile	手机号码,第三方仅通讯录应用可获取
department	成员所属部门id列表,仅返回该应用有查看权限的部门id
order	部门内的排序值,32位整数,默认为0。数量必须和department一致,数值越大排序越前面。
position	职务信息;第三方仅通讯录应用可获取
gender	性别。0表示未定义,1表示男性,2表示女性
email	邮箱,第三方仅通讯录应用可获取
is_leader_in_dept	表示在所在的部门内是否为上级;第三方仅通讯录应用可获取
avatar	头像url。第三方仅通讯录应用可获取
thumb_avatar	头像缩略图url。第三方仅通讯录应用可获取
telephone	座机。第三方仅通讯录应用可获取
enable	成员启用状态。1表示启用的成员,0表示被禁用。服务商调用接口不会返回此字段
alias	别名;第三方仅通讯录应用可获取
status	激活状态: 1=已激活,2=已禁用,4=未激活 已激活代表已激活企业微信或已关注微工作台(原企业号)。未激活代表既未激活企业微信又未关注微工作台(原企业号)。
extattr	扩展属性,第三方仅通讯录应用可获取
qr_code	员工个人二维码,扫描可添加为外部联系人;第三方仅通讯录应用可获取
external_profile	成员对外属性,字段详情见对外属性;第三方仅通讯录应用可获取
external_position	对外职务。 第三方仅通讯录应用可获取
address	地址
hide_mobile	是否隐藏手机号
english_name	英文名

convert_to_openid(access_token, hash);

userid与openid互换: userid转openid

SYNOPSIS

https://work.weixin.qq.com/api/doc/90000/90135/90202

请求说明:

该接口使用场景为企业支付,在使用企业红包和向员工付款时,需要自行将企业微信的userid转成openid。

注:需要成员使用微信登录企业微信或者关注微工作台(原企业号)才能转成openid;

如果是外部联系人,请使用外部联系人openid转换转换openid

请求包结构体为:

{
	"userid": "zhangsan"
}

参数说明:

参数	            必须	说明
access_token	是	调用接口凭证
userid	是	企业内的成员id

权限说明

成员必须处于应用的可见范围内

RETURN 返回结果

{
    "errcode": 0,
    "errmsg": "ok",
    "openid": "oDjGHs-1yCnGrRovBj2yHij5JAAA"
}

RETURN 参数说明

参数	    说明
errcode	返回码
errmsg	对返回码的文本描述内容
openid	企业微信成员userid对应的openid

convert_to_userid(access_token, hash);

userid与openid互换: openid转userid

SYNOPSIS

https://work.weixin.qq.com/api/doc/90000/90135/90202

请求说明:

该接口主要应用于使用企业支付之后的结果查询。

开发者需要知道某个结果事件的openid对应企业微信内成员的信息时,可以通过调用该接口进行转换查询。

请求包结构体为:

{
	"openid": "oDjGHs-1yCnGrRovBj2yHij5JAAA"
}

参数说明:

参数	            必须	说明
access_token	是	调用接口凭证
openid	是	在使用企业支付之后,返回结果的openid

权限说明

管理组需对openid对应的企业微信成员有查看权限。

RETURN 返回结果

{
    "errcode": 0,
    "errmsg": "ok",
    "userid": "zhangsan"
}

RETURN 参数说明

参数	    说明
errcode	返回码
errmsg	对返回码的文本描述内容
userid	该openid在企业微信对应的成员userid

authsucc(access_token, userid);

二次验证

SYNOPSIS

https://work.weixin.qq.com/api/doc/90000/90135/90203

请求说明:

此接口可以满足安全性要求高的企业进行成员加入验证。开启二次验证后,用户加入企业时需要跳转企业自定义的页面进行验证。

企业在开启二次验证时,必须在管理端填写企业二次验证页面的url。

当成员登录企业微信或关注微工作台(原企业号)加入企业时,会自动跳转到企业的验证页面。在跳转到企业的验证页面时,会带上如下参数:code=CODE。

企业收到code后,使用“通讯录同步助手”调用接口“根据code获取成员信息”获取成员的userid。然后在验证成员信息成功后,调用如下接口即可让成员成功加入企业。

参数说明:

参数	            必须	说明
access_token	是	调用接口凭证
userid	        是	成员UserID。对应管理端的帐号

权限说明

RETURN 返回结果

{
  "errcode": 0,
  "errmsg": "ok"
}

RETURN 参数说明

参数	        说明
errcode	    返回码
errmsg	    对返回码的文本描述内容

getuserinfo(access_token, code);

获取访问用户身份

SYNOPSIS

https://work.weixin.qq.com/api/doc/90000/90135/91023

请求说明:

该接口用于根据code获取成员信息

参数说明:

参数	            必须	说明
access_token	是	调用接口凭证
code	是	通过成员授权获取到的code,最大为512字节。每次成员授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。

权限说明

跳转的域名须完全匹配access_token对应应用的可信域名,否则会返回50001错误。

RETURN 返回结果a

{
  "errcode": 0,
  "errmsg": "ok",
  "UserId":"USERID",
  "DeviceId":"DEVICEID"
}

RETURN 参数说明a

参数	        说明
errcode	    返回码
errmsg	    对返回码的文本描述内容
UserId	成员UserID。若需要获得用户详情信息,可调用通讯录接口:读取成员
DeviceId	手机设备号(由企业微信在安装时随机生成,删除重装会改变,升级不受影响)

RETURN 返回结果b

{
  "errcode": 0,
  "errmsg": "ok",
  "OpenId":"OPENID",
  "DeviceId":"DEVICEID"
}

RETURN 参数说明b

参数	        说明
errcode	    返回码
errmsg	    对返回码的文本描述内容
OpenId	非企业成员的标识,对当前企业唯一
DeviceId	手机设备号(由企业微信在安装时随机生成,删除重装会改变,升级不受影响)

get_mobile_hashcode(access_token, hash);

获取手机号随机串

SYNOPSIS

https://work.weixin.qq.com/api/doc/90000/90135/91735

请求说明:

支持企业获取手机号随机串,该随机串可直接在企业微信终端搜索手机号对应的微信用户。

请求包结构体为:

{
  "mobile" : "+8613800000000",
  "state": "123456"
}

参数说明:

参数	            必须	说明
access_token	是	调用接口凭证
mobile	是	手机号
state	否	企业自定义的state参数,用于区分不同的添加渠道,在调用“获取外部联系人详情”时会返回该参数值

权限说明

仅限自建应用调用。

RETURN 返回结果

{
    "errcode": 0,
    "errmsg": "ok",
    "hashcode": "1abcd2xaba3dxab4sdxa"
}

RETURN 参数说明

参数	    说明
errcode	返回码
errmsg	对返回码的文本描述内容
hashcode	手机号对应的随机串,20个字节,30分钟内有效