企业微信全局错误码 (Global Error Codes)
来源:https://developer.work.weixin.qq.com/document/path/90313 查询工具:https://developer.work.weixin.qq.com/devtool/query
开发者程序应根据 errcode 判断错误,不要依赖 errmsg 文本匹配(errmsg 可能调整)。 如果请求参数不符合 JSON 规范,errmsg 会包含 "Warning: wrong json format."。
通用错误码
| errcode | 说明 | 排查方向 |
|---|---|---|
| -1 | 系统繁忙 | 稍后重试(建议最多 3 次,间隔递增) |
| 0 | 请求成功 | — |
40xxx — 参数不合法
| errcode | 说明 | 排查方向 |
|---|---|---|
| 40001 | 不合法的 secret 参数 | 检查 corpsecret 是否正确、是否有首尾空格、应用是否启用 |
| 40003 | 不合法的 UserID | 成员不存在或 userid 格式错误 |
| 40004 | 不合法的媒体文件类型 | 检查文件类型限制(image/voice/video/file) |
| 40005 | 不合法的文件类型 | 检查上传文件的扩展名 |
| 40006 | 不合法的文件大小 | 图片≤10MB,语音≤2MB,视频≤10MB,普通文件≤20MB |
| 40007 | 不合法的媒体文件 id | media_id 无效或已过期(临时素材3天有效) |
| 40009 | 不合法的图片文件大小 | 图片大小超限 |
| 40011 | 不合法的视频文件大小 | 视频大小超限 |
| 40013 | 不合法的 CorpID | 管理后台 → 我的企业 → 企业信息 查看正确 CorpID |
| 40014 | 不合法的 access_token | token 过期、错误或与 agentid 不匹配 |
| 40016 | 不合法的按钮个数 | 自定义菜单按钮数量超限 |
| 40017 | 不合法的按钮类型 | 检查 type 值是否在 view/click/view_miniprogram 等范围内 |
| 40018 | 不合法的按钮名字长度 | 按钮名称超长 |
| 40019 | 不合法的按钮 KEY 长度 | click 类型按钮的 key 超长 |
| 40020 | 不合法的按钮 URL 长度 | view 类型按钮的 url 超长 |
| 40022 | 不合法的子菜单级数 | 最多一级子菜单 |
| 40023 | 不合法的子菜单按钮个数 | 子菜单最多 5 个按钮 |
| 40029 | 不合法的 oauth_code | code 已使用或过期(5分钟有效) |
| 40032 | 不合法的 UserID 列表 | 批量操作时 userid 列表格式错误 |
| 40035 | 不合法的外部联系人参数 | external_userid 无效 |
| 40039 | 不合法的 url 长度 | URL 超长 |
| 40054 | 不合法的子菜单 url 域名 | 域名不在可信域名列表 |
| 40055 | 不合法的子菜单 button url 域名 | 域名不在可信域名列表 |
| 40056 | 不合法的 agentid | agentid 格式错误或不存在 |
| 40058 | 不合法的参数 | 通用参数错误,检查请求参数格式 |
| 40063 | 参数为空 | 必填参数缺失 |
| 40066 | 不合法的部门列表 | 部门 ID 相关参数错误 |
| 40068 | 不合法的标签 ID | 标签不存在 |
| 40070 | 指定的标签范围结点全部无效 | 标签成员列表无效 |
| 40071 | 不合法的标签名字 | 标签名格式或长度不合法 |
| 40072 | 不合法的标签名字长度 | 名称超长(最多 32 个字符) |
| 40073 | 不合法的 openid | openid 无效 |
| 40074 | news 消息不支持保密消息类型 | 图文消息不支持 safe=1 |
| 40077 | 不合法的 pre_auth_code | 预授权码无效(服务商接口) |
| 40078 | 不合法的 auth_code | 授权码无效(服务商接口) |
| 40080 | 不合法的 suite_secret | 应用套件密钥错误 |
| 40082 | 不合法的 suite_token | 套件 token 无效 |
| 40083 | 不合法的 suite_id | 套件 ID 错误 |
| 40084 | 不合法的 suite_ticket | 套件 ticket 无效 |
| 40086 | 不合法的第三方应用 appid | 第三方应用 ID 错误 |
| 40088 | jobid 不存在 | 异步任务 ID 无效 |
| 40089 | 批量任务的 media_id 不存在 | 通讯录批量导入的文件 ID 无效 |
| 40091 | secret 不合法 | 密钥格式错误 |
| 40092 | 导入文件存在不合法的内容 | CSV 文件数据格式有误 |
| 40093 | 不合法的 jsapi_ticket | JS-SDK ticket 无效 |
| 40094 | 不合法的 URL | URL 格式错误 |
| 40096 | 不合法的外部联系人 userid | 外部联系人 userid 无效 |
41xxx — 缺少参数
| errcode | 说明 | 排查方向 |
|---|---|---|
| 41001 | 缺少 access_token 参数 | URL 中未携带 access_token |
| 41002 | 缺少 corpid 参数 | 请求缺少 corpid |
| 41004 | 缺少 secret 参数 | 请求缺少 corpsecret |
| 41006 | 缺少 media_id 参数 | 上传/下载素材时未传 media_id |
| 41008 | 缺少 auth_code | 授权流程缺少 code |
| 41009 | 缺少 userid | 请求缺少 userid |
| 41010 | 缺少 url | 回调配置缺少 URL |
| 41011 | 缺少 agentid | 请求缺少 agentid |
| 41016 | 缺少 title | 消息缺少标题 |
| 41019 | 缺少 department | 请求缺少部门参数 |
| 41025 | 缺少 mediadata | 上传素材缺少文件数据 |
| 41033 | 缺少 description | 请求缺少描述字段 |
| 41035 | 缺少外部联系人参数 | external_userid 缺失 |
42xxx — 凭证过期
| errcode | 说明 | 排查方向 |
|---|---|---|
| 42001 | access_token 已过期 | 刷新 token(有效期 7200 秒) |
| 42007 | pre_auth_code 已过期 | 重新获取预授权码 |
| 42009 | access_token 与 agentid 不匹配 | 确认 token 和应用属于同一 agentid |
43xxx — 权限被拒
| errcode | 说明 | 排查方向 |
|---|---|---|
| 43004 | 指定的 userid 未绑定微信或未关注微信插件 | 成员需先关注企业微信 |
44xxx — 内容为空
| errcode | 说明 | 排查方向 |
|---|---|---|
| 44001 | 多媒体文件为空 | 上传文件内容为空 |
| 44004 | 文本消息 content 为空 | 发送文本消息时 content 不能为空 |
45xxx — 超限
| errcode | 说明 | 排查方向 |
|---|---|---|
| 45002 | 消息内容大小超过限制 | 文本消息不超过 2048 字节 |
| 45004 | 应用描述大小超过限制 | 应用描述不超过 300 字符 |
| 45009 | 接口调用超过限制 | 触发频率限制,参考 wecom-core 第 4 节 |
| 45022 | 应用已禁用 | 应用被管理员禁用 |
| 45024 | 帐号数量超过上限 | 成员数超过企业许可上限 |
| 45026 | 触发删除用户保护 | 批量删除成员时触发安全保护 |
| 45029 | 回调配置的 url 不合法 | 回调 URL 验证失败 |
| 45033 | 接口并发调用超过限制 | 降低并发请求数 |
| 45035 | 超过批量操作上限 | 批量操作的单次数量超限 |
| 45036 | 不允许更新该应用的可见范围 | 应用可见范围受限 |
46xxx — 不存在
| errcode | 说明 | 排查方向 |
|---|---|---|
| 46003 | 菜单未设置 | 应用未配置自定义菜单 |
| 46004 | 指定的 userid 未注册 | userid 不存在 |
48xxx — 权限不足
| errcode | 说明 | 排查方向 |
|---|---|---|
| 48001 | API 功能未授权 | 应用未开通对应 API 权限 |
| 48002 | API 接口无权限调用 | 检查应用可见范围和权限配置 |
| 48003 | 不合法的 suite_id | 套件 ID 不匹配 |
| 48004 | 授权关系无效 | 企业取消了授权 |
| 48005 | API 接口已废弃 | 使用新版替代接口 |
| 48006 | 接口权限被收回 | 联系管理员重新授权 |
| 48007 | 没有指定应用的管理权限 | 当前管理员无此应用管理权 |
50xxx — 用户相关
| errcode | 说明 | 排查方向 |
|---|---|---|
| 50001 | redirect_url 未登记可信域名 | 在管理后台配置可信域名 |
| 50002 | 成员不在权限范围 | 成员不在应用可见范围或不在对应标签 |
| 50003 | 应用已禁止向该用户发消息 | 用户被屏蔽或未关注 |
60xxx — 访问控制
| errcode | 说明 | 排查方向 |
|---|---|---|
| 60001 | 部门长度不合法 | 部门名称超长 |
| 60003 | 部门 ID 不合法 | 部门 ID 格式错误 |
| 60004 | 父部门不存在 | parentid 指向的部门不存在 |
| 60005 | 不允许删除有成员的部门 | 需先移除部门下所有成员 |
| 60006 | 不允许删除有子部门的部门 | 需先删除子部门 |
| 60008 | 部门名称已存在 | 同级下部门名称重复 |
| 60009 | 部门名称含有非法字符 | 不允许包含 `\😗?"<> |
| 60010 | 部门存在循环关系 | 不能把父部门设为子部门 |
| 60011 | 没有权限访问指定应用 | agentid 和 secret 不匹配 |
| 60020 | 访问 IP 不在白名单之中 | 管理后台添加可信 IP |
| 60028 | 不合法的 corpid,和创建者的企业不一致 | corpid 与应用所属企业不匹配 |
| 60102 | UserID 已存在 | 创建成员时 userid 重复 |
| 60103 | 手机号码不合法 | 手机号格式错误 |
| 60104 | 手机号码已存在 | 已绑定其他成员 |
| 60105 | 邮箱不合法 | 邮箱格式错误 |
| 60106 | 邮箱已存在 | 已绑定其他成员 |
| 60107 | 微信号不合法 | 微信号格式错误 |
| 60110 | UserID 不合法 | 仅允许字母、数字、_@.连字符 |
| 60111 | UserID 使用了系统保留字 | 不能使用 test、admin 等 |
| 60123 | 无效的部门 id | 部门不存在 |
72xxx — 发票相关
| errcode | 说明 | 排查方向 |
|---|---|---|
| 72023 | 发票已被其他公众号锁定 | 发票状态冲突 |
| 72024 | 发票状态错误 | 发票当前状态不允许该操作 |
| 72037 | 存在发票不属于该用户 | 用户无权操作该发票 |
80xxx — 应用管理
| errcode | 说明 | 排查方向 |
|---|---|---|
| 80001 | 可信域名不正确 | 域名未通过所有权校验 |
| 81001 | 部门下的结点数超过限制 | 调整通讯录结构 |
| 81003 | 无法操作创建者 | 企业创建者不能被修改或删除 |
| 81011 | 无权限操作标签 | 当前应用无标签管理权限 |
| 81013 | 标签成员超限 | 单标签成员上限 |
82xxx — 群聊
| errcode | 说明 | 排查方向 |
|---|---|---|
| 82001 | 指定的成员 / 部门 / 标签全部无效 | 检查群聊成员列表 |
84xxx — OAuth / 登录
| errcode | 说明 | 排查方向 |
|---|---|---|
| 84014 | 成员票据过期 | 重新获取 user_ticket(5分钟有效) |
| 84015 | 成员票据无效 | user_ticket 格式错误 |
| 84019 | 缺少 templateid | 审批模板 ID 缺失 |
| 84020 | 模板内容不合法 | 检查审批模板 JSON 格式 |
| 84024 | 无权限创建该应用 | 创建应用权限不足 |
| 84052 | 应用已存在 | 应用名称或 ID 重复 |
| 84061 | 缺少 md5 | 文件上传缺少校验码 |
| 84066 | 部门预算余额不足 | 企业支付余额不足 |
| 84067 | 付款金额不符合规范 | 金额超出范围(1分~5000元) |
| 84069 | 付款备注不合法 | 备注超长或格式错误 |
| 84073 | openid 不合法 | 成员未绑定微信 |
| 84074 | 企业支付余额不足 | 充值后重试 |
85xxx — 域名 / 代开发
| errcode | 说明 | 排查方向 |
|---|---|---|
| 85002 | 包含非法的外部联系人 ID | external_userid 不合法 |
| 85004 | 每企业每小时仅允许调用一次 | JS-SDK 域名校验有频率限制 |
| 85005 | 没有设置可信域名 | 管理后台配置应用可信域名 |
86xxx — 聊天存档
| errcode | 说明 | 排查方向 |
|---|---|---|
| 86216 | 存在无效的 external_userid 列表 | 外部联系人 ID 格式错误 |
| 86220 | 需要激活互通账号 | 成员需要互通账号许可 |
90xxx — 客户联系
| errcode | 说明 | 排查方向 |
|---|---|---|
| 90207 | 无客户联系权限 | 应用未开通客户联系功能 |
| 90208 | 不在配置的使用范围内 | 成员不在客户联系使用范围 |
| 90500 | 不合法的 corpid 或 openid | 参数格式错误 |
91xxx — 审批
| errcode | 说明 | 排查方向 |
|---|---|---|
| 91040 | 不合法的审批模板 ID | 审批模板不存在 |
92xxx — 客服
| errcode | 说明 | 排查方向 |
|---|---|---|
| 92002 | 客服账号数或接待人员超限 | 联系管理员扩容 |
301xxx — 权限操作
| errcode | 说明 | 排查方向 |
|---|---|---|
| 301002 | 无权限操作指定的应用 / 成员 | 成员不在应用可见范围内 |
| 301005 | 不允许删除创建者 | 企业创建者不可删除 |
| 301012 | 参数 position 不合法 | 职务字段超长 |
| 301013 | 参数 telephone 不合法 | 座机号格式错误 |
| 301014 | 参数 english_name 不合法 | 英文名超长 |
| 301021 | 被授权的应用配额不足 | 应用许可数不够 |
| 301022 | 设置的成员数目超限 | 标签或部门成员数超限 |
| 301024 | 超出配额数 | 资源配额耗尽 |
| 301025 | 不允许在非通讯录同步助手中获取全部成员 | 仅通讯录同步助手支持全量成员操作 |
| 301036 | 不允许转移的客户不属于该成员 | 转移客户时源成员不匹配 |
| 301055 | 创建群发失败,附件体积超限 | 群发附件体积超过 10MB |
610xxx — 客服专属
| errcode | 说明 | 排查方向 |
|---|---|---|
| 610001 | 客服开放接口未启用 | 管理后台开启客服 API |
| 610003 | 客服 userid 不存在 | 客服成员 ID 无效 |
| 610004 | 客服账号不合法 | 客服账号 ID 格式错误 |
| 610014 | 无有效的客服接待人员 | 客服账号未配置接待人员 |
| 610015 | 客服配额已用完 | 购买更多客服坐席 |
| 610017 | 消息不合法 | 客服消息内容格式错误 |
670xxx — 许可相关
| errcode | 说明 | 排查方向 |
|---|---|---|
| 670001 | 接口许可过期 | 续费企业微信接口许可 |
排查方法
- 错误码查询工具: https://developer.work.weixin.qq.com/devtool/query
- 频率解封工具: https://open.work.weixin.qq.com/devtool/checkCorpSpamBlock
- API 调试工具: https://developer.work.weixin.qq.com/resource/devtool
- 返回的
errmsg中通常包含more info at https://open.work.weixin.qq.com/devtool/query?e=错误码 - 不确定时,优先检查 access_token 是否正确、IP 是否在白名单、成员是否在可见范围
