微信订阅号现在虽然也可以开启开发者设置了,但是未认证的订阅号能调用的API非常有限,比如:可以接收粉丝消息但无法主动回复。
认证是不可能认证的,一年300不说,还必须是企业,广大个人订阅号纷纷抱怨“我太难了”……
本项目另辟蹊径,采用浏览器自动化方案来实现自动回复客服消息。其实就是模拟普通用户操作浏览器,刷出来粉丝消息就立刻回复。可以做到准实时应答。
- 首先您需要安装node.js
- 克隆或者下载本项目到一个本地目录
- 打开命令行窗口,切换当前目录到上述目录,运行
npm install
注意:本项目依赖的puppeteer会自动下载Chromium浏览器,这个在墙外,因此你需要要么使用cnpm,要么用npm config set proxy=...来设置过墙代理 - 安装好之后,执行
npm start
即可启动
- 本项目启动浏览器后,会自动导航到微信公众平台,首次启动需要用户手动登录,就是先输入账户密码登录,然后用管理员微信扫码。
- 脚本会在后台不断刷新消息页,发现有新粉丝消息,就转发给管理员,发现管理员消息,就转发给粉丝。这样管理员就能随时和粉丝聊天互动了。
- 管理员可以同时和多个粉丝互动,见后面消息格式一节详细说明。
- 启动脚本时需要指定订阅号运营者的openId,例如:
node index.js oZh_Sw22f2zG27J_wx4aBz57DZw0
- 如何获取运营者的openId:
- 在公众号后台点击用户管理;
- 在用户列表中找到运营者,点击名字打开聊天窗口;
- 从新窗口地址栏中把页面地址中的tofakeid参数值复制出来,这就是运营者的openId,下面是地址范例:
https://mp.weixin.qq.com/cgi-bin/singlesendpage?t=message/send&action=index&tofakeid=oZh_Sw22f2zG27J_wx4aBz57DZw0&token=768357127&lang=zh_CN
- 因为多个粉丝都可以和订阅号互动,因此运营者收到的消息格式为:
[<会话ID>] <粉丝昵称> 说:<消息内容>
比如:[2] 小马哥 说:在不?
- 运营者回复时如果前面在消息前加会话ID,就是给指定的粉丝回复消息,否则给收到的最后一条消息的粉丝回复。
比如:2 亲有什么事?
- 目前只支持转发文本消息
- 客服消息只能发给48小时内和公众号有互动的粉丝,因此运营者需要记得定时打卡
- 因为需要运营者登录,必须使用有界面的Chromium浏览器,所以只能在图形环境下运行
- 本项目演示了订阅号可编程控制的可能性,其实这种模式还有很大的空间可以发掘,甚至个人订阅号可以拥有不下于服务号的用户体验!
这绝对会是个重大利好,因为订阅号本来就有成本低廉、可每天群发一次等优势。