新增素材管理、多客服会话管理、群发消息给所有人接口
This commit is contained in:
@@ -13,7 +13,7 @@ import com.foxinmy.weixin4j.response.ResponseMessage;
|
||||
* @since JDK 1.7
|
||||
* @see
|
||||
*/
|
||||
public abstract class DebugAction<M extends BaseMsg> extends AbstractAction<M> {
|
||||
public class DebugAction<M extends BaseMsg> extends AbstractAction<M> {
|
||||
|
||||
@Override
|
||||
public ResponseMessage execute(M message) {
|
||||
|
||||
@@ -579,6 +579,10 @@
|
||||
<text>Api禁用</text>
|
||||
</error>
|
||||
<!-- 多客服API错误 -->
|
||||
<error>
|
||||
<code>61450</code>
|
||||
<text>系统错误(system error)</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>61451</code>
|
||||
<text>参数错误(invalid parameter)</text>
|
||||
@@ -607,6 +611,22 @@
|
||||
<code>61457</code>
|
||||
<text>无效头像文件类型(invalid file type)</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>61458</code>
|
||||
<text>客户正在被其他客服接待(customer accepted by xxx@xxxx)</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>61459</code>
|
||||
<text>客服不在线(kf offline)</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>61500</code>
|
||||
<text>日期格式错误</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>61501</code>
|
||||
<text>日期范围错误</text>
|
||||
</error>
|
||||
<error>
|
||||
<code>50001</code>
|
||||
<desc>api/redirect_uri unauthorized</desc>
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.foxinmy.weixin4j.msg.event;
|
||||
|
||||
import com.foxinmy.weixin4j.type.EventType;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
|
||||
/**
|
||||
* 客服关闭会话事件
|
||||
*
|
||||
* @className KfCloseEventMessage
|
||||
* @author jy
|
||||
* @date 2015年3月22日
|
||||
* @since JDK 1.7
|
||||
* @see <a
|
||||
* href="http://mp.weixin.qq.com/wiki/2/6c20f3e323bdf5986cfcb33cbd3b829a.html#.E4.BC.9A.E8.AF.9D.E7.8A.B6.E6.80.81.E9.80.9A.E7.9F.A5.E4.BA.8B.E4.BB.B6">会话状态通知事件</a>
|
||||
*/
|
||||
public class KfCloseEventMessage extends EventMessage {
|
||||
|
||||
private static final long serialVersionUID = 3644449346935205541L;
|
||||
|
||||
public KfCloseEventMessage() {
|
||||
super(EventType.kf_close_session);
|
||||
}
|
||||
|
||||
@XStreamAlias("KfAccount")
|
||||
private String kfAccount; // 客服账号
|
||||
|
||||
public String getKfAccount() {
|
||||
return kfAccount;
|
||||
}
|
||||
|
||||
public void setKfAccount(String kfAccount) {
|
||||
this.kfAccount = kfAccount;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "KfCloseEventMessage [kfAccount=" + kfAccount + ", ="
|
||||
+ super.toString() + "]";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.foxinmy.weixin4j.msg.event;
|
||||
|
||||
import com.foxinmy.weixin4j.type.EventType;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
|
||||
/**
|
||||
* 客服接入会话事件
|
||||
*
|
||||
* @className KfCreateEventMessage
|
||||
* @author jy
|
||||
* @date 2015年3月22日
|
||||
* @since JDK 1.7
|
||||
* @see <a
|
||||
* href="http://mp.weixin.qq.com/wiki/2/6c20f3e323bdf5986cfcb33cbd3b829a.html#.E4.BC.9A.E8.AF.9D.E7.8A.B6.E6.80.81.E9.80.9A.E7.9F.A5.E4.BA.8B.E4.BB.B6">会话状态通知事件</a>
|
||||
*/
|
||||
public class KfCreateEventMessage extends EventMessage {
|
||||
|
||||
private static final long serialVersionUID = -8968189700999202108L;
|
||||
|
||||
public KfCreateEventMessage() {
|
||||
super(EventType.kf_create_session);
|
||||
}
|
||||
|
||||
@XStreamAlias("KfAccount")
|
||||
private String kfAccount; // 客服账号
|
||||
|
||||
public String getKfAccount() {
|
||||
return kfAccount;
|
||||
}
|
||||
|
||||
public void setKfAccount(String kfAccount) {
|
||||
this.kfAccount = kfAccount;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "KfCreateEventMessage [kfAccount=" + kfAccount + ", ="
|
||||
+ super.toString() + "]";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package com.foxinmy.weixin4j.msg.event;
|
||||
|
||||
import com.foxinmy.weixin4j.type.EventType;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
|
||||
/**
|
||||
* 客服转接会话事件
|
||||
*
|
||||
* @className KfSwitchEventMessage
|
||||
* @author jy
|
||||
* @date 2015年3月22日
|
||||
* @since JDK 1.7
|
||||
* @see <a
|
||||
* href="http://mp.weixin.qq.com/wiki/2/6c20f3e323bdf5986cfcb33cbd3b829a.html#.E4.BC.9A.E8.AF.9D.E7.8A.B6.E6.80.81.E9.80.9A.E7.9F.A5.E4.BA.8B.E4.BB.B6">会话状态通知事件</a>
|
||||
*/
|
||||
public class KfSwitchEventMessage extends EventMessage {
|
||||
|
||||
private static final long serialVersionUID = 4319501074109623413L;
|
||||
|
||||
public KfSwitchEventMessage() {
|
||||
super(EventType.kf_switch_session);
|
||||
}
|
||||
|
||||
@XStreamAlias("FromKfAccount")
|
||||
private String fromKfAccount; // 来自的客服账号
|
||||
|
||||
@XStreamAlias("ToKfAccount")
|
||||
private String toKfAccount; // 转移给客服账号
|
||||
|
||||
public String getFromKfAccount() {
|
||||
return fromKfAccount;
|
||||
}
|
||||
|
||||
public void setFromKfAccount(String fromKfAccount) {
|
||||
this.fromKfAccount = fromKfAccount;
|
||||
}
|
||||
|
||||
public String getToKfAccount() {
|
||||
return toKfAccount;
|
||||
}
|
||||
|
||||
public void setToKfAccount(String toKfAccount) {
|
||||
this.toKfAccount = toKfAccount;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "KfSwitchEventMessage [fromKfAccount=" + fromKfAccount
|
||||
+ ", toKfAccount=" + toKfAccount + "]";
|
||||
}
|
||||
}
|
||||
@@ -63,9 +63,9 @@ public class MassEventMessage extends EventMessage {
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送状态描述<br/>
|
||||
* err(10001,涉嫌广告) err(20001,涉嫌政治) err(20004,涉嫌社会)<br/>
|
||||
* err(20002,涉嫌色情) err(20006,涉嫌违法犯罪) err(20008,涉嫌欺诈)<br/>
|
||||
* 发送状态描述</br>
|
||||
* err(10001,涉嫌广告) err(20001,涉嫌政治) err(20004,涉嫌社会)</br>
|
||||
* err(20002,涉嫌色情) err(20006,涉嫌违法犯罪) err(20008,涉嫌欺诈)</br>
|
||||
* err(20013,涉嫌版权) err(22000,涉嫌互推(互相宣传) err(21000,涉嫌其他)
|
||||
*
|
||||
* @param status
|
||||
@@ -76,9 +76,9 @@ public class MassEventMessage extends EventMessage {
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送状态描述<br/>
|
||||
* err(10001,涉嫌广告) err(20001,涉嫌政治) err(20004,涉嫌社会)<br/>
|
||||
* err(20002,涉嫌色情) err(20006,涉嫌违法犯罪) err(20008,涉嫌欺诈)<br/>
|
||||
* 发送状态描述</br>
|
||||
* err(10001,涉嫌广告) err(20001,涉嫌政治) err(20004,涉嫌社会)</br>
|
||||
* err(20002,涉嫌色情) err(20006,涉嫌违法犯罪) err(20008,涉嫌欺诈)</br>
|
||||
* err(20013,涉嫌版权) err(22000,涉嫌互推(互相宣传) err(21000,涉嫌其他)
|
||||
*
|
||||
* @param status
|
||||
|
||||
@@ -6,6 +6,15 @@ import com.alibaba.fastjson.annotation.JSONField;
|
||||
import com.foxinmy.weixin4j.type.MediaType;
|
||||
import com.thoughtworks.xstream.annotations.XStreamOmitField;
|
||||
|
||||
/**
|
||||
* 消息对象基类
|
||||
*
|
||||
* @className Base
|
||||
* @author jy
|
||||
* @date 2015年3月21日
|
||||
* @since JDK 1.7
|
||||
* @see
|
||||
*/
|
||||
public class Base implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 8487251213352068227L;
|
||||
|
||||
@@ -2,6 +2,9 @@ package com.foxinmy.weixin4j.type;
|
||||
|
||||
import com.foxinmy.weixin4j.msg.event.EnterAgentEventMessage;
|
||||
import com.foxinmy.weixin4j.msg.event.EventMessage;
|
||||
import com.foxinmy.weixin4j.msg.event.KfCloseEventMessage;
|
||||
import com.foxinmy.weixin4j.msg.event.KfCreateEventMessage;
|
||||
import com.foxinmy.weixin4j.msg.event.KfSwitchEventMessage;
|
||||
import com.foxinmy.weixin4j.msg.event.LocationEventMessage;
|
||||
import com.foxinmy.weixin4j.msg.event.MassEventMessage;
|
||||
import com.foxinmy.weixin4j.msg.event.ScanEventMessage;
|
||||
@@ -30,9 +33,13 @@ public enum EventType {
|
||||
MenuPhotoEventMessage.class), pic_weixin(
|
||||
MenuPhotoEventMessage.class), location_select(
|
||||
MenuLocationEventMessage.class), click(MenuEventMessage.class), location(
|
||||
LocationEventMessage.class),masssendjobfinish(
|
||||
LocationEventMessage.class), masssendjobfinish(
|
||||
MassEventMessage.class), templatesendjobfinish(
|
||||
TemplatesendjobfinishMessage.class),enter_agent(EnterAgentEventMessage.class);
|
||||
TemplatesendjobfinishMessage.class), enter_agent(
|
||||
EnterAgentEventMessage.class), kf_create_session(
|
||||
KfCreateEventMessage.class), kf_close_session(
|
||||
KfCloseEventMessage.class), kf_switch_session(
|
||||
KfSwitchEventMessage.class);
|
||||
|
||||
private Class<? extends EventMessage> eventClass;
|
||||
|
||||
|
||||
@@ -3,13 +3,18 @@ package com.foxinmy.weixin4j.type;
|
||||
/**
|
||||
* 上传的媒体类型</br>
|
||||
* <p>
|
||||
* 公众平台上传限制:</br> 图片(image): 128K,支持JPG格式</br>
|
||||
* 语音(voice):256K,播放长度不超过60s,支持AMR\MP3格式</br> 视频(video):1MB,支持MP4格式</br>
|
||||
* 公众平台上传限制:</br>
|
||||
* 图片(image): 128K,支持JPG格式</br>
|
||||
* 语音(voice):256K,播放长度不超过60s,支持AMR\MP3格式</br>
|
||||
* 视频(video):1MB,支持MP4格式</br>
|
||||
* 缩略图(thumb):64KB,支持JPG格式</br>
|
||||
* </p>
|
||||
* <p>
|
||||
* 企业号上传限制:</br>图片(image):1MB,支持JPG格式</br> 语音(voice):2MB,播放长度不超过60s,支持AMR格式</br>
|
||||
* 视频(video):10MB,支持MP4格式</br> 普通文件(file):10MB</br>
|
||||
* 企业号上传限制:</br>
|
||||
* 图片(image):1MB,支持JPG格式</br>
|
||||
* 语音(voice):2MB,播放长度不超过60s,支持AMR格式</br>
|
||||
* 视频(video):10MB,支持MP4格式</br>
|
||||
* 普通文件(file):10MB</br>
|
||||
* </p>
|
||||
* <p>
|
||||
* <font color='red'>媒体文件在后台保存时间为3天,即3天后media_id失效</font>
|
||||
|
||||
Reference in New Issue
Block a user