对于通讯录更新大家需要先看下微信企业号的接口文档:http://qydev.weixin.qq.com/wiki/index.php?title=%E5%BC%82%E6%AD%A5%E4%BB%BB%E5%8A%A1%E6%8E%A5%E5%8F%A3
其中:
通讯录更新接口提供三种更新方法:1) 增量更新成员 2)全量覆盖成员 3) 全量覆盖部门。如果企业要做到与企业号通讯录完全一致,可先调用全量覆盖部门接口,再调用全量覆盖成员接口,即可保持通讯录完全一致。
使用步骤为:
1.下载接口对应的csv模板,如果有扩展字段,请自行添加
2.按模板的格式,生成接口所需的数据文件
3.通过上传媒体文件接口上传数据文件,获取media_id
4.调用通讯录更新接口,传入media_id参数
5.接收任务完成事件,并获取任务执行结果
本接口以partyid为键,全量覆盖企业号通讯录组织架构,任务完成后企业号通讯录组织架构与提交的文件完全保持一致。请先下载CSV文件(下载全量覆盖部门模版),根据需求填写文件内容。
注意事项:
1.文件中存在、通讯录中也存在的部门,执行修改操作
2.文件中存在、通讯录中不存在的部门,执行添加操作
3.文件中不存在、通讯录中存在的部门,当部门下没有任何成员或子部门时,执行删除操作
4.CSV文件中,部门名称、部门ID、父部门ID为必填字段,部门ID必须为数字;排序为可选字段,置空或填0不修改排序
Https请求方式: POST
https://qyapi.weixin.qq.com/cgi-bin/batch/replaceparty?access_token=ACCESS_TOKEN
请求包结构体为:
{ "media_id":"xxxxxx", "callback": { "url": "xxx", "token": "xxx", "encodingaeskey": "xxx" } }
参数 | 是否必须 | 描述 |
---|---|---|
media_id | 是 | 上传的csv文件的media_id |
callback | 否 | 回调信息。如填写该项则任务完成后,通过callback推送事件给企业。具体请参考应用回调模式中的相应选项 |
url | 否 | 企业应用接收企业号推送请求的访问协议和地址,支持http或https协议 |
token | 否 | 用于生成签名 |
encodingaeskey | 否 | 用于消息体的加密,是AES密钥的Base64编码 |
管理组须拥有根部门的管理权限。
{ "errcode": 0, "errmsg": "ok", "jobid": "xxxxx" }
参数 | 说明 |
---|---|
errcode | 返回码 |
errmsg | 对返回码的文本描述内容 |
jobid | 异步任务id,最大长度为64字节 |
本接口以userid为主键,全量覆盖企业号通讯录成员,任务完成后企业号通讯录成员与提交的文件完全保持一致。请先下载CSV文件(下载全量覆盖成员模版),根据需求填写文件内容。
注意事项:
1.模板中的部门需填写部门ID,多个部门用分号分隔,部门ID必须为数字
2.文件中存在、通讯录中也存在的成员,完全以文件为准
3.文件中存在、通讯录中不存在的成员,执行添加操作
4.通讯录中存在、文件中不存在的成员,执行删除操作。出于安全考虑,如果:
a) 需要删除的成员多于50人,且多于现有人数的20%以上
b) 需要删除的成员少于50人,且多于现有人数的80%以上
系统将中止导入并返回相应的错误码
5.成员字段更新规则:文件中有指定的字段,以指定的字段值为准;文件中没指定的字段,不更新
Https请求方式: POST
https://qyapi.weixin.qq.com/cgi-bin/batch/replaceuser?access_token=ACCESS_TOKEN
请求包结构体为:
{ "media_id":"xxxxxx", "callback": { "url": "xxx", "token": "xxx", "encodingaeskey": "xxx" } }
参数 | 是否必须 | 描述 |
---|---|---|
media_id | 是 | 上传的csv文件的media_id |
callback | 否 | 回调信息。如填写该项则任务完成后,通过callback推送事件给企业。具体请参考应用回调模式中的相应选项 |
url | 否 | 企业应用接收企业号推送请求的访问协议和地址,支持http或https协议 |
token | 否 | 用于生成签名 |
encodingaeskey | 否 | 用于消息体的加密,是AES密钥的Base64编码 |
管理组须拥有根部门的管理权限。
{ "errcode": 0, "errmsg": "ok", "jobid": "xxxxx" }
参数 | 说明 |
---|---|
errcode | 返回码 |
errmsg | 对返回码的文本描述内容 |
jobid | 异步任务id,最大长度为64字节 |
然后,按照微信企业号的步骤来实现:
1.下载接口对应的csv模板,如果有扩展字段,请自行添加
2.按模板的格式,生成接口所需的数据文件
3.通过上传媒体文件接口上传数据文件,获取media_id
4.调用通讯录更新接口,传入media_id参数
5.接收任务完成事件,并获取任务执行结果
见上图红线部分,若是返回
{ "errcode": 0, "errmsg": "ok", "jobid": "xxxxx" }则表示成功了。
更多微信企业号知识,请访问:http://blog.csdn.net/wxbluethink/article/details/48158561