Name

QQ::weixin::work::batch

DESCRIPTION

FUNCTION

invite(access_token, hash);

邀请成员 最后更新:2022/01/14

SYNOPSIS

https://developer.work.weixin.qq.com/document/path/90975

请求说明:

企业可通过接口批量邀请成员使用企业微信,邀请后将通过短信或邮件下发通知。

请求包结构体为:

{
  "user" : ["UserID1", "UserID2", "UserID3"],
  "party" : [PartyID1, PartyID2],
  "tag" : [TagID1, TagID2]
}

参数说明:

	参数		必须		说明
    access_token	是	调用接口凭证
    user	否	成员ID列表, 最多支持1000个。
    party	否	部门ID列表,最多支持100个。
    tag	否	标签ID列表,最多支持100个。

权限说明

须拥有指定成员、部门或标签的查看权限。 第三方仅通讯录应用可调用。

RETURN 返回结果

    {
    	"errcode": 0,
    	"errmsg": "ok",
		"invaliduser" : ["UserID1", "UserID2"],
		"invalidparty" : [PartyID1, PartyID2],
		"invalidtag": [TagID1, TagID2]
    }

RETURN 参数说明

	参数	    说明
    errcode	返回码
    errmsg	对返回码的文本描述内容
    invaliduser	非法成员列表
    invalidparty	非法部门列表
    invalidtag	非法标签列表

更多说明

user, party, tag三者不能同时为空; 如果部分接收人无权限或不存在,邀请仍然执行,但会返回无效的部分(即invaliduser或invalidparty或invalidtag); 同一用户只须邀请一次,被邀请的用户如果未安装企业微信,在3天内每天会收到一次通知,最多持续3天。 因为邀请频率是异步检查的,所以调用接口返回成功,并不代表接收者一定能收到邀请消息(可能受上述频率限制无法接收)。

syncuser(access_token, hash);

增量更新成员 最后更新:2022/01/05

SYNOPSIS

https://developer.work.weixin.qq.com/document/path/90980

请求说明:

本接口以userid(账号)为主键,增量更新企业微信通讯录成员。请先下载CSV模板(下载增量更新成员模版),根据需求填写文件内容。

注意事项:

模板中的部门需填写部门ID,多个部门用分号分隔,部门ID必须为数字,根部门的部门id默认为1 文件中存在、通讯录中也存在的成员,更新成员在文件中指定的字段值 文件中存在、通讯录中不存在的成员,执行添加操作 通讯录中存在、文件中不存在的成员,保持不变 成员字段更新规则:可自行添加扩展字段。文件中有指定的字段,以指定的字段值为准;文件中没指定的字段,不更新

请求包结构体为:

{
	"media_id":"xxxxxx",
	"to_invite": true,
	"callback":
	{
		"url": "xxx",
		"token": "xxx",
		"encodingaeskey": "xxx"
	}
}

参数说明:

	参数		必须		说明
    access_token	是	调用接口凭证
    media_id	是	上传的csv文件的media_id
	to_invite	否	是否邀请新建的成员使用企业微信(将通过微信服务通知或短信或邮件下发邀请,每天自动下发一次,最多持续3个工作日),默认值为true。
	callback	否	回调信息。如填写该项则任务完成后,通过callback推送事件给企业。具体请参考应用回调模式中的相应选项
	url	否	企业应用接收企业微信推送请求的访问协议和地址,支持http或https协议
	token	否	用于生成签名
	encodingaeskey	否	用于消息体的加密,是AES密钥的Base64编码

权限说明

须拥有通讯录的写权限。

RETURN 返回结果

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

RETURN 参数说明

	参数	    说明
    errcode	返回码
    errmsg	对返回码的文本描述内容
    jobid	异步任务id,最大长度为64字节

replaceuser(access_token, hash);

全量覆盖成员 最后更新:2022/01/05

SYNOPSIS

https://developer.work.weixin.qq.com/document/path/90981

请求说明:

本接口以userid为主键,全量覆盖企业的通讯录成员,任务完成后企业的通讯录成员与提交的文件完全保持一致。请先下载CSV文件(下载全量覆盖成员模版),根据需求填写文件内容。

注意事项:

模板中的部门需填写部门ID,多个部门用分号分隔,部门ID必须为数字,根部门的部门id默认为1 文件中存在、通讯录中也存在的成员,完全以文件为准 文件中存在、通讯录中不存在的成员,执行添加操作 通讯录中存在、文件中不存在的成员,执行删除操作。出于安全考虑,下面两种情形系统将中止导入并返回相应的错误码。 需要删除的成员多于50人,且多于现有人数的20%以上 需要删除的成员少于50人,且多于现有人数的80%以上 成员字段更新规则:可自行添加扩展字段。文件中有指定的字段,以指定的字段值为准;文件中没指定的字段,不更新

请求包结构体为:

{
	"media_id":"xxxxxx",
	"to_invite": true,
	"callback":
	{
		"url": "xxx",
		"token": "xxx",
		"encodingaeskey": "xxx"
	}
}

参数说明:

	参数		必须		说明
    access_token	是	调用接口凭证
    media_id	是	上传的csv文件的media_id
	to_invite	否	是否邀请新建的成员使用企业微信(将通过微信服务通知或短信或邮件下发邀请,每天自动下发一次,最多持续3个工作日),默认值为true。
	callback	否	回调信息。如填写该项则任务完成后,通过callback推送事件给企业。具体请参考应用回调模式中的相应选项
	url	否	企业应用接收企业微信推送请求的访问协议和地址,支持http或https协议
	token	否	用于生成签名
	encodingaeskey	否	用于消息体的加密,是AES密钥的Base64编码

权限说明

须拥有通讯录的写权限。

RETURN 返回结果

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

RETURN 参数说明

	参数	    说明
    errcode	返回码
    errmsg	对返回码的文本描述内容
    jobid	异步任务id,最大长度为64字节

replaceparty(access_token, hash);

全量覆盖部门 最后更新:2018/10/24

SYNOPSIS

https://developer.work.weixin.qq.com/document/path/90982

请求说明:

本接口以partyid为键,全量覆盖企业的通讯录组织架构,任务完成后企业的通讯录组织架构与提交的文件完全保持一致。请先下载CSV文件(下载全量覆盖部门模版),根据需求填写文件内容。

注意事项:

文件中存在、通讯录中也存在的部门,执行修改操作 文件中存在、通讯录中不存在的部门,执行添加操作 文件中不存在、通讯录中存在的部门,当部门下没有任何成员或子部门时,执行删除操作 文件中不存在、通讯录中存在的部门,当部门下仍有成员或子部门时,暂时不会删除,当下次导入成员把人从部门移出后自动删除 CSV文件中,部门名称、部门ID、父部门ID为必填字段,部门ID必须为数字,根部门的部门id默认为1;排序为可选字段,置空或填0不修改排序, order值大的排序靠前。

请求包结构体为:

{
	"media_id":"xxxxxx",
	"to_invite": true,
	"callback":
	{
		"url": "xxx",
		"token": "xxx",
		"encodingaeskey": "xxx"
	}
}

参数说明:

	参数		必须		说明
    access_token	是	调用接口凭证
    media_id	是	上传的csv文件的media_id
	callback	否	回调信息。如填写该项则任务完成后,通过callback推送事件给企业。具体请参考应用回调模式中的相应选项
	url	否	企业应用接收企业微信推送请求的访问协议和地址,支持http或https协议
	token	否	用于生成签名
	encodingaeskey	否	用于消息体的加密,是AES密钥的Base64编码

权限说明

须拥有通讯录的写权限。

RETURN 返回结果

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

RETURN 参数说明

	参数	    说明
    errcode	返回码
    errmsg	对返回码的文本描述内容
    jobid	异步任务id,最大长度为64字节

getresult(access_token, jobid);

获取异步任务结果 最后更新:2018/10/24

SYNOPSIS

https://developer.work.weixin.qq.com/document/path/90983

请求说明:

参数说明:

	参数		必须		说明
    access_token	是	调用接口凭证
    jobid	是	异步任务id,最大长度为64字节

权限说明

只能查询已经提交过的历史任务。

RETURN 返回结果

{
	"errcode": 0,
	"errmsg": "ok",
	"status": 1,
	"type": "replace_user",
	"total": 3,
	"percentage": 33,
	"result": [{},{}]
}

RETURN 参数说明

	参数	    说明
    errcode	返回码
    errmsg	对返回码的文本描述内容
    status	任务状态,整型,1表示任务开始,2表示任务进行中,3表示任务已完成
	type	操作类型,字节串,目前分别有:1. sync_user(增量更新成员) 2. replace_user(全量覆盖成员)3. replace_party(全量覆盖部门)
	total	任务运行总条数
	percentage	目前运行百分比,当任务完成时为100
	result	详细的处理结果,具体格式参考下面说明。当任务完成后此字段有效

result结构:type为sync_user、replace_user时:

"result": [
	{
		"userid":"lisi",
		"errcode":0,
		"errmsg":"ok"
	},
	{
		"userid":"zhangsan",
		"errcode":0,
		"errmsg":"ok"
	}
]

参数	说明
userid	成员UserID。对应管理端的账号
errcode	该成员对应操作的结果错误码
errmsg	错误信息,例如无权限错误,键值冲突,格式错误等
result结构:type为replace_party时:

"result": [
	{
		"action":1,
		"partyid":1,
		"errcode":0,
		"errmsg":"ok"
	},
	{
		"action":4,
		"partyid":2,
		"errcode":0,
		"errmsg":"ok"
	}
]

参数	说明
action	操作类型(按位或):1 新建部门 ,2 更改部门名称, 4 移动部门, 8 修改部门排序
partyid	部门ID
errcode	该部门对应操作的结果错误码
errmsg	错误信息,例如无权限错误,键值冲突,格式错误等