适用公众平台的消息接口(带主动发消息权限)
- 格式:docx
- 大小:75.79 KB
- 文档页数:25
微信公众平台二次开发解决方案在进行微信公众平台的二次开发时,需要考虑到一些常见的问题和解决方案,以提高开发效率和用户体验。
以下是一些常见的解决方案:1. 接口调用与权限验证:在进行微信公众平台的二次开发时,可能需要调用微信的接口来获取用户信息、发送消息等。
在这种情况下,需要进行接口调用和权限验证。
解决方案可以是使用开源的微信开发工具包,如Wechat SDK,或使用微信官方提供的接口进行调用和验证。
2. 消息回复与自定义菜单:微信公众平台可以通过自定义菜单来实现用户与公众号的交互,例如点击菜单触发事件、回复消息等。
在二次开发中,可能需要自定义菜单并实现与菜单相关的功能。
解决方案可以是使用微信公众平台提供的菜单接口进行自定义菜单的创建和管理,并通过配置菜单的触发事件来实现相关功能。
3. 消息推送与模板消息:微信公众平台可以通过消息推送功能来向用户发送消息,包括文本、图片、语音、视频等类型。
在二次开发中,可能需要实现消息推送并定制消息内容。
解决方案可以是使用微信公众平台提供的消息接口进行消息的推送,并使用模板消息来定制消息的内容和格式。
4. 用户管理与数据统计:微信公众平台可以通过用户管理功能来管理用户的基本信息,包括用户的关注状态、标签等。
在二次开发中,可能需要进行用户管理和数据统计。
解决方案可以是使用微信公众平台提供的用户管理接口进行用户管理,并使用第三方数据统计工具进行数据统计和分析。
5. 素材管理与图片上传:微信公众平台可以通过素材管理功能来管理各类素材,包括图片、语音、视频等。
在二次开发中,可能需要进行素材管理和图片的上传。
解决方案可以是使用微信公众平台提供的素材管理接口进行素材管理,并使用第三方图片上传工具来实现图片的上传和管理。
通过以上的解决方案,开发者可以更好地进行微信公众平台的二次开发,并实现更丰富和个性化的功能,提升用户的体验。
当然,具体的开发需求会根据实际情况有所差异,开发者需要根据自己的需求选择适合的解决方案。
微信公众平台的功能微信公众平台作为一个社交媒体平台,提供了多种功能,以满足用户的不同需求。
以下是微信公众平台的一些主要功能。
1. 自定义菜单:公众号可以自定义设置菜单,方便用户浏览和获取所需信息。
通过自定义菜单,用户可以轻松了解公众号的主要内容和服务。
2. 消息群发:公众号可以发送消息给关注者,包括文字、图片、链接等。
通过群发功能,公众号可以向大量用户传达信息、宣传产品或服务。
3. 推送通知:公众号可以向关注者发送消息提醒。
这可以是新文章、活动通知、特殊促销等。
关注者可以通过接收通知及时了解公众号的最新动态。
4. 图文素材管理:公众号可以上传和管理图文素材,方便制作推文或群发消息。
用户可以使用富媒体内容提高信息的吸引力和可阅读性。
5. 数据统计:公众号可以查看用户的阅读和行为数据,包括阅读量、转发量、活跃用户等。
这些数据可以帮助公众号了解目标用户的兴趣和行为,进而优化内容和营销策略。
6. 小程序支持:公众号可以与小程序进行关联,提供更多功能和服务。
小程序可以为用户提供更多交互和购物体验,以及更多线下服务。
7. 会员卡:公众号可以提供会员卡服务,用户可以通过公众号申请会员卡,获取积分、优惠券和专属权益。
8. 在线支付:公众号可以集成在线支付功能,用户可以通过公众号完成购物和支付。
这方便了用户的购物体验,也提供了更多营销手段。
9. 客服接入:公众号可以接入客服功能,用户可以通过公众号发送消息与客服人员进行互动。
这提供了便捷的客服渠道,增加用户的满意度和忠诚度。
10. 第三方接入:微信公众平台还提供了第三方开放接口,允许开发者开发和集成更多功能。
这使得微信公众平台成为了一个完善的生态系统,提供了更多的服务和工具。
总结起来,微信公众平台的功能丰富多样,包括自定义菜单、消息群发、推送通知、图文素材管理、数据统计、小程序支持、会员卡、在线支付、客服接入和第三方接入等。
这些功能帮助公众号更好地与用户互动,提供优质的服务和内容。
微信公众平台发送模板消息(Java接⼝开发)前⾔:最近⼀直再弄微信扫码推送图⽂消息和模板消息发送,感觉学习到了不少东西。
今天先总结⼀下微信公众平台模板消息的发送。
因为这个⾃⼰弄了很久,开始很多地⽅不明⽩,所以今天好好总结⼀下。
微信公众平台技术⽂档:⼀、概述模板消息仅⽤于公众号向⽤户发送重要的服务通知,只能⽤于符合其要求的服务场景中,如信⽤卡刷卡通知,商品购买成功通知等。
不⽀持⼴告等营销类消息以及其它所有可能对⽤户造成骚扰的消息。
关于使⽤规则,请注意:1、所有服务号都可以在功能->添加功能插件处看到申请模板消息功能的⼊⼝,但只有认证后的服务号才可以申请模板消息的使⽤权限并获得该权限;2、需要选择公众账号服务所处的2个⾏业,每⽉可更改1次所选⾏业;3、在所选择⾏业的模板库中选⽤已有的模板进⾏调⽤;4、每个账号可以同时使⽤25个模板。
5、当前每个账号的模板消息的⽇调⽤上限为10万次,单个模板没有特殊限制。
【2014年11⽉18⽇将接⼝调⽤频率从默认的⽇1万次提升为⽇10万次,可在MP登录后的开发者中⼼查看】。
当账号粉丝数超过10W/100W/1000W时,模板消息的⽇调⽤上限会相应提升,以公众号MP后台开发者中⼼页⾯中标明的数字为准。
关于接⼝⽂档,请注意:1、模板消息调⽤时主要需要模板ID和模板中各参数的赋值内容;2、模板中参数内容必须以”.DATA”结尾,否则视为保留字;3、模板保留符号”{{ }}”。
看微信公众平台接⼝⽂档最开始我的内⼼是崩溃的,因为⽬录列表⼀开始就是设置所属⾏业,获取所属⾏业信息等。
后来整理思路,我们主要负责的功能的实现,就不去考虑那么多其他的内容,直接弄模板消息的发送。
但是发送模板之前有⼀个很重要的步骤,就是模板ID(template_id)。
微信公众平台发送模板消息有严格的要求,参考。
⼆、模板消息的设计这⾥是依靠微信公众平台测试公众号的模板消息接⼝来设计消息模板,通过⾏业类型来获取模板的同学还是参考微信公众平台的官⽅⽂档来学习。
微信公众平台使用方法:五大微信公众平台使用功能介绍很多功能方面都不知道如何使用。
本片文章主要解说下微信公众平台五大功能使用,让大家在做微信推广的时候能够更加有效:1.群发功能使用2.关键词回复3.用户消息回复4.被添加自动回复5.开发者模式一:群发功能使用微信公众平台群发规则说明和群发消息的方法操作方法:登录微信公众平台(https://)=》群发消息=》根据需要填写文字/语音/图片/视频/录音等内容后,选择对群发对象、性别、群发地区发送即可。
群发消息内容目前支持群发的内容:文字、语音、图片、视频、图文消息。
1、群发内容中需添加文字+图片+视频,可先在“素材管理”中设置图文消息,然后群发时选择“图文消息”类型即可。
2、上传至素材管理中的图片、语音可多次群发,没有有效期。
3、群发图文消息的标题上限为64个字节;4、群发内容字数上限为1200个字符、或600个汉字。
5、语音限制:最大5M,最长60秒,支持 mp3、 wma、 wav、 amr格式。
6、视频限制:最大20M,支持rm, rmvb, wmv, avi, mpg, mpeg, mp4格式。
(上传视频后为了便于粉丝通过手机查看,系统会自动进行压缩,请谅解。
)注:公众平台群发消息目前只支持中文和英文,暂时不支持其他语言,请您谅解。
群发消息的规则1、群发消息条数:公众订阅号(认证用户、非认证用户)在24小时内只能群发1条消息;公众服务号(认证用户、非认证用户),1个月(按自然月)内可发送4条群发消息。
2、通过微信公众平台已经群发的消息内容(包括群发成功、或群发后审核中的内容),不支持修改或者删除消息内容。
3、用户第1次群发时,会自动弹出签署使用协议(服务协议)提示框,签署协议以后不会再提醒、也无法查看协议,请您了解。
4、被加入黑名单的关注用户,不会接收到群发信息。
5、为了保持绿色网络环境,请您不要发布色情、暴力、赌博、血腥、政治等违反国家法律法规的信息,避免引起其他用户投诉,导致您的微信公众号无法正常使用。
微信公众平台高级群发接口在这篇微信公众平台高级接口开发教程中,我们将介绍如何使用接口实现微信公众平台群发功能。
本文分为以下四个部分:1.准备群发内容2.选择群发对象3.执行群发4.接收群发结果一、准备群发内容群发内容可以是文本、图片、语音、视频、图文。
群发文本只需要文本内容,其他内容需要获得相应的media_id。
1. 文本内容文本内容就是一段文字,比如:"微信公众平台开发最佳实践"2. 图片、语音、视频要求如下:∙Ÿ 图片(image): 128K,支持JPG格式∙Ÿ 语音(voice):256K,播放长度不超过60s,支持AMR\MP3格式∙Ÿ 视频(video):1MB,支持MP4格式准备好以后,需要使用上传下载多媒体文件接口将其上传到微信服务器,获得media_id。
上传的开发方法,可以参考本博客的第80篇教程微信公众平台开发(80) 上传下载多媒体文件3. 图文首先要准备缩略图,要求如下:∙缩略图(thumb):64KB,支持JPG格式{}根据上述POST结构,定义图文数组如下:上传成功后,返回如下,将得到图文消息的media_id{"type":"news","media_id":"CsEf3ldqkAYJAU6EJeIkStVDSvffUJ54vqbThMgplD-VJXXof6ctX5fI6-aYyUiQ", "created_at":1391857799}二、选择群发对象群发对象可以是用户组,也可以是OpenID列表。
1.用户组获得用户分组,需要使用高级接口中的查询所有分组接口,获得相应的group_id,开发方法,可以参考本博客的第88篇教程微信公众平台开发(88) 用户分组接口2.OpenID列表OpenID列表,是使用高级接口中的获取关注者列表接口来实现的。
简介微信公众平台消息接口为开发者提供了一种新的消息处理方式。
微信公众平台消息接口为开发者提供与用户进行消息交互的能力。
对于成功接入消息接口的微信公众账号,当用户发消息给公众号,微信公众平台服务器会使用http请求对接入的网址进行消息推送,第三方服务器可通过响应包回复特定结构,从而达到回复消息的目的。
申请消息接口点击申请,填写网址url和token,其中token可由开发者可以任意填写,用作生成签名。
网址接入公众平台用户提交信息后,微信服务器将发送GET请求到填写的URL上,并且带上四个参数:开发者通过检验signature对请求进行校验(下面有校验方式)。
若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,否则接入失败。
signature结合了开发者填写的token参数和请求中的timestamp参数、nonce 参数。
加密/校验流程:1. 将token、timestamp、nonce三个参数进行字典序排序2. 将三个参数字符串拼接成一个字符串进行sha1加密3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信消息推送当普通微信用户向公众账号发消息时,微信服务器将POST该消息到填写的URL 上。
结构如下:文本消息<xml><ToUserName><![CDATA[toUser]]></ToUserName><FromUserName><![CDATA[fromUser]]></FromUserName><CreateTime>1348831860</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[this is a test]]></Content><MsgId>1234567890123456</MsgId></xml>图片消息<xml><ToUserName><![CDATA[toUser]]></ToUserName><FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>1348831860</CreateTime><MsgType><![CDATA[image]]></MsgType><PicUrl><![CDATA[this is a url]></PicUrl><MsgId>1234567890123456</MsgId></xml>地理位置消息<xml><ToUserName><![CDATA[toUser]]></ToUserName><FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>1351776360</CreateTime><MsgType><![CDATA[location]]></MsgType><Location_X>23.134521</Location_X><Location_Y>113.358803</Location_Y><Scale>20</Scale><Label><![CDATA[位置信息]]></Label><MsgId>1234567890123456</MsgId></xml>链接消息<xml><ToUserName><![CDATA[toUser]]></ToUserName><FromUserName><![CDATA[fromUser]]></FromUserName><CreateTime>1351776360</CreateTime><MsgType><![CDATA[link]]></MsgType><Title><![CDATA[公众平台官网链接]]></Title><Description><![CDATA[公众平台官网链接]]></Description> <Url><![CDATA[url]]></Url><MsgId>1234567890123456</MsgId>事件推送事件推送只支持微信4.5版本,即将开放,敬请期待。
微信公众平台开发(4)微信模板消息接⼝⼀、添加消息模板1、所有服务号都可以在功能->添加功能插件处看到申请模板消息功能的⼊⼝,但只有认证后的服务号才可以申请模板消息的使⽤权限并获得该权限;2、需要选择公众账号服务所处的2个⾏业3、在所选择⾏业的模板库中添加模板;4、在我的模板中可以看到添加的模板(商家新订单提醒模板)⼆、模板消息接⼝开发access_token是公众号的全局唯⼀票据,公众号调⽤各接⼝时都需使⽤access_token,access_token的有效期是2⼩时。
模板消息需要使⽤access_token来授权。
1、获取access_token接⼝地址:https:///cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET请求⽅式:GET返回的数据格式:json格式1public String getAccessToken(){2 String requestUrl = "https:///cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET";34 String appid = "appid";//第三⽅⽤户唯⼀凭证56 String secret = "appsecret";// 第三⽅⽤户唯⼀凭证密钥,即appsecret78 requestUrl=requestUrl.replace("APPID", appid);9 requestUrl=requestUrl.replace("APPSECRET", secret);1011 JSONObject jsonObject= CommonUtil.httpsRequestToJsonObject(requestUrl, "GET", null, false);1213 String access_token = jsonObject.getString("access_token");1415return access_token;1617 }2、模板1public class Template {23// 消息接收⽅4private String toUser;5// 模板id6private String templateId;7// 模板消息详情链接8private String url;9// 消息顶部的颜⾊10private String topColor;11// 参数列表12private List<TemplateParam> templateParamList;13//省略getter、setter⽅法1415//按微信接⼝要求格式化模板16public String toJSON() {17 StringBuffer buffer = new StringBuffer();18 buffer.append("{");19 buffer.append(String.format("\"touser\":\"%s\"", this.toUser)).append(",");20 buffer.append(String.format("\"template_id\":\"%s\"", this.templateId)).append(",");21 buffer.append(String.format("\"url\":\"%s\"", this.url)).append(",");22 buffer.append(String.format("\"topcolor\":\"%s\"", this.topColor)).append(",");23 buffer.append("\"data\":{");24 TemplateParam param = null;25for (int i = 0; i < this.templateParamList.size(); i++) {26 param = templateParamList.get(i);27// 判断是否追加逗号28if (i < this.templateParamList.size() - 1){2930 buffer.append(String.format("\"%s\": {\"value\":\"%s\",\"color\":\"%s\"},", param.getName(), param.getValue(), param.getColor()));31 }else{32 buffer.append(String.format("\"%s\": {\"value\":\"%s\",\"color\":\"%s\"}", param.getName(), param.getValue(), param.getColor()));33 }3435 }36 buffer.append("}");37 buffer.append("}");38return buffer.toString();39 }40 }3、发送模板消息,返回json格式结果public JSONObject sendTemplateMsg(Template template){//获取tokenString token = accessTokenService.getAccessToken();String requestUrl = "https:///cgi-bin/template/api_add_template?access_token=ACCESS_TOKEN";requestUrl=requestUrl.replace("ACCESS_TOKEN", token);if (log.isDebugEnabled()) {log.debug(template.toJSON());}//发送模板消息,返回json格式结果JSONObject jsonObject = CommonUtil.httpsRequestToJsonObject(requestUrl, "POST", template.toJSON(),false);return jsonObject;}三、实现效果以订单⽀付成功通知为例:构造消息实体:1 String tplId = "whmJQfErBz_62Fu4ebCiDkz4u9hgBJOMolbLEwZDvh4";2 Template tem=new Template();3 tem.setTemplateId(tplId);4 tem.setTopColor(SUCCESS_TOP_COLOR);56 List<TemplateParam> paras=new ArrayList<TemplateParam>();7 paras.add(new TemplateParam("first","您有⼀笔新订单,等待发货。
微信公众平台的新功能介绍随着社交媒体的迅猛发展,微信公众平台成为了企业、个人及机构获取和发布信息的重要平台之一。
为了适应用户需求和提升用户体验,微信公众平台不断推出新的功能和特性。
本文将介绍微信公众平台最新的功能,以帮助使用者更好地了解和使用这些新特性。
一、小程序插件小程序插件是微信公众平台最新推出的功能之一。
通过小程序插件,用户可以将小程序无缝集成到公众号中,实现更多的交互和功能拓展。
有了小程序插件,用户可以在公众号内直接使用小程序,无需切换应用。
这样一来,用户可以更方便地浏览商品、进行在线购买、享受更多的服务等等。
二、定制化菜单为了增强用户的交互体验,微信公众平台推出了定制化菜单功能。
通过定制化菜单,用户可以根据自己的需求和喜好,自定义公众号的菜单栏目,使菜单更加个性化和直观。
用户可以根据所需要的功能和内容,将常用的菜单放置于便捷位置,使用户能够更快地找到自己所需的信息。
三、语音留言微信公众平台还增加了语音留言功能。
用户可以利用语音留言功能,通过录制自己的声音来进行留言或互动。
这种语音留言功能可以为用户提供更直接、更亲近的交流方式,让双方更好地进行沟通。
无论是留言、回复还是互动,语音留言功能都可以为用户带来更好的体验和更多的乐趣。
四、直播功能为了满足用户日益增长的需求和喜好,微信公众平台也推出了直播功能。
通过直播功能,用户可以在公众号内直接进行实时的视频直播,与粉丝进行互动或分享内容。
这种直播功能不仅可以用于企业进行产品展示和活动推广,也可以用于个人分享经验、教程等内容。
五、会员卡微信公众平台还新增了会员卡功能。
通过会员卡功能,用户可以为自己的粉丝提供会员服务,包括积分、折扣优惠、生日礼品等等。
会员卡功能可以帮助企业或个人更好地与粉丝互动,并提升用户的忠诚度和参与度。
六、群发助手微信公众平台的群发助手功能可以帮助用户更好地管理群发消息。
通过群发助手,用户可以定时发送消息、设定群发对象、查看消息发送情况等。
公众平台消息接口为开发者提供了一种新的消息处理方式。
点击申请,如实填写负责人姓名、手机号和邮箱,填写网址url和token,其中token 可由开发者可以任意填写,用作生成签名。
网址接入
公众平台用户提交信息后,微信服务器将发送GET请求到填写的URL上,并且带上四个参数:
开发者通过检验signature对请求进行校验(下面有校验方式)。
若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,否则接入失败。
signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。
当普通微信用户向公众账号发消息时,微信服务器将POST该消息到填写的URL上。
结构如下:
文本消息只支持2048字节。
事件推送
事件推送只支持微信4.5版本,即将开放,敬请期待。
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[LOCATION]]></Event>
<Latitude>23.137466</Latitude>
<Longitude>113.352425</Longitude>
<Precision>119.385040</Precision>
对于每一个POST请求,开发者在响应包中返回特定xml结构,对该消息进行响应(现支持回复文本、图文、语音、视频、音乐和对收到的消息进行星标操作)。
微信服务器在五秒内收不到响应会断掉连接。
回复xml结构如下:
当普通用户关注公众账号的时候,将会推送一条消息类型为event的结构给开发者,Event为subscribe
当普通用户取消关注公众账号的时候,将会推送一条消息类型为event的结构给开发者,Event 为unsubscribe
1.用户OpenID对一个公众号是固定唯一的串
2.请使用80端口
通用接口使用指南获取凭证接口
接口说明
在使用通用接口前,你需要做以下两步工作:
1.拥有一个微信公众账号,并获取到appid和appsecret
2.通过获取凭证接口获取到access_token
access_token是第三方访问api资源的票据。
请求说明
参数说明
返回说明
正确的Json返回结果:
错误的Json返回示例:
接口说明
第三方通过openid获取用户信息。
请求说明
参数说明
返回说明
正确的Json返回结果:
错误的Json返回结果:
接口说明
上传图片、语音、视频等文件,获取media_id,media_id可复用。
请求说明
参数说明
请求示例
返回说明
正确的Json返回结果:
错误的Json返回示例:
统一返回码说明
注意事项
1.上传的媒体文件限制:
2.媒体文件在后台保存时间为3天,即3天后media_id失效
接口说明
通过media_id获取图片、语音、视频等文件
请求说明
参数说明
请求示例
接口说明
发送消息给普通用户请求说明
参数说明
请求示例
返回说明
正确的Json返回结果:
错误的Json返回示例:
接口说明
使用/media/upload和/message/send的接口,发送媒体文件一步到位请求说明
参数说明
请求示例
返回说明
正确的Json返回结果:
错误的Json返回示例:
接口说明
拉取公众账户关注用户列表请求说明
参数说明
返回说明
正确的Json返回结果:
错误的Json返回示例:
统一返回码说明
注意事项
若公众账号关注人数超过10000,则可以通过填写next_openid的值获取例子:
返回码说明。