MESSAGE INFRASTRUCTURE
运行概览
连接、投递、追踪,在一个地方完成。
从这里开始
接入指南接入资源
模板消息需要公众号具备对应权限,接收人须满足微信接口要求。客服文本消息受微信客服会话时限约束。
最近消息
查看全部 →公众号通道
每个通道对应一个微信公众号,消息通过通道标识路由。
AppSecret 加密保存,列表不会返回原始密钥。修改时留空可保留原值。
业务接入应用
每个系统使用独立的 Key 和 Secret,只能向本系统已授权的 OpenID 推送。
新应用默认没有接收人。请先配置公众号通道,再通过“接收人”绑定允许推送的 OpenID。停用应用将阻止后续调用和队列发送。
授权接收人
接收人按应用和公众号隔离;未授权的 OpenID 无法推送。
消息记录
微信已接收表示微信接口接受了请求。结果不确定通常由发送超时产生,重试前请确认是否已经收到,避免重复通知。
发送测试消息
测试请求进入正式消息队列,会实际调用微信接口。
业务系统接入
使用各系统独立的 Key 和 Secret 调用 HTTP JSON 接口。
/api/v1/messages请求头:Content-Type: application/json 、X-API-Key: <应用 Key> 和 X-API-Secret: <应用 Secret>。
同一个接入应用中,requestId 应唯一。相同请求标识用于幂等去重;业务重试请复用原标识。
必填字段
- requestId
- 业务请求唯一标识。
- channelId
- 配置的公众号通道标识。
- type
- TEMPLATE 或 TEXT。
- openId
- 已在本系统的接收人列表中授权的公众号 OpenID。
消息内容
- TEMPLATE
- 提供 templateId 与 data;url 为可选跳转地址。data 字段必须与微信模板一致。
- TEXT
- 提供 content;仅适用于满足微信客服消息条件的用户。
- 响应
- 返回 id、status、duplicate。接口接收成功后,消息将异步发送。
查询消息状态
/api/v1/messages/{id}带上原接入应用的 Key 和 Secret 查询该消息;应用之间无法查询对方的消息。SENT 表示微信接口已接收,FAILED 表示发送失败,UNKNOWN 表示发送结果无法确定。
微信公众号需具备对应消息接口权限。模板通知应符合微信平台的服务通知要求;接收人的关注状态、模板字段、客服会话时限等由微信平台校验。
在“接入应用”中选择“接收人”,绑定该系统可推送的 OpenID。未绑定、已停用或属于其他系统的接收人会返回 RECIPIENT_FORBIDDEN。空接收人列表表示禁止推送;相同 OpenID 如需供多个系统使用,须由管理员分别授权。凭证轮换后旧 Key 和 Secret 立即失效。
回调地址
如需启用公众号服务器配置,请使用 /wechat/{通道标识}/callback,并在通道中配置相同的 Token;当前支持明文签名校验与回调确认,不追踪最终送达状态。不要将接入应用 API Key 填入微信回调 Token。