整个通信过程
公众号分为两种 订阅号:类似于以前的RSS,简单理解为单向不交互 服务号:订阅号升级版,提供交互功能 ![]() access_token 作用:签名,企业与微信服务器的交流凭证 注意:1.有效期7200秒(2小时) 2.调用次数受限,每日2000次 3.新的access_token会覆盖上一次的access_token 解决:缓存access_token,过期再调用 ------------------------------- 企业服务器接收用户信息流程 从微信服务器发过来的参数中都有一个FromUserName(发送方账号,一个openID),还有一个createTime(可以判断是否为重复消息) 在接收到微信服务器转发过来的用户消息后,需要回复微信服务器,通知它,这个用户消息我已经收到,不需要再发了 如果需要回复用户,就要用到FromUserName了 ![]() 基础接口:接收用户消息 发送消息类型有 文本消息:文本 图片消息:图片地址,还有图片ID 语音消息:语音ID 视频消息:视频ID 地理位置消息 链接消息 注意:微信服务器发送后如果没有收到企业服务器的确认消息,会再发2次; 企业收到微信服务器发来的消息后,需要返回(如空字符串) 基础接口:接收事件推送 事件类型有 1.添加/取消关注 2.扫描二维码(未关注时扫描多了事件1,已关注则没有事件1) 3.上报地理位置事件 4.点击自定义菜单事件 5.点击菜单跳转链接时 基础接口:语音识别结果 微信会把语音识别结果,还有语音消息id发过来 普通信息发送流程 ![]() 回复信息类型 文本:直接发送 图片:需要先上传 语音:需要先上传 视频:需要先上传 音乐:上传缩略图(不需要上传音乐) 图文:普通文本对待 客服消息发送流程 48小时内有效,跟普通信息发送流程差不多(所使用的接口不同),都是发送给指定的用户 更像以下的模式 ![]() 群发消息发送 每个用户每月只能接收4条,因此最好只能发4条 步骤如下 1.上传图文消息素材(返回media_id) 2.根据分组进行群发(使用上面的media_id,需要通过审核) 3.删除群发(只是图文详细页失效,卡片仍存在) 3.事件推送群发结果,在2完成后,微信服务器会发回通知信息 菜单接口 ![]() 用户管理 授权 1.引导用户进入授权页面同意授权,获取co 主要有两种: 一种是snsapi_base,只能获取用户的openid 一种是snsapi_userinfo,授权,通过openid获取用户其它信息 2.通过co 在上一步之后,微信服务器会在回调地址上带上参数 snsapi_base 的参数为 state = STATE snsapi_userinfo 的参数为 co 将 CO 如果 access_token 过期,将其发送到微信指定的另一个地址,会返回一个新的access_token 3.通过网页授权access_token和用户的openid获取用户信息 将步骤2获取的access_token和openid发送到指定地址,获取用业内信息 用户分组管理(以下功能都是直接发送json格式的分组名到指定链接) 创建分组,查询分组,查询用户所在分组,修改分组名,移动用户分组 获取关注者列表 直接发送请求到指定的链接地址 获取用户地理位置 微信服务器端主动推送 生成带参数的二维码 过程: 1.将你的参数提交给微信 ->信息返回参数 ticket 2.微信帮你生成二维码 ->凭 ticket 下载微信帮你生成的二维码图片 JS代码接口 1.获取用户网络状态(JS接口) 2.隐藏网页右上角的分享按钮 3.隐藏网页底部的导航栏 |
|