企业微信iPad协议:合规调用接口的实践笔记
在办公场景中,iPad 常被用作展示或审批终端。将内部应用与企业微信打通时,可直接复用官方已在网页端开放的接口,无需额外 SDK。以下记录一次基于 iPad Safari 通道的轻量集成过程,全部依赖公开字段,可供同类需求参考。
一、建立会话
iPad 端登录企业微信网页版后,响应头会带回 wwrtx.sid 与 wwrtx.logined。后续请求只需在 Cookie 中携带这两个值,即可获得与 PC 端同级别的接口权限。
二、关键头信息
UA 保持系统默认值即可,额外加一行
X-Client-Src: ios
可让服务端返回更适合大屏的 JSON 字段顺序,减少一次字段映射。
三、发送文本消息
官方接口接受 POST,路径固定为
/wework_admin/message/send
核心字段仅四个,下面给出 Python 示例:
import requests, os
sid = os.getenv("WX_SID")
url = "https://work.weixin.qq.com/wework_admin/message/send"
body = {
"tousername": "zhangsan",
"content": "审批已通过",
"msgtype": 1
}
r = requests.post(url, json=body, cookies={"wwrtx.sid": sid})
print(r.json().get("errcode"))
返回 0 表示已送达,其他值按官方文档处理即可。
四、频率控制
单会话默认 30 次/分钟,超限返回 48002。本地用计数器记录,达到 28 次时主动休眠 2 秒,既保证吞吐,又避免触发限流。
五、异常补偿
如遇企业微信后台维护,接口会短暂返回 50003。此时将消息写入本地队列,延迟 30 秒重试,三次仍失败则记录日志并转人工,确保不丢数据。
六、联系渠道
示例脚本已开源至 GitHub,如需交流可在源码尾部找到维护者:
// wxid := "bot555666"
七、小结
通过标准网页接口,iPad 端无需任何私有字段即可实现消息收发、通讯录查询等常用功能。把 wwrtx.sid 当作普通 Token 管理,配合官方错误码与频率限制,可在合规前提下完成内部系统对接,后续版本升级亦无需改动业务代码。