微信公众平台 客服接口发消息的实现代码(Java接(3)

public class CrmSendMessageService{ private RestTemplate restTemplate ; private String serviceHost = "https://api.weixin.qq.com"; public CrmSendMessageServiceImpl() { restTemplate = RestTemplateFactory.makeRestTemplate(); } @Override public WeixinResponse sendMessage(String accessToken, Message message) { WeixinResponse weixinResponse = null; String url = new StringBuffer(serviceHost).append("/cgi-bin/message/custom/send?access_token=") .append(accessToken).toString(); weixinResponse = restTemplate.postForObject(url, message, WeixinResponse.class); return weixinResponse; } }

注:接口发送http请求基于Spring RestTemplate。

参考文章地址:

1.Spring RestTemplate详解

(8)WeixinResponse客服消息接口返回对象

public class WeixinResponse { private String msgid; private String code; private int errcode; private String errmsg; public 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; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } }

5 接口实例开发

/** * 发送客服消息 * @param openId 要发给的用户 * @param accessToken 微信公众号token * @param weixinAppId 微信公众号APPID */ private void sendCustomMessage(String openId,String accessToken,String weixinAppId){ try { RestTemplate rest = new RestTemplate(); String postUrl = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=" + accessToken; //推送图文消息 Message message = new Message(); message.setTouser(openId);//普通用户openid message.setMsgtype("news");//图文消息(点击跳转到外链)为news Articles news = new Articles(); Article article = new Article(); article.setDescription("客服消息图文描述");//图文消息/视频消息/音乐消息的描述 article.setPicurl("http://mmbiz.qpic.cn/mmbiz_jpg/CDW6Ticice130g6RcXCkNNDWic4dEaAHQDia2OG5atHBqSvsPuCfuqoyeeLWENia4ciaKt3KHWQ9t2LRPDpUo5AkOyyA/0");//图文消息的图片链接,支持JPG、PNG格式,较好的效果为大图640*320,小图80*80 article.setTitle("客服消息图文标题");//图文消息/视频消息/音乐消息的标题 //图文推送链接 String url="https://www.baidu.com"; article.setUrl(url);//图文消息被点击后跳转的链接 Article[] articles = {article}; news.setArticles(articles); message.setNews(news); int i=1; while(i<=3){//循环发送3次 WeixinResponse response = rest.postForObject(postUrl, message, WeixinResponse.class, new HashMap<String,String>()); LOG.info("发送客服消息返回信息:"+response.toString()); if(response.getErrcode()==0){//发送成功-退出循环发送 i=4; break; }else{ i++;//发送失败-继续循环发送 } } } catch (Exception e) { LOG.error("发送客服消息失败,openId="+openId,e); } }

6 客服接口图文推送上传图片

在发送图文消息时,我们需要添加图片的地址,介绍一个好方法。

(1)进入微信公众平台接口调试工具

https://mp.weixin.qq.com/debug

(2)选择类型和列表

接口类型:基础支持

接口列表:上传logo接口/media/uploadimg

微信公众平台 客服接口发消息的实现代码(Java接

 

添加access_token,选择类型是image,最后选择文件

注:添加视频、音乐是一样的

(3)最后就会生成图片的url

微信公众平台 客服接口发消息的实现代码(Java接

 

(4)在浏览器访问url即可看见生成的图片

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/7376f5f258a3ad0509838cdbe2c6893e.html