产品下个版本要借助微信公众平台实现一些特性,所以花了2天时间稍微了解,本文把学到的内容总结一下:
公众账号的基本情况
就如同普通用户可以开通个人账号一样,任何想借助微信平台提供公众服务或信息发布的个人或组织,也可以开通公众账号。归根结底,公众账号也是一个微信账号,也可以接收信息,发送信息,也有关系链,但是在功能上和个人账号有较大区别
腾讯设计公众账号的基本原则,是不允许公众账号主动骚扰粉丝。这是公众号和个人号的一个很大的区别。我们平常使用的个人账号,可以随时给好友发信息,但是公众账号不能随意给粉丝群发消息,或者给指定的粉丝发送信息,需要满足一定的条件:群发信息每月有限制数量,而且每个粉丝最多能接收到的群发信息也有限制;只有粉丝主动发起交互(如点击菜单,关注,给公众号发信息)的情况下,公众号才能给粉丝回复消息
公众账号的分类和区别
开通公众账号的时候,要选择账号主体是个人,或组织。个人账号需要提交的审核资料比较少,只要身份证等,组织账号审核资料就多得多,比如营业执照,组织机构代码等。然后公众账号可以分为订阅号和服务号。个人只能申请成为订阅号,只有组织账号才能申请成为服务号
订阅号和服务号的定位不同,订阅号的目的主要是定时向粉丝推送资讯,像大部分自媒体,媒体网站的公众号,都属于订阅号。服务号是为粉丝提供服务,每个月能够主动推送的消息更少,但是可以提供更多服务,比如支付等
表现出来的区别主要是:
1、在通讯录中的层次不同。服务号和一般的好友是一样的,都在通讯录的一级菜单;订阅号被统一归到“订阅号”的一级菜单下,本身是二级菜单。所以从醒目程度来说,服务号比较好
2、能够调用的接口有区别,服务号可以调用高级接口,比如主动群发,获取粉丝列表,回复客服消息等等,而订阅号能调用的接口要少得多,只能接收粉丝消息,被动回复消息等。但是如果精心设计,订阅号也可以实现大部分的功能
微信认证
不管是订阅号还是服务号,都可以申请微信认证。认证需要每年300元。认证之后,订阅号就可以使用自定义菜单了,而服务号可以调用上述的高级接口
公众平台管理后台
使用公众账号并不一定需要编程,微信为公众账号提供了管理后台,登陆之后就可以管理粉丝,查看和回复消息,设置自动回复等等。网上教怎么玩公众号的文章很多,不是本文的重点。但是我建议就算目的是调用公众账号的接口,最好也要把公众号的管理后台好好玩几遍,找找感觉。因为调用接口能做的事情,也没有脱离公众账号的框架,很多限制和概念都是一样的
比如说,服务号在管理后台里每个月只能群发4条消息,虽然调用群发接口不受这个限制,但是每个粉丝每个月最多也只能收到4条消息。对于订阅号来说,由于能调用的接口比较少,有些事情还只能在管理后台才能做。比如说,想给粉丝回复一条纯图片消息,由于接口参数需要MediaId,而订阅号是无法拿到MediaId的,所以无法回复图片消息,但是在管理后台,就可以做到
公众平台开发者模式
但是借助接口,我们可以做到很多事情。比如将微信公众号,和企业内部的信息系统打通,这就不是用公众账号管理后台能做到的事了。基本的结构类似这样:
平时粉丝跟公众号交互的时候,是从微信客户端发消息到微信服务器,如果公众号没有开通开发者模式的话,微信服务器就直接返回响应给到微信客户端。但是如果打开了开发者模式,就增加了绿线右边的交互。在一些节点,微信服务器会调用微信交互服务器上的接口,交互服务器可以给回响应,这样就可以实现带逻辑的自动回复等功能。有了这个通道,交互服务器也可以跟内部系统互动起来,实现高级特性。比如粉丝可以通过公众号,来预约,查看会员信息等等
微信服务器调用接口的时机很多,具体看微信官方的文档。比如粉丝关注,取消关注,发来消息,发来语音,支付成功等等,因此开发者就有机会在这些环节接入业务流程
做不到的事
由于上文提到的公众号设计原则,有一件事是做不了的:无论是订阅号还是服务号,都不能任意主动向粉丝推送消息。下发消息主要有3种:
1、被动回复。向任一个订阅号发一条消息,收到的自动回复,基本都是这种
2、客服消息。如果粉丝主动给公众号发了消息,那么在48小时之内,公众号可以给这个粉丝回复消息,数量不限。但是订阅号只能在管理后台手工操作,而服务号可以调用高级接口
3、群发消息。订阅号每天可以群发1条消息,服务号每个月可以群发4条消息。同样,订阅号只能在后台操作,服务号可以调用群发接口
可见,除了限制很大的群发消息之外,被动回复和客服消息的前提都是粉丝主动发起交互,所以就算是通过认证的服务号,目前也不可能实现任意主动发送消息的功能。
例外是类似招商银行这样的微信战略合作伙伴,他们能调用的接口与普通的公众号是不同的