微信公众平台客服界面消息(Java界面开发)实现代码
微信公众平台技术文档:客服新闻
一、界面描述
当用户与微信官方账号进行特定动作交互时(具体动作列表见下文描述),微信会将消息数据推送给开发者,开发者可以在一定时间内(目前修改为48小时)调用客服界面,通过POST一个JSON数据包向普通用户发送消息。该界面主要用于客户服务等带有人工消息处理的功能,方便开发者为用户提供更好的服务。
目前允许的动作列表如下(公众平台会根据运营情况更新列表。触发不同动作后,客服界面发送的消息数量不同。发送的消息数量达到上限后,将会遇到错误返回代码。详情请参考退货代码描述页面)。
1.用户发送消息2。点击自定义菜单(只有点击推送事件、扫码推送事件、扫码推送事件并弹出“消息接收”提示框才会触发客服界面)3。关注微信官方账号4。扫描二维码5。注意支付的成功。用户权利保护
二、客户服务界面——发送消息
1接口调用请求的描述
Http请求方法: POST
https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN
2发送客户服务信息
每种消息类型所需的JSON数据包如下:
(1)发送短信
{'touser' :' OpenID ',' msgtype' :' text ',' text ' : { ' content ' : ' hello world ' } }(2)发送图片消息
{'touser' :' OpenID ',' msgtype' :' image ',' image ' : { ' media _ id ' : ' media _ id ' } }(3)发送语音消息
{'touser' :' OpenID ',' msgtype' :' voice ',' voice ' : { ' media _ id ' : ' media _ id ' } }(4)发送视频消息
{'touser' :' OpenID ',' msgtype' :' video ',' video ' : { ' media _ id ' : ' media _ id ',' thumb _ media _ id' :' media _ id ',' title '
{ 'touser':'OPENID ',' msgtype':'music ',' MUSIC ' : { ' TITLE ' : ' MUSIC _ TITLE ',' DESCRIPTION ' : ' MUSIC _ DESCRIPTION ',Music URL' :' music _ URL ',' hqmusicurl ' : ' HQ _ music _ URL ',' thumb _ media _ id ' 3: ' thumb _ media _ id ' } }(6)发送图形消息(点击跳转到外链)。图形消息的数量限制为8条。
{ 'touser':'OPENID ',' msgtype':'news ',' news ' : { ' articles ' :[{ ' title ' : ' Happy Day ',' description': '真是个快乐的日子',' url':'URL ',' PIC rl ' : ' PIC _ URL ' },{ ' title ' 3: ' Happy Day ',' description ' 3: '真是个快乐的日子',' URL ' 3:图形消息的数量限制为8条。请注意,如果图形消息的数量超过8,将不会有响应。
{'touser' :' OpenID ',' msgtype' :' mpnews ',' mpnews ' : { ' media _ id ' : ' media _ id ' } }(8)发送卡券
{'touser' :' OpenID ',' msgtype' :' wxcard ',' wx card ' : { ' card _ id ' : ' 123 sdajkasd 231 jhksad ' },特别注意客服消息界面,只支持非自定义Code和导入代码模式
请注意,如果需要发送带有客服账号的消息(微信6.0.2及以上版本显示定制头像),需要在JSON数据包的后半部分添加customservice参数,例如发送短信,会改为:
{'touser' :' OpenID ',' msgtype' :' text ',' text ' : { ' content ' : ' hello world ' },' custom service ' 3360 { ' KF _ account ' : '[email protected]'。
参数是否必须说明访问令牌是调用接口凭证touser是普通用户openid msgtype是消息类型,文本为文本,图片为图像,语音为声音,视频消息为视频,音乐消息为音乐,图文消息(点击跳转到外链)为新闻,图文消息(点击跳转到图文消息页面)为mpnews,卡券为wxcard内容是文本消息内容媒体编号是发送的图片/语音/视频/图文消息(点击跳转到图文消息页)的媒体ID thumb_media_id是缩略图的媒体身份证标题否图文消息/视频消息/音乐消息的标题描述否图文消息/视频消息/音乐消息的描述musicurl是音乐链接hqmusicurl是高品质音乐链接,wifi环境优先使用该链接播放音乐全球资源定位器(统一资源定位符)否图文消息被点击后跳转的链接缩略图否图文消息的图片链接,支持JPG,巴布亚新几内亚格式,较好的效果为大图640*320,小图80*80 4 java接口开发
(1)信息客服接口消息封装对象
公共类消息{私有字符串用户;私有字符串消息类型私人文本内容文本;私人媒体内容图像;私人媒体内容语音;私人媒体内容视频;私人音乐内容音乐;私人文章新闻;public String getTouser(){ return touser;} public void setTouser(String touser){ this。touser=touser} public String getMsgtype(){ return msgtype;} public void setMsgtype(String msgtype){ this。msgtype=msgtype} public TextContent getText(){ 0返回文本;} public void setText(文本内容文本){ this。文本=文本;} public MediaContent getImage(){ return image;} public void setImage(MediaContent image){ this。图像=图像;}公共媒体内容getVoice(){ return voice;} public void setVoice(MediaContent voice){ this。声音=声音;} public MediaContent getVideo(){ return video;} public void setVideo(MediaContent video){ this。视频=视频;}公共音乐内容getMusic(){ return music;} public void setMusic(音乐内容音乐){ this。音乐=音乐;} public Articles getNews(){ return news;} public void setNews(Articles news){ this。新闻=新闻;} @ Override public String toString(){ return ' Message[touser=' touser ',msgtype=' msgtype ',text=' text ',image=' image ',voice=' voice ',video=' video ',music=' music ',news=' news ']';}}(2)文本内容文本消息内容封装对象
公共类文本内容{私有线内容;公共字符串GetContent(){ 0返回内容;} public void setContent(String content){ this。内容=内容;}}(3)媒体内容媒体身份封装对象
公共类media content { private String media _ id;public String GetMeDIa _ id(){ return MeDIa _ id;} public void setMeDIa _ id(String MeDIa _ id){ this。media _ id=媒体_ id;}}(4)音乐内容音乐消息封装对象
公共类音乐内容{私有字符串标题私有字符串描述;私有字符串musicurlprivate String hqmusicurlprivate String thumb _ media _ id public String getTitle(){ return title;} public void setTitle(String title){ this。标题=标题;}公共字符串getDescription(){ 0返回描述;} public void setDescription(String description){ this。描述=描述;} public String getMusicurl(){ return musicurl;} public void setMusicurl(String musicurl){ this。musicurl=musicurl} public String gethqmusicull(){ return hqmusicull;} public void sethqmusicull(String hqmusicull){ this。hqmusicull=hqmusicull} public String getThumb _ media _ id(){ return thumb _ media _ id;} public void sethub _ media _ id(String thumb _ media _ id){ this。thumb _ media _ id=thumb _ media _ id}}(5)文章图文集合封装对象
公共课文章{私文[]文章;公共文章[]GetArticles(){ 0返回文章;} public void setArticles(Article[]articles){ this。文章=文章;}}(6)文章图文消息封装对象
公共类文章{私有字符串标题;私有字符串描述;私有字符串全球资源定位器(Uniform Resource Locator)私有字符串picur private String thumb _ media _ id私人字符串作者;私有字符串内容_源URL(_ l)私有字符串内容;私有字符串摘要;私有整数show _ cover _ picpublic String getTitle(){ return title;} public void setTitle(String title){ this。标题=标题;}公共字符串getDescription(){ 0返回描述;} public void setDescription(String description){ this。描述=描述;}公共字符串GetURl(){返回URL} public void setURl(String URL){ this。网址=网址;} public String getPicurl(){ return picurl;} public void setPicurl(String picurl){ this。picurl=picurl} public String getThumb _ media _ id(){ return thumb _ media _ id;} public void sethub _ media _ id(String thumb _ media _ id){ this。thumb _ media _ id=thumb _ media _ id} public String Getauthor(){ return author;} public void set作者(String作者){ this。作者=作者;} public String GetContent _ source _ URL(){ return content _ source _ URL;} public void setContent _ source _ URL(String content _ source _ URL){ this。content _ source _ URL=content _ source _ URL;}公共字符串GetContent(){ 0返回内容;} public void setContent(String content){ this。内容=内容;} public String getDigest(){ return digest;} public void setDigest(String digest){ this。摘要=摘要;} public Integer getShow _ cover _ pic(){ return show _ cover _ pic;} public void setShow _ cover _ pic(Integer show _ cover _ pic){ this。show _ cover _ pic=show _ cover _ pic}}(7)客服消息请求接口
公共类CrmSendMessageService{私有RestTemplate RestTemplate private String service host=' https://API。微信。QQ。com ';public CrmSendMessageServiceImpl(){ rest template=rest模板工厂。makerest template();} @覆盖公共微信响应发送消息(字符串访问令牌,消息消息){微信响应微信响应=空;字符串网址=新字符串缓冲区(服务主机).追加('/CGI-bin/消息/自定义/发送?access_token=').追加(接入令牌).toString();微信回应=休息模板。postforobject(URL、消息、微信响应。类);返回微信响应;}}注:接口发送超文本传送协议(超文本传输协议的缩写)请求基于Spring RestTemplate。
参考文章地址:
1.Spring RestTemplate详解
(8)微信响应客服消息接口返回对象
公共类微信响应{私有字符串消息编号私有字符串代码;私有int错误代码私有字符串errmsgppublic String getMsgid(){ return msgid;} public void setMsgid(String msgid){ this。msgid=msgid} public int getErrcode(){ return errcode;} public void setErrcode(int errcode){ this。errcode=errcode} public String getErrmsg(){ return errmsg;} public void setErrmsg(String errmsg){ this。errmsg=errmsg}公共字符串GetCode(){ 0返回代码;} public void setCode(String code){ this。code=code} }5 接口实例开发
/* * *发送客服消息* @param openId给用户* @param accessToken微信官方账号token * @param weixinAppId微信官方账号appid */private void send custommessage(String openId,String accessToken,String weixinAppId){ try { rest template rest=new rest template();string StUdiel=' https://API . weixin . QQ.com/CGI-bin/message/custom/send?access _ token=' accessToken//推送图形消息Message=new Message();message . settouser(OpenID);//普通用户open id message . setmsgtype(' news ');//图形消息(点击跳转到外链)是news Articles news=new Articles();文章=新文章();Article.setDescription('客户服务消息图形描述');//图文消息/视频消息/音乐消息文章描述。setpicurl(' http://mm biz.qpic.cn/mmbiz _ jpg/CDW 6 ticice 130 g6 rcxckndwic 4 deaahqdia 2 G5 athbqsvucfuqoyeewenia4 ciak T3 khwq9 T2 lrpdpuo 5 akoyaya/0 ');//图文信息图片链接,支持JPG和PNG格式。效果较好的是大图640*320,小图80*80 article.setTitle('客服留言图文标题');//图文消息/视频消息/音乐消息的标题//图文推送链接String URL=' https://www . Baidu.com ';article . setURl(URL);//点击图形消息后跳转的链接文章[]文章={ Article };news.setArticles(文章);message.setNews(新闻);int I=1;而(i=3){//发送微信响应=休息。postforobject(postal,message,weixinresponse。类,新的hashmap字符串,string());LOG.info('发送客服消息并返回信息: ' response . tostring());If(回应。geterrcode()==0){//发送成功-退出循环发送I=4;打破;} else { I;//发送失败-继续循环发送}}} catch (Exception e) {LOG.error('发送客服消息失败,openId=' openId,e ');} }6客服界面图文推送上传图片
发送图文消息时,需要加上图片的地址,介绍一个好的方法。
(1)进入微信公众平台界面调试工具
https://mp.weixin.qq.com/debug
(2)选择类型和列表
接口类型:基本支持
界面列表:上传logo界面/媒体/上传img
添加access_token,选择图像,最后选择文件
注意:添加视频和音乐是一样的
(3)最后会生成图片的网址
(4)您可以通过访问浏览器中的网址来查看生成的图片
以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。
版权声明:微信公众平台客服界面消息(Java界面开发)实现代码是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。