江苏电信企信通API接口说明文档
属性名 sequenceId msgId 数据类型 String String 描述 短信的sequenceId 下行短信msgId,用来标识一条短信 sendNum receiveNum submitTime sendTime msgStatus msgErrStatus
String String String String String String 下行短信发送号码 下行短信接收号码 下行短信提交时间 下行短信下发时间 下行短信状态 下行短信错误代码 短信状态(即ReturnMsgBean类的msgStatus属性)定义:
DELIVRD EXPIRED DELETED UNDELIV ACCEPTD UNKNOWN REJECTD
短信错误代码,即(ReturnMsgBean类的msgErrStatus属性)定义:
代码 0 1 2 说明 成功 用户不能通信 用户忙 对应状态 DELIVRD EXPIRED EXPIRED 短消息转发成功 短消息超过有效期 短消息已经被删除 短消息是不可转发的 短消息已经被最终用户接收 未知短消息状态 短消息被拒绝 第23页
江苏电信企信通API接口说明文档
3 4 5 6 7 8 9 10 999
终端无此部件号 非法用户 用户在黑名单内 系统错误 用户内存满 非信息终端 数据错误 数据丢失 未知错误 UNDELIV UNDELIV UNDELIV UNDELIV EXPIRED UNDELIV UNDELIV UNDELIV UNKNOWN 4. 代码示例
4.1.
发送下行短信
4.1.1. 流程说明
一、
编写接收类,实现接收上行短信及回执的抽象类ReceiveMsg的继承类
ReceiveImpl,(参照例程ReceiveDemo.java),实现接接收下行短信返回的状态的函数getAnswer、接收下行短信回执的函数getReturnMsg; 二、
初始化initParameters,将第一步实现的继承类ReceiveImpl作为参数传
递至initParameters方法,初始化发送短信Socket; 三、 四、
认证请求 anthenMsg ,登录至企信通平台进行认证;
如果第三步返回true证明认证成功,则到第五步,否则返回第三步重新
认证。
(注:接收短信回执,只需要完成以上操作步骤,企信通API平台在接收到短信回执,会主动的调用ReceiveImpl的getAnswer、getReturnMsg方法,将数据传递至这些方法,不需要再显式的调用这几个方法来实现接收功能) 五、
发送函数sendMsg
第23页
江苏电信企信通API接口说明文档
4.1.2. 代码
Demo.java 发送短信示例
import com.linkage.netmsg.NetMsgclient; import com.linkage.netmsg.server.ReceiveMsg; public class Demo {
public static void main(String[] args) {
NetMsgclient client = new NetMsgclient();
/*ReceiveMsgImpl为ReceiveMsg类的子类,构造时,构造自己继承的子类就行*/
ReceiveMsg receiveMsg = new ReceiveDemo(); /*初始化参数*/ client
=
client.initParameters(\
9005,
\
\ try {
/*登录认证*/
boolean isLogin = client.anthenMsg(client); if(isLogin) {
System.out.println(\
/*发送下行短信*/
System.out.println(client.sendMsg(client, 0, \\
thread \ }
} catch (Exception e1) { e1.printStackTrace(); }
第23页
江苏电信企信通API接口说明文档
} }
ReceiveDemo.java 接收消息示例
import com.linkage.netmsg.server.AnswerBean; import com.linkage.netmsg.server.ReceiveMsg; import com.linkage.netmsg.server.ReturnMsgBean; import com.linkage.netmsg.server.UpMsgBean;
public class ReceiveDemo extends ReceiveMsg {
//此处加入接收短信返回状态和短信ID的处理代码(即:将接收到的信/*获取下行短信返回状态和短信ID的方法*/ public void getAnswer(AnswerBean answerBean) {
super.getAnswer(answerBean); /*序列Id*/
String seqIdString = answerBean.getSeqId(); /*短信状态 ,0表示提交至API平台成功*/ int status = answerBean.getStatus();
/*下行短信ID,用来唯一标识一条下行短信*/ String msgId = answerBean.getMsgId();
息做入库处理)
}
System.out.println(\System.out.println(\System.out.println(\
第23页
江苏电信企信通API接口说明文档
//此处加入接收短信回执的处理代码
System.out.println(\
String sequenceId = returnMsgBean.getSequenceId(); /* 短信的msgId */
String msgId = returnMsgBean.getMsgId(); /* 发送号码 */
String sendNum = returnMsgBean.getSendNum(); /* 接收号码 */
String receiveNum = returnMsgBean.getReceiveNum(); /* 短信提交时间 */
String submitTime = returnMsgBean.getSubmitTime(); /* 短信下发时间 */
String sendTime = returnMsgBean.getSendTime(); /* 短信状态 */
String msgStatus = returnMsgBean.getMsgStatus(); /* 短信错误代码 */
int msgErrStatus = returnMsgBean.getMsgErrStatus(); /* 获取下行短信回执的方法 */
public void getReturnMsg(ReturnMsgBean returnMsgBean) {
super.getReturnMsg(returnMsgBean); /*接收上行短信的方法*/
public void getUpMsg(UpMsgBean upMsgBean) { }
super.getUpMsg(upMsgBean);
第23页