n用户覆盖200多个国家、超过20种语言
n移动应用对接数量超过85000个
n2016年春节,用户数突破7亿,红包发放量突破4.2亿人
n未来…
1.订阅号
订阅号是公众平台的一种类型,可以为用户提供信息和咨询。
订阅号又分为普通订阅号和认证订阅号,认证订阅号可以在聊天窗口底部设计自定义菜单,而普通订阅号则不能。
2.服务号
3.企业号
企业号可以为企业客户提供移动服务,提供企业移动应用接口。它可以帮助企业建立员工、上下游供应链和企业IT系统间的链接,实现生产、管理、协作、运营的移动化。
2)订阅号、服务号和企业号的主要区别
对比项目
订阅号
服务号
企业号
适用人群
面向媒体和个人,提供一种信息传播方式
面向企业、政府、组织,用于为客户提供服务
面向企业、政府、事业单位、非政府组织,用于实现生产管理,协作运营的移动化
信息显示方式
显示在订阅号的文件夹中
显示在好友的对话列表中
群发消息
每天可以群发1条消息
每月可以群发4条消息
无限制
发送保密消息,禁止转发
无
有
基本消息接收/回复接口
定制应用
高级接口
认证订阅号部分支持
认证服务号支持
认证企业号支持
可申请
2.点击“立即注册”,选择对应的公众号类型(这里以“服务号”为例):
3.根据流程进行注册
2)左侧“菜单栏”->开发->基本配置->点击“成为开发者”按钮
3)成为开发者后将获取到两个参数:
1.开发者ID(AppID):开发者ID是公众号开发识别码,配合开发者密码可调用公众号的接口能力。
2.开发者密码(AppSecret):开发者密码是校验公众号开发者身份的密码,具有极高的安全性。
4)设置IP白名单
5)服务器配置
点击“服务器配置”后面的“修改配置”按钮,填写服务器配置信息:
2.Token:必须为英文或数字,长度为3-32字符。
3.EncodingAESKey:消息加密密钥由43位字符组成,可随机修改,字符范围为A-Z,a-z,0-9。
4.消息加解密方式:初学者选择“明文模式”即可。
6)验证signature参数
1.参数如下:
1)echostr:随机字符串
2)token:该参数只有开发者才知道,可能会被修改,一般写入到配置文件中。
4)none:随机数
2.加密与验证方式
1)将获取的token、timestamp、none三个参数进行字典排序。
2)将这三个参数的值拼接为一个字符串进行SHA1加密。
3)将加密的signature临时字符串与请求的signature参数进行比较,如果相同则验证成功,否则验证失败。
1.获取access_token
access_token有效期为2个小时,过期后需要重新获取,获取access_token的参数说明如下:
grant_type:为固定值client_credential
appid:应用ID
secret:应用秘钥
获取access_token可以采用以下两种方式:
请求成功:{"access_token":"xxxxx","expires_in":7200}
在公众号底部,用户可以自定义菜单,最多可以定义3个菜单,每个菜单项下可以定义5个子菜单,下面介绍如何利用开发接口对菜单进行管理。
注:一级菜单最多4个汉字活8个字母,二级菜单最多8个汉字活16个字母,多出来的部分将以“…”代替。
1)创建自定义菜单
1.调用接口
请求成功:{"errcode":0,"errmsg":"ok"}
按钮类型
说明
具体描述
click
点击推送事件
view
跳转URL
3.自定义菜单JSON字符串参数说明:
参数名
button
定义一级菜单的内容(包含二级菜单内容)
type
定义菜单类型(click、view)
name
定义菜单显示的文本
key
标识菜单按钮的关键字
sub_button
定义二级菜单按钮
url
当菜单类型为view时,点击按钮后跳转的URL地址
2)查询自定义菜单
3)删除自定义菜单
注意:这里的删除菜单是删除所有的菜单。
4)获取自定义菜单配置
l返回参数如下:
1)is_menu_open:是否开启菜单,0开启,1未开启。
2)selfmenu_info:显示的菜单信息。
3)button:表示菜单按钮。
4)type:菜单类型,包括view(跳转网页)、text(返回文本)、img、photo、video、voice等。
5)name:表示菜单名称。
6)url:当菜单类型为view时,点击按钮后跳转的URL地址。
7)value:对于官网上设置的自定义菜单,value字段用于保存菜单文本;对于img、voice类型的菜单,用于保存素材的mediaID;对于video类型的菜单,用于保存视频的下载链接。
8)news_info:图文消息的信息。
9)title:图文消息的标题。
10)digest:图文消息的摘要。
11)author:图文消息的作者。
12)show_cover:指定图文消息是否显示封面,0不显示,1显示。
13)cover_url:图文消息的封面图片的URL。
14)content_url:图文消息的正文URL。
15)source_url:图文消息的原文的URL,若置空则没有查看原文入口。
5)个性化菜单管理
所谓的个性化菜单是指不同类型的用户可以看到不一样的自定义菜单。可以使用如下条件对用户进行分类,使不同类型的用户可以看到不同的自定义菜单:
l用户标签(开发者的业务需求可以借助用户标签来完成)
l性别
l手机操作系统
1.创建个性化菜单
请求成功:{"menuid":3006353683}
未认证的服务好将返回错误:{"errcode":48001,"errmsg":"apiunauthorizedhint:[2uSXJA0667z192!]"}
2.删除个性化菜单
3.测试个性化菜单匹配结果
1)接收普通消息
l接收消息响应参数如下:
参数分类
参数
描述
公共
ToUserName
FromUserName
发送方帐号(一个OpenID)
CreateTime
MsgType
消息类型:
text:文本消息;
image:图片消息;
voice:语言消息
video:视频消息
shortvideo:小视频消息
location:地理位置消息
link:链接消息
MsgId
消息id,64位整型
文本消息
Content
文本消息内容
图片消息
PicUrl
图片链接(由系统生成)
MediaId
图片消息媒体id,可以调用获取临时素材接口拉取数据。
语言消息
语音消息媒体id,可以调用获取临时素材接口拉取数据。
Format
语音格式,如amr,speex等
视频消息/小视频消息
视频消息媒体id,可以调用获取临时素材接口拉取数据。
ThumbMediaId
视频消息缩略图的媒体id,可以调用多媒体文件下载接口拉取数据。
地理位置消息
Location_X
地理位置维度
Location_Y
地理位置经度
Scale
地图缩放大小
Label
地理位置信息
链接消息
Title
消息标题
Description
消息描述
Url
消息链接
2)接收事件推送消息
2.扫描带参数二维码事件
3.上报地理位置事件
4.自定义菜单事件
消息类型,event
Event
事件类型,subscribe(订阅)、unsubscribe(取消订阅)
扫描带参数二维码事件
事件类型:
EventKey
Ticket
二维码的ticket,可用来换取二维码图片
上报地理位置事件
事件类型,LOCATION
Latitude
地理位置纬度
Longitude
Precision
地理位置精度
自定义菜单事件
事件类型,CLICK
事件KEY值,与自定义菜单接口中KEY值对应
3)被动回复用户消息
在ASP.NET中回复用户消息简单,使用下面的语句即可:
HttpContextcontext=HttpContext.Current;
context.Response.Write(xmlMsg);
4)消息的加密和解密
加密模式下将推送"encrypt_type"参数,值为aes。
5)群发消息
1.群发消息的两种方式(数据结构)
l根据分组进行群发
{
"filter":{
"group_id":2,
"is_to_all":false
},
"msgtype":"text",
"text":{
"content":"CONTENT"
}
l根据OpenID列表群发
"touser":[
"OpenId1",
"OpenId2"
],
filter
指定群发的过滤条件
group_id
群发的用户组编号,未分组的用户组为0
is_to_all
msgtype
发送的消息类型:
voice:语音消息;
mpnews:图文消息;
video/mpvideo:视频消息
text
发送的消息文本
content
发送的消息文本内容
touser
指定OpenId列表,最少2个,最多10000个
请求成功:{"errcode":0,"errmsg":"sendjobsubmissionsuccess","msg_id":3147483651}
注意:相同的消息内容只能发送一次(发送成功的),否则会返回以下错误:
{"errcode":45065,"errmsg":"clientmsgidexist","msg_id":3147483651}
注:更多群发类型请参考文档
6)发送模板消息
模版消息仅用于公众号向用户发送业务通知。如信用卡刷卡通知,商品购买成功通知等。公众号需要申请才能开通模板功能,具有支付功能的公众号才可以使用模板消息进行服务,每个公众号最多可以添加25个模板。
1.开通模板消息功能
2.获取所属行业
3.设置所属行业
4.获得模板ID
每个模板都对应一个模板编号,可以使用模板编号获得模板ID。
5.获取模板列表
6.发送模板消息
7.删除模板
1)用户分组管理
1.查询所有用户分组
2.创建用户分组
3.修改用户分组名
4.删除用户分组
5.查询用户所在分组
6.移动用户到指定分组
7.批量移动用户到指定分组
2)用户管理
1.获取用户列表
2.设置用户备注
3.获取用户基本信息
1)配置接口权限
2.下载"MP_verify_pA2DZY3vx65KCAQd.txt"文件,并将该文件放置网站根目录下,并确保可以访问。
注意:需要对"redirect_uri"参数进行URL编码。
3)根据code获取用户的access_token(在回调参数"redirect_uri"的程序中)