# 微信公众平台开发概述

微信公众平台是运营者通过公众号为微信用户提供资讯和服务的平台,而公众平台开放接口则是提供服务的基础,开发者在公众平台网站中创建公众号、获取接口权限后,可以通过阅读本接口文档来帮助开发。如遇问题,可前往 #公众号社区 发帖交流。

为了识别用户,每个用户针对每个公众号会产生一个安全的OpenID,如果需要在多公众号、移动应用之间做用户共通,则需前往微信开放平台,将这些公众号和应用绑定到一个开放平台账号下,绑定后,一个用户虽然对多个公众号和应用有多个不同的OpenID,但他对所有这些同一开放平台账号下的公众号和应用,只有一个UnionID,可以在用户管理-获取用户基本信息(UnionID机制)文档了解详情。

请开发者注意:

1、微信公众平台开发是指为微信公众号进行业务开发,为移动应用、PC端网站、公众号第三方平台(为各行各业公众号运营者提供服务)的开发,请前往微信开放平台接入。

2、在申请到认证公众号之前,你可以先通过测试号申请系统,快速申请一个接口测试号,立即开始接口测试开发。

3、在开发过程中,可以使用接口调试工具来在线调试某些接口。

4、每个接口都有每日接口调用频次限制,可以在公众平台官网-开发者中心处查看具体频次。

5、在开发出现问题时,可以通过接口调用的返回码,以及报警排查指引(在公众平台官网-开发者中心处可以设置接口报警),来发现和解决问题。

6、公众平台以access_token为接口调用凭据,来调用接口,所有接口的调用需要先获取access_token,access_token在2小时内有效,过期需要重新获取,但1天内获取次数有限,开发者需自行存储,详见获取接口调用凭据(access_token)文档。

公众号主要通过公众号消息会话和公众号内网页来为用户提供服务的,下面分别介绍这两种情况:

1、公众号消息会话

公众号是以微信用户的一个联系人形式存在的,消息会话是公众号与用户交互的基础。目前公众号内主要有这样几类消息服务的类型,分别用于不同的场景。

1)群发消息:公众号可以以一定频次(订阅号为每天1次,服务号为每月4次),向用户群发消息,包括文字消息、图文消息、图片、视频、语音等。

2)被动回复消息:在用户给公众号发消息后,微信服务器会将消息发到开发者预先在开发者中心设置的服务器地址(开发者需要进行消息真实性验证),公众号可以在5秒内做出回复,可以回复一个消息,也可以回复命令告诉微信服务器这条消息暂不回复。被动回复消息可以设置加密(在公众平台官网的开发者中心处设置,设置后,按照消息加解密文档来进行处理。其他3种消息的调用因为是API调用而不是对请求的返回,所以不需要加解密)。

3)客服消息:用户在公众号内发消息/触发特定行为后,公众号可以给用户发消息。具体发送规则见公众号客服消息文档:https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Service_Center_messages.html。

4)模板消息:在需要对用户发送服务通知(如刷卡提醒、服务预约成功通知等)时,公众号可以用特定内容模板,主动向用户发送消息。

2、公众号内网页

许多复杂的业务场景,需要通过网页形式来提供服务,这时需要用到:

1)网页授权获取用户基本信息:通过该接口,可以获取用户的基本信息(获取用户的OpenID是无需用户同意的,获取用户的基本信息则需用户同意)

2)微信JS-SDK:是开发者在网页上通过JavaScript代码使用微信原生功能的工具包,开发者可以使用它在网页上录制和播放微信语音、监听微信分享、上传手机本地图片、拍照等许多能力。

# 典型案例介绍

值得借鉴的公众账号主要是服务号,试列举并介绍如下:

招商银行信用卡中心

如果你是持卡人,可快捷查询信用卡账单、额度及积分;快速还款、申请账单分期;微信转接人工服务;信用卡消费,微信免费笔笔提醒。如果不是持卡人,可以微信办卡!

招商银行公众号通过提示消息引导用户将自己的微信号和信用卡号安全绑定。 用户可以通过该公众号查询账单、收取刷卡通知等功能,这是由招行开发人员通过公众号接口实现的功能。

中国南方航空

你可以办理值机手续,挑选座位,查询航班信息,查询目的地城市天气,并为明珠会员提供专业的服务。

南方航空公众号可以让用户将明珠会员服务和微信号绑定起来。 用户可以通过该公众号预订机票、查询订单,甚至办理登机牌。

广东联通

你可以在微信里绑定手机号、积分流量,套餐余量、手机上网流量,微信专属流量查询,客服咨询。

广东联通公众号可以绑定手机号,来查询流量、套餐等等功能。 广东联通更与微信深度合作,购买微信沃卡可以获得微信五大特权。