官方将消息转发给指定客服的接口如下:
<xml> <ToUserName><![CDATA[touser]]></ToUserName> <FromUserName><![CDATA[fromuser]]></FromUserName> <CreateTime>1399197672</CreateTime> <MsgType><![CDATA[transfer_customer_service]]></MsgType> <TransInfo> <KfAccount>test1@test</KfAccount> </TransInfo> </xml>
参数 | 是否必须 | 描述 |
---|---|---|
ToUserName | 是 | 接收方帐号(收到的OpenID) |
FromUserName | 是 | 开发者微信号 |
CreateTime | 是 | 消息创建时间 (整型) |
MsgType | 是 | transfer_customer_service |
KfAccount | 是 | 指定会话接入的客服账号 |
涉及的java类及代码:
1.TransInfo 节点
public class KKTransInfo {
private String KfAccount;
public String getKfAccount() {
return KfAccount;
}
public void setKfAccount(String kfAccount) {
KfAccount = kfAccount;
}
}
2.message 节点
public class MessageTransInfo{
private String ToUserName;
private String FromUserName;
private long CreateTime;
private String MsgType;
private KKTransInfo TransInfo;
public String getToUserName() {
return ToUserName;
}
public void setToUserName(String toUserName) {
ToUserName = toUserName;
}
public String getFromUserName() {
return FromUserName;
}
public void setFromUserName(String fromUserName) {
FromUserName = fromUserName;
}
public long getCreateTime() {
return CreateTime;
}
public void setCreateTime(long createTime) {
CreateTime = createTime;
}
public String getMsgType() {
return MsgType;
}
public void setMsgType(String msgType) {
MsgType = msgType;
}
public KKTransInfo getTransInfo() {
return TransInfo;
}
public void setTransInfo(KKTransInfo transInfo) {
TransInfo = transInfo;
}
}
3、回复的代码
KKTransInfo kfAccount = new KKTransInfo();
kfAccount.setKfAccount("指定的客服账号");
MessageTransInfo message = new MessageTransInfo();
message.setToUserName(fromUserName);
message.setFromUserName(toUserName);
message.setCreateTime(new Date().getTime());
message.setMsgType("transfer_customer_service");
message.setTransInfo(kfAccount);
respMessage = MessageUtil.infoMessageToXml(message);//将对象转换为xml形式的字符串