2.3 微信公众平台开放接口解析
其实在上面阐述微信公众平台基本参数设置和高级参数设置的时候,已经应用到了开放接口应用。公众平台开放接口以提供服务为基础,开发者在公众平台网站中创建公众号,获取接口权限后,可以通过阅读本接口文档来帮助开发,以完善更高级的功能设置。
1.成为公众平台开发者
打开微信公众平台后台,选择“开发者中心”选项,跳转到“开发者中心”页面(见图2-57),选中复选框“我同意《微信公众平台开发者服务协议》”,点击“成为开发者”按钮进入“开发者中心”页面。
图2-57 单击“成为开发者”按钮
“开发者中心”页面分为两部分:配置项和接口报警。配置项包括以下内容(见图2-58)。
图2-58 “配置项”页面
1)开发者ID
包括App ID(应用ID)和App Secret(应用密钥)。为了识别用户,每个用户针对每个公众号会产生一个安全的Open ID。
2)服务器配置
点击“服务器配置”栏目中的“修改配置”按钮,填写URL(服务器地址)、Token(令牌)和EncodingAESKey(消息加解密密钥)。URL是开发者用来接收微信消息和事件的接口URL。Token可由开发者任意填写,用作生成签名(该Token会和接口URL中包含的Token进行比对,从而验证安全性)。EncodingAESKey由开发者手动填写或随机生成,将用作消息加解密密钥。同时,开发者可选择消息加解密方式:明文模式、兼容模式或安全模式。加解密方式的默认状态为明文模式,若选择兼容模式和安全模式需要提前配置好相关加解密代码(见图2-59)。
图2-59 填写“服务器配置”
3)开发者工具
开发者工具是指开发者在开发公众账号的时候可以应用的工具类型,包括开发者文档、在线接口调试工具、开发者问答系统、公众平台测试账号、公众号第三方平台、腾讯云CDN加速等。
4)接口权限表
接口权限表是指开发者在公众平台开发时,可以开发的功能类型列表。
2.接收消息
接收消息是指公众账号能接收到用户消息的请求,包括“接收普通消息”和“接收事件推送”两部分。“接收普通消息”分为文本消息、图片消息、语音消息、视频消息、小视频消息、地理位置消息及链接消息等;“接收事件推送”包括关注/取消关注事件、扫描带参数二维码事件、上报地理位置事件、自定义菜单事件及点击菜单跳转链接时的事件推送等。
1)文本消息
文本消息是指用户向公众平台输入文本发送的消息,是公众平台接收到的最多的消息,也是最重要的搜索、互动请求,其接口获取的消息格式如下。
其中,XML数据格式是一种非常适合Web传输的格式,具有强大的数据索引、排序、查找、相关一致性等特点,看起来有点像HTML,但其结构比HTML要简单得多。
文本消息的数据字段如下:
2)图片消息
图片消息是指图片上传发送消息,接口获取的消息格式如下:
其文本消息的数据字段如下:
3)语音消息
语音消息是指语音上传发送消息,接口获取的消息格式如下:
其文本消息的数据字段如下:
需要注意的是,开通语音识别后,用户每次发送语音给公众号时,微信会在推送的语音消息XML数据包中,增加一个Recognition字段。开启语音识别后的语音XML数据包如下:
多出的字段中,Format为语音格式,一般为amr, Recognition为语音识别结果,使用UTF8编码。
4)视频消息
视频消息是指视频上传发送消息,接口获取的消息格式如下:
其文本消息的数据字段如下:
5)小视频消息
小视频消息是指短视频(如微视)上传发送消息,接口获取的消息格式如下:
其文本消息的数据字段如下:
6)地理位置消息
微信将LBS作为一个交互信息进行传递,比较常见的应用就是微信用户之间发送地理位置告知目的地所在。在公众平台里也可以发送地理位置搜索周边人、商家等信息。接口获取的消息格式如下:
其文本消息的数据字段如下:
7)链接消息
公众账号通过链接抓取网页内容然后收藏保存,接口获取的消息格式如下:
其文本消息的数据字段如下:
8)关注/取消关注事件
关注/取消关注事件是指用户关注或取消公众号,其推送的XML数据包如下:
其文本消息的数据字段如下:
9)扫描带参数二维码事件
用户扫描带场景值二维码时,微信会将场景值扫描事件推送给开发者。其推送的XML数据包如下:
其文本消息的数据字段如下:
10)用户已关注的事件推送
用户已关注的事件推送是指用户已经关注的公众平台进行的相关信息推送,推送XML数据包如下:
其文本消息的数据字段如下:
11)上报地理位置事件
上报地理位置是指当关注的用户每次进入公众号对话时,都会在进入时上报地理位置,或在进入会话后每5秒钟上报一次地理位置。在上报地理位置时,微信会将上报地理位置事件推送到开发者填写的URL。推送XML数据包如下:
其文本消息的数据字段如下:
12)自定义菜单事件
自定义菜单事件是指在微信公众平台进行自定义设置,如设置一级菜单和二级子菜单。包括点击菜单拉取消息时的事件推送和点击菜单跳转链接时的事件推送。
点击菜单拉取消息时的事件推送的XML数据包如下:
其文本消息的数据字段如下:
点击菜单跳转消息时的事件推送的XML数据包如下:
其文本消息的数据字段如下:
3.回复消息
当用户发送消息给公众号时,会产生一个POST请求,开发者可以在响应包中返回特定XML结构,对该消息进行响应。
1)回复文本消息
文本消息是微信公众平台运营过程中最常见的一种形式,文本阅读要比其他方式阅读成本低,所以能用文本消息的地方尽量用文本,其接口下发的消息格式如下:
回复文本消息的数据字段如下:
2)回复图片消息
回复图片消息是指对发送的图片进行回复,其接口下发的消息格式如下:
回复图片消息的数据字段如下:
3)回复语音消息
回复语音消息是指对发送的语音进行回复,其接口下发的消息格式如下:
回复语音消息的数据字段如下:
4)回复视频消息
回复视频消息是指对发送的视频进行回复,其接口下发的消息格式如下:
回复视频消息的数据字段如下:
5)回复音乐消息
回复音乐消息是指对发送的音乐进行回复,其接口下发的消息格式如下:
回复音乐消息的数据字段如下:
6)回复图文消息
回复图文消息是指对发送的图文进行回复,其接口下发的消息格式如下:
回复图文消息的数据字段如下:
4.其他消息接口
微信公众平台始终保持开放的态度,除了上述开放接口之外,其他接口也陆续开放,如群发接口、素材管理接口、自动回复接口、微信小店接口、微信卡券接口、微信门店接口、多客服功能接口等。这些接口并不是所有人或企业都需要,在公众平台参数设置的时候,已经介绍了它们的运营技巧,在这里本着精简介绍原则,就不做过多阐述,有需要的个人或企业可以慢慢摸索。