微信公众号 客服接口的开发实例详解

网友投稿 252 2023-07-05


微信公众号 客服接口的开发实例详解

微信平台更新之后,发现客服接口不错。研究了下 和大家分享下。

按照官方文档,是向客服接口发送规定的json 就可以了。

首先先封装下 JSon 的类:

package com.lwz.wx.bean.kf;

// 这个是最外层的 也可以说是基类吧、

public class Basebean {

private String touser;

private String msgtype;

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;

}

}

//这个类是继承基类、

package com.lwz.wx.bean.kf;

public class BaseNews extends Basebean{

private Kfnews news;

public Kfnews getNews() {

return news;

}

public void setNews(Kfnews news) {

this.news = news;

}

}

//

package com.lwz.wx.bean.kf;

import java.util.List;

public class Kfnews {

private List articles;

public List getArticles() {

return articles;

}

public void setArticles(List articles) {

this.articles = articles;

}

}

//

package com.lwz.wx.bean.kf;

public class articles {

private String title;

private String description;

private String url;

private String picurl;

public String getTitle() {

return title;

}

public void setTitle(String title) {

this.title = title;

}

public String getDescription() {

return description;

}

public void setDescription(String description) {

this.description = description;

}

public String getUrl() {

return url;

}

public void setUrl(String url) {

this.url = url;

}

public String getPicurl() {

return picurl;

}

public void setPicurl(String picurl) {

this.picurl = picurl;

}

}

以上的结构就对应

接下来就是对JSON 的数据的创建了

package com.lwz.wx.main;

import java.util.ArrayList;

import java.util.List;

import org.apache.log4j.Logger;

import net.sf.json.JSONObject;

import com.lwz.wx.bean.AccessTokenhttp://;

import com.lwz.wx.bean.Articles;

import com.lwz.wx.bean.kf.BaseNews;

import com.lwz.wx.bean.kf.BaseText;

import com.lwz.wx.bean.kf.Basebean;

import com.lwz.wx.bean.kf.Kfnews;

import com.lwz.wx.bean.kf.articles;

import com.lwz.wx.bean.kf.text;

import com.lwz.wx.util.WeixinUtil;

public class KfManager {

private final static Logger log = Logger.getLogger(Basebean.class);

public static void Gotokf(String openid){

String appId =""; //填上自己的APPID 下同 需要认证过的哦

String appSecret="";

// 调用接口获取access_token

AccessToken at = WeixinUtil.getAccessToken(appId, appSecret);

if (null != at) {

// 调用接口发送消息

int result = WeixinUtil.Runkf( getkfnews(openid), at.getToken()); // 这个方法会在下面 展示

//int result = WeixinUtil.createMenu(getMenu(),"1832148947");

// 判断菜单创建结果

if (0 == result)

log.info("调用客服信息发送成功!");

else

log.info("客服调用失败,错误码:" + result);

}

}

private static BaseNews getkfnews(String openid) {

articles art1=new articles();

art1.setDescription("1");

art1.setPicurl("http://baidu.com");

art1.setTitle("测试1");

art1.setUrl("http://baidu.com");

articles art2=new articles();

art2.setDescription("1");

art2.setPicurl("http://baidu.com");

art2.setTitle("测试1");

art2.setUrl("http://baidu.com");

List list = new ArrayList();

Kfnews news=new Kfnews();

list.add(art1);

list.add(art2);

news.setArticles(list);

BaseNews kfbean=new BaseNews();

kfbean.setMsgtype("news");

kfbean.setTouser(openid);

kfbean.setNews(news);

String jsonkfbean = JSONObject.fromObject(kfbean).toString();

System.out.println(jsonkfbean);

return kfbean;

}

private static BaseText getkftext(String openid) {

text text=new text();

text.setContent("文本内容");

BaseText textbean=new BaseText();

textbean.setMsgtype("text");

textbean.setTouser(openid);

textbean.setText(text);

String jsonkfbean = JSONObject.fromObject(textbean).toString();

System.out.println(jsonkfbean);

return textbean;

}

}

// 上面的有用到一个调用接口的方法如下:

public static String kf_news_url= "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN";

public static int Runkf(Basebean getkfnews, String token) {

int result = 0;

// 拼装创建的url

String url = kf_news_url.replace("ACCESS_TOKEN", token);

// 将对象转换成json字符

String jPwujCCCRjsonnews = JSONObject.fromObject(getkfnews).toString();

//System.out.println(jsonMenu);

// 调用接口创建

JSONObject jsonObject = httpRequest(url, "POST", jsonnews);

if (null != jsonObject) {

if (0 != jsonObject.getInt("errcode")) {

result = jsonObject.getInt("errcode");

log.error("调用客服接口失败 errcode:{} errmsg:{}");

}

}

return result;

}

到这里就完成了。可能会比较多。其他的文本的 音乐的 也都是这样的

希望能帮助大家学习参考此部分内容,谢谢大家对本站的支持!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:不可不知道的10个java谎言
下一篇:微信小程序(十六)form组件详细介绍
相关文章

 发表评论

暂时没有评论,来抢沙发吧~