公众平台开发者文档注:本人引用公众平台开发者文档只为方便,一切版权归公众平台所有目录一、 新手指南 91、 接入指南 9目录 9概述 9第一步:填写服务器配置 9第二步:验证服务器地址的有效性 11第三步:依据接口文档实现业务逻辑 122、 典型案例介绍 12招商银行信用卡中心 13中国南方航空 14广东联通 153、 开发者规范 154、 模板消息运营规范 165、 公众号类型的接口权限说明 186、 开发者互助问答系统 20二、 测试号申请|调试 211、接口调试工具 212、接口测试号申请 21三、 报警排查|返回码 211、接口频率限制说明 212、全局接口返回码说明 233、报警排查指引 28目录 28概要说明 28报警内容说明 30各类报警的排查方法 31常见问题 32附录 34附录1:推送的消息事件列表和响应格式 34附录2:查看服务器性能负载的常用工具 34附录3:nginx配置和排查指引 354、推送消息与事件说明 36四、 消息加解密|消息签名 371、方案概述 372、接入指引 39目录 39函数说明 39使用方法 40注意事项 42函数错误返回码 42示例代码下载 43公众平台接口调试工具 433、技术方案 43阅读须知 43公众账号接收用户消息 44公众账号向用户回复消息 464、开发者FAQ 47消息加解密功能开发者FAQ 47五、 基础接口 491、获取access_token 492、获取服务器IP地址 51六、 接收消息 521、验证消息真实性 522、接收普通消息 53目录 53文本消息 53图片消息 54语音消息 55视频消息 55小视频消息 56地理位置消息 57链接消息 583、接收事件推送 59目录 59关注/取消关注事件 59扫描带参数二维码事件 60上报地理位置事件 61自定义菜单事件 62点击菜单拉取消息时的事件推送 62点击菜单跳转链接时的事件推送 634、接收语音识别结果 64七、 发送消息 651、发送被动回复消息 65目录 66回复文本消息 66回复图片消息 66回复语音消息 67回复视频消息 67回复音乐消息 68回复图文消息 692、客服接口 70目录 71客服帐号管理 71客服接口-发消息 753、高级群发接口 79目录 79上传图文消息素材【订阅号与服务号认证后均可用】 79根据分组进行群发【订阅号与服务号认证后均可用】 81根据OpenID列表群发【订阅号不可用,服务号认证后可用】 85删除群发【订阅号与服务号认证后均可用】 89预览接口【订阅号与服务号认证后均可用】 90查询群发消息发送状态【订阅号与服务号认证后均可用】 92事件推送群发结果 934、模板消息接口 95目录 95设置所属行业 95获得模板ID 98发送模板消息 98事件推送 1025、获取自动回复规则 104八、 素材管理 1091、新增临时素材 1092、获取临时素材 1113、新增永久素材 112新增永久图文素材 112新增其他类型永久素材 1134、获取永久素材 1155、删除永久素材 1176、修改永久图文素材 1187、获取素材总数 1208、获取素材列表 121九、 用户管理 1241、用户分组管理 124目录 124创建分组 124查询所有分组 125查询用户所在分组 127修改分组名 127移动用户分组 128批量移动用户分组 129删除分组 1302、设置用户备注名 131设置备注名 1313、获取用户基本信息(UnionID机制) 132获取用户基本信息(包括UnionID机制) 1324、获取用户列表 1345、获取用户地理位置 136获取用户地理位置 1376、网页授权获取用户基本信息 137目录 139第一步:用户同意授权,获取code 139第二步:通过code换取网页授权access_token 141第三步:刷新access_token(如果需要) 142第四步:拉取用户信息(需scope为 snsapi_userinfo) 143附:检验授权凭证(access_token)是否有效 145十、 自定义菜单管理 1461、自定义菜单创建接口 1462、自定义菜单查询接口 1513、自定义菜单删除接口 1514、自定义菜单事件推送 152目录 152点击菜单拉取消息时的事件推送 152点击菜单跳转链接时的事件推送 153scancode_push:扫码推事件的事件推送 153scancode_waitmsg:扫码推事件且弹出“消息接收中”提示框的事件推送 154pic_sysphoto:弹出系统拍照发图的事件推送 155pic_photo_or_album:弹出拍照或者相册发图的事件推送 156pic_weixin:弹出相册发图器的事件推送 157location_select:弹出地理位置选择器的事件推送 1585、获取自定义菜单配置接口 159十一、 帐号管理 1631、生成带参数的二维码 163创建二维码ticket 164通过ticket换取二维码 1662、长链接转短链接接口 166接口调用请求说明 166十二、 数据统计接口 1681、用户分析数据接口 1682、图文分析数据接口 1703、消息分析数据接口 1774、接口分析数据接口 182十三、 JS-SDK 1851、JS-SDK说明文档 185目录 186概述 187基础接口 190分享接口 190图像接口 192音频接口 193智能接口 195设备信息 195地理位置 196界面操作 196扫一扫 197小店 198卡券 198支付 200附录1-JS-SDK使用权限签名算法 201附录2-所有JS接口列表 202附录3-所有菜单项列表 203附录4-卡券扩展字段及签名生成算法 204附录5-常见错误及解决方法 205附录6-DEMO页面和示例代码 208附录7-问题反馈 208十四、 小店接口 2091、小店接口 209十五、 卡劵接口 2101、卡劵接口说明 210目录 210卡券接口概述 210卡券资料包下载 2112、创建卡劵 212目录 212创建卡券 2123、会员卡、特殊票劵 224目录 224会员卡 224特殊票类 235景区门票 237电影票 237会议门票 240飞机票 240汽车票 2424、投放卡劵 245目录 245创建二维码接口 245添加卡券JS-SDK 247群发卡券 247投放渠道数据统计 2495、核销卡劵 250目录 250核销Code接口 250线上核销接口 252拉取卡券列表接口 252Code解码接口 2526、管理卡劵 254目录 254查询code 254查看卡券详情 255批量查询卡列表 260更改卡券信息接口 261修改库存接口 265更改Code接口 266删除卡券接口 268设置卡券失效接口 2697、卡卷事件推送 270目录 270卡券事件推送 2708、卡劵错误码 275十六、 智能接口 2761、语义理解接口 276十七、 设备功能介绍 2791、设备功能介绍 279目录 279服务号设备功能介绍 279十八、 多客服功能 2811、 将消息转发到多客服 2812、 客服管理 283目录 2833、 多客服会话控制 290目录 2904、 获取客服聊天记录 296获取客服聊天记录接口 2965、 PC客户端自定义插件接口 298目录 298PC客户端自定义页面插件接口 298十九、 摇一摇周边 3061、设备管理 306目录 306申请设备ID 306编辑设备信息 308配置设备与门店的关联关系 309查询设备列表 3102、页面管理 313目录 313新增页面 313编辑页面信息 314查询页面列表 315删除页面 3173、素材管理 318上传图片素材 3184、配置设备与页面的关联关系 319配置设备与页面的关联关系 3195、获取设备及用户信息 320获取摇周边的设备及用户信息 3206、数据统计 322以设备为维度的数据统计接口 322以页面为维度的数据统计接口 3247、摇一摇关注JSAPI 325摇一摇关注JS API 325一、 新手指南1、 接入指南目录· 1 概述· 2 第一步:填写服务器配置· 3 第二步:验证服务器地址的有效性· 4 第三步:依据接口文档实现业务逻辑概述接入公众平台开发,开发者需要按照如下步骤完成:1、填写服务器配置2、验证服务器地址的有效性3、依据接口文档实现业务逻辑下面详细介绍这3个步骤。
第一步:填写服务器配置登录公众平台官网后,在公众平台后台管理页面 - 开发者中心页,点击“修改配置”按钮,填写服务器地址(URL)、Token和EncodingAESKey,其中URL是开发者用来接收消息和事件的接口URLToken可由开发者可以任意填写,用作生成签名(该Token会和接口URL中包含的Token进行比对,从而验证安全性)EncodingAESKey由开发者手动填写或随机生成,将用作消息体加解密密钥同时,开发者可选择消息加解密方式:明文模式、兼容模式和安全模式模式的选择与服务器配置在提交后都会立即生效,请开发者谨慎填写及选择加解密方式的默认状态为明文模式,选择兼容模式和安全模式需要提前配置好相关加解密代码,详情请参考消息体签名及加解密部分的文档 第二步:验证服务器地址的有效性开发者提交信息后,服务器将发送GET请求到填写的服务器地址URL上,GET请求携带四个参数:参数描述signature加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数timestamp时间戳nonce随机数echostr随机字符串开发者通过检验signature对请求进行校验(下面有校验方式)。
若确认此次GET请求来自服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败加密/校验流程如下:1. 将token、timestamp、nonce三个参数进行字典序排序2. 将三个参数字符串拼接成一个字符串进行sha1加密3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于检验signature的PHP示例代码:private function checkSignature(){ $sig。