公众号客服管理

洛塔服务号回复011获取代码。

功能说明

腾讯客服管理这部分接口文档比较恶心,分成了两个,分别是客服消息和PC客服能力,写的接口名称是一样的,但请求参数不同,同时字段限制有的也不写。经过详细对比,客服消息这个感觉就是旧版本的,现在管理后台已经看不到了,不明白为什么无效接口还不删掉或者标注无效。
所以,客服管理部分可以直接查看PC客服能力中的客服管理。

要使用客服管理,需要登录公众号后台,先进行开通。
在这里插入图片描述

准备工作

  • 公众号后台设置ip白名单
    位置:设置与开发–>基本配置,右侧IP白名单
  • 给公众号设置微信号
    基本信息中设置。

手动添加

除了使用接口,也可以手动进行添加。
第一次进入客服管理的时候,显示的可添加客服数量会显示0,实际上是100,算是一个bug,这时候可以使用中间区域的“添加客服”文字进行添加,完成后就会变成可继续添加99个了。
这个页面也可以验证接口执行情况。比如调用添加客服账号以后,刷新下这个页面,就会发现多出来一个账号了。
在这里插入图片描述

添加客服账号

添加客服账号需要两个参数。

  • 昵称:不超过16个字即可
  • 账号:这个比较特殊,格式必须是前缀@公众号微信号
    准备工作中写了必须给公众号设置微信号,比如公众号的微信号是lootaayun,账号使用lootaa,那么参数就要传递lootaa@lootaayun
		// 先获取access_token,这部分正式环境需要配置定时获取,每天2000次调用限制
		String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + APPID + "&secret=" + SECRET;
		String result = Jsoup.connect(url).ignoreContentType(true).method(Method.GET).execute().body();
		System.out.println(result);
		String accessToken = JSON.parseObject(result).getString("access_token");
		
		// 添加客服账号
		url = "https://api.weixin.qq.com/customservice/kfaccount/add?access_token=" + accessToken;
		JSONObject param = new JSONObject();
		param.put("kf_account", "lootaa@lootaayun"); //完整客服帐号,格式为:帐号前缀@公众号微信号,帐号前缀最多10个字符,必须是英文、数字字符或者下划线,后缀为公众号微信号,长度不超过30个字符
		param.put("nickname", "洛塔"); //客服昵称,最长16个字
		result = Jsoup.connect(url).ignoreContentType(true).method(Method.POST)
				.requestBody(param.toString()).execute().body();
		System.out.println(result);

邀请绑定客服帐号

接口逻辑和直接使用后台还是有点区别的。
直接使用后台,不上传头像就不让进行下一步,不能邀请微信绑定。而这个接口可以在没有头像的情况下进行要求,还能正常邀请成功。

		// 邀请绑定客服帐号
		url = "https://api.weixin.qq.com/customservice/kfaccount/inviteworker?access_token=" + accessToken;
		param = new JSONObject();
		param.put("kf_account", "lootaa@lootaayun"); //完整客服帐号,格式为:帐号前缀@公众号微信号,帐号前缀最多10个字符,必须是英文、数字字符或者下划线,后缀为公众号微信号,长度不超过30个字符
		param.put("invite_wx", "fymod1988"); //接收绑定邀请的客服微信号
		result = Jsoup.connect(url).ignoreContentType(true).method(Method.POST)
				.requestBody(param.toString()).execute().body();
		System.out.println(result);

设置客服信息

相当于变更客服昵称(不管是否绑定了微信,都可以变更)
这部分执行完成后,刷新下管理后台客服网页,会发现昵称变成了代码设置的。

		// 设置客服信息:相当于变更客服昵称(不管是否绑定了微信,都可以变更)
		url = "https://api.weixin.qq.com/customservice/kfaccount/update?access_token=" + accessToken;
		param = new JSONObject();
		param.put("kf_account", "lootaa@lootaayun"); //完整客服帐号,格式为:帐号前缀@公众号微信号,帐号前缀最多10个字符,必须是英文、数字字符或者下划线,后缀为公众号微信号,长度不超过30个字符
		param.put("nickname", "洛塔2022"); //客服昵称,最长16个字
		result = Jsoup.connect(url).ignoreContentType(true).method(Method.POST)
				.requestBody(param.toString()).execute().body();
		System.out.println(result);

上传客服头像

只要是图片格式就行,使用Jsoup的话,转化为输入流直接请求。
请求参数需要将kf_account拼接到url中,而不是requestBody。

		// 上传客服头像
		url = "https://api.weixin.qq.com/customservice/kfaccount/uploadheadimg?&kf_account=lootaa@lootaayun&access_token=" + accessToken;
		File file = new File("/Users/lootaa/Desktop/64.jpeg");
		result = Jsoup.connect(url).ignoreContentType(true).method(Method.POST)
				.data("media", file.getName(), new FileInputStream(file))
				.execute().body();
		System.out.println(result);

获取客服基本信息

这里获取到的客服基本信息除了包括头像、昵称等,也包括邀请状态,即绑定的微信是否同意。

		// 获取客服基本信息
		url = "https://api.weixin.qq.com/cgi-bin/customservice/getkflist?access_token=" + accessToken;
		result = Jsoup.connect(url).ignoreContentType(true).method(Method.GET).execute().body();
		System.out.println(result);

删除客服账号

请求参数需要将kf_account拼接到url中,而不是requestBody。

		// 删除客服帐号
		url = "https://api.weixin.qq.com/customservice/kfaccount/del?kf_account=lootaa@lootaayun&access_token=" + accessToken;
		result = Jsoup.connect(url).ignoreContentType(true).method(Method.GET).execute().body();
		System.out.println(result);

完整代码

package com.lootaa.wechat;

import java.io.File;
import java.io.FileInputStream;

import org.jsoup.Connection.Method;
import org.jsoup.Jsoup;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

/**
 * 公众号客服账号管理
 * 前置条件:公众号后台设置ip白名单
 */
public class Test011 {

	public static final String APPID = "wx276049d6a7551dca";
	public static final String SECRET = "cbe109fdf6f399bd72ed3a4afafa21b1";
	
	/**
	 * 完整项目源码可关注公众号"lootaayun"(洛塔),回复010获取
	 */
	public static void main(String[] args) throws Exception {
		// 先获取access_token,这部分正式环境需要配置定时获取,每天2000次调用限制
		String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + APPID + "&secret=" + SECRET;
		String result = Jsoup.connect(url).ignoreContentType(true).method(Method.GET).execute().body();
		System.out.println(result);
		String accessToken = JSON.parseObject(result).getString("access_token");
		
		// 添加客服账号
		url = "https://api.weixin.qq.com/customservice/kfaccount/add?access_token=" + accessToken;
		JSONObject param = new JSONObject();
		param.put("kf_account", "lootaa@lootaayun"); //完整客服帐号,格式为:帐号前缀@公众号微信号,帐号前缀最多10个字符,必须是英文、数字字符或者下划线,后缀为公众号微信号,长度不超过30个字符
		param.put("nickname", "洛塔"); //客服昵称,最长16个字
		result = Jsoup.connect(url).ignoreContentType(true).method(Method.POST)
				.requestBody(param.toString()).execute().body();
		System.out.println(result);
		
		// 邀请绑定客服帐号
		url = "https://api.weixin.qq.com/customservice/kfaccount/inviteworker?access_token=" + accessToken;
		param = new JSONObject();
		param.put("kf_account", "lootaa@lootaayun"); //完整客服帐号,格式为:帐号前缀@公众号微信号,帐号前缀最多10个字符,必须是英文、数字字符或者下划线,后缀为公众号微信号,长度不超过30个字符
		param.put("invite_wx", "fymod1988"); //接收绑定邀请的客服微信号
		result = Jsoup.connect(url).ignoreContentType(true).method(Method.POST)
				.requestBody(param.toString()).execute().body();
		System.out.println(result);
		
		// 设置客服信息:相当于变更客服昵称(不管是否绑定了微信,都可以变更)
		url = "https://api.weixin.qq.com/customservice/kfaccount/update?access_token=" + accessToken;
		param = new JSONObject();
		param.put("kf_account", "lootaa@lootaayun"); //完整客服帐号,格式为:帐号前缀@公众号微信号,帐号前缀最多10个字符,必须是英文、数字字符或者下划线,后缀为公众号微信号,长度不超过30个字符
		param.put("nickname", "洛塔2022"); //客服昵称,最长16个字
		result = Jsoup.connect(url).ignoreContentType(true).method(Method.POST)
				.requestBody(param.toString()).execute().body();
		System.out.println(result);
		
		// 上传客服头像
		url = "https://api.weixin.qq.com/customservice/kfaccount/uploadheadimg?&kf_account=lootaa@lootaayun&access_token=" + accessToken;
		File file = new File("/Users/lootaa/Desktop/64.jpeg");
		result = Jsoup.connect(url).ignoreContentType(true).method(Method.POST)
				.data("media", file.getName(), new FileInputStream(file))
				.execute().body();
		System.out.println(result);
		
		// 获取客服基本信息
		url = "https://api.weixin.qq.com/cgi-bin/customservice/getkflist?access_token=" + accessToken;
		result = Jsoup.connect(url).ignoreContentType(true).method(Method.GET).execute().body();
		System.out.println(result);
		
		// 删除客服帐号
		url = "https://api.weixin.qq.com/customservice/kfaccount/del?kf_account=lootaa@lootaayun&access_token=" + accessToken;
		result = Jsoup.connect(url).ignoreContentType(true).method(Method.GET).execute().body();
		System.out.println(result);
	}
	
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lootaa

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值