Appearance
调用凭证
企业微信 API 只有一种鉴权方式:请求头 Authorization: Bearer <你的调用凭证>。示例里的 <你的调用凭证> 就是控制台「应用凭证」页领取的调用凭证。
请求头
http
POST {BASE_URL}/api/message/sendText
Authorization: Bearer <你的调用凭证>
Content-Type: application/json| Header | 必选 | 说明 |
|---|---|---|
Authorization | 是 | Bearer <你的调用凭证>,调用凭证形如 eyk_xxxx,整串填进 <你的调用凭证> |
Content-Type | 是 | 固定 application/json |
调用凭证从哪来
打开应用凭证页,点「领取调用凭证」。完整凭证只显示这一次,请当场保存;之后列表和详情里只显示掩码,掩码不能用来调用。
确实丢失时,在应用安全设置中重置,旧凭证立即失效,用到它的服务都要换成新的。
接入地址在控制台「文档中心 → 快速开始」的「API 接入信息」中查看。复制完整 API Base URL 后,保留末尾 /wx-api,直接填入本文的 {BASE_URL};业务接口再接 /api/…,回调配置再接 /webhook/…。
首次接入按快速开始领取凭证、扫码登录并测试收发。需要单独检查地址与凭证时,使用下面的只读请求。
验证地址与凭证(可选)
按上面的说明填入 {BASE_URL} 和 <你的调用凭证>,调用查询当前回调配置。这个请求不需要 appid,不会创建实例或修改配置。
bash
curl -X POST "{BASE_URL}/webhook/get" \
-H "Authorization: Bearer <你的调用凭证>" \
-H "Content-Type: application/json" \
-d '{}'响应 code 为数字 0 表示本次验证成功;调用失败时,查看鉴权与网关错误。
作用范围:调用凭证管应用,appid 指定实例
调用凭证 ──┬── appid A(华东销售)
├── appid B(客服中心)
└── appid C(售后服务号)| 层级 | 由什么标识 | 作用 |
|---|---|---|
| 应用层 | Authorization | 决定你能不能调,以及能操作哪一批实例 |
| 实例层 | body appid | 决定这次调用作用在哪个已登录的企微账号上 |
操作已有实例的业务接口两个都要带:Header 里带调用凭证,body 里带 appid。只有首次获取二维码不传 appid,系统自动创建实例;之后取码也要带原 appid。用了不属于当前应用的 appid 会收到网关错误 appid_not_bound。
多应用与重置调用凭证
一个账号可以创建多个应用,每个应用使用独立的调用凭证。测试和生产建议各建一个应用,分开管理实例与凭证。
- 重置后,旧调用凭证立即失效,继续使用会返回 HTTP 401、
code为invalid_token;服务端调用要换成新的调用凭证。 - 停用应用后,该应用的调用凭证不能再用。
- 调用凭证泄露后立即重置,并排查泄露位置;错误说明见鉴权与网关错误。
保管要求
- 只放服务端。 不要下发到浏览器、App 或任何客户端,拿到调用凭证等于拿到这批实例的全部操作权。
- 不要写进前端构建产物,包括环境变量注入的前端配置。
- 不要提交进代码仓库,用密钥管理服务或部署环境变量。
- 日志脱敏时把
Authorization加进屏蔽名单。
与微信个人号 API 的差异
| 微信个人号 API | 企业微信 API | |
|---|---|---|
| 鉴权头 | 同为 Authorization: Bearer 请求头;两边凭证不通用 | 同左 |
| 实例标识 | wId | appid |
| 路径 | /… | /wx-api/api/<模块>/<动作> |
两条产品线的凭证不通用。