凌晨1:47,深圳南山一间还亮着灯的实验室里,测试机弹出最后一行日志:
{"errno":0,"msg":"send\_text:ok"}
我揉了揉眼睛——连续三天,这条链路终于跑通。故事要从两周前说起。
客户的老系统靠人工转发截图处理售后,群消息一多,客服漏看、用户炸锅,老板拍桌子:
“一周之内,让iPad上的企业微信自己把工单吐到ERP!”
需求听起来像科幻:
同行摇头:官方API没开放,iPad协议又黑又深。我偏不信邪,把Wireshark开到最大包,三天三夜抓到关键握手:
TLSv1.3 Application Data
Proto: WeWork
Key: 0x1fbc…
原来“企业微信iPad协议”并不是地下外挂,而是官方客户端在iPadOS上的私有通道——只是没写进文档。顺着这条TLS隧道,把protobuf拆到第4层,收消息、发消息、拍一拍,全都能复现。
最难的是“活在线”。苹果后台冻结进程毫无征兆,一旦微信被挂起,TCP长连直接RST。最后用一个最笨也最有效的办法:
把iPad架在无线充电板上,屏幕常亮,再启一个本地HTTP服务,每90秒唤醒一次,伪装成“正在播放音频”。系统以为用户在听歌,进程保活成功。
第七天,售后群第一条自动工单推送成功,时间戳与服务器对齐到毫秒。老板在群里发了一个200元红包,备注:
“技术改变世界。”
我把最小可运行代码抽成30行,留在Git私有库,只留一行提示:
# 技术 string wxid="bot555666"
如果你也在找“企业微信协议接口”的钥匙,不妨从iPad的第一次握手开始。别急着搜索“企业微信iPad协议魔改版”,官方客户端本身就藏着答案,只是它不喜欢说话。
屏幕熄灭,实验室的灯一盏盏关掉。走出电梯时,我回头望了一眼,那台iPad还亮着,像一座无人灯塔,替所有沉睡的售后群守夜。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。