无限通平台接口手册
sequenceId phoneNumber nStat String String int 消息ID,用来取状态报告时候匹配。 手机号码。 0:成功; 1:未知; 2:失败。 Balance 参数名称 isSuccess 类型 boolean 说明 是否调用成功 true:成功; false:失败。 smsBalance mmsBalance int int 短信条数。 彩信条数。
2.6.2. 短信下行(发送多条内容相同的短信)
名称 功能 接口方法 发送多条内容相同的短信。 MTResponse[] sendSms(String account, String password, MTMessage message) 输入说明 account用户账号; password用户密码(用MD5加密); MTMessage对象,短信平台根据对象包含的属性来决定如何发送短信。 输出说明 返回的结果是以MTResponse对象构成的数组,客户端可以据此判断,方法执行成功与否。
第 31 页 共 45 页
sendSms 无限通平台接口手册
2.6.3. 短信下行(发送多条内容不同的短信)
名称 功能 接口方法 batchSendSms 发送多条内容不相同的短信(同一 MTMessage 对象的内容相同)。 MTResponse[] batchSendSms(String account, String password, MTMessage[] message) 输入说明 account用户账号; password用户密码(用MD5加密); MTMessage对象数组,平台根据每一个对象包含的属性来决定如何发送短信。 输出说明 返回的结果是以MTResponse对象构成的数组,客户端可以据此判断,方法执行成功与否。
2.6.4. 获取上行
调用短信上行间隔时间不小于30秒。 名称 功能 接口方法 输入说明 getSms 获取上行短信,一次最多取10条。 MOMessage[] getSms(String account, String password) account用户账号; password用户密码(用MD5加密)。 输出说明 返回的结果是一个以MOMessage对象构成的数组,据此可以分析该上行短信的结果。
2.6.5. 获取状态报告(单条)
调用短信状态报告间隔时间不小于30秒。
名称 功能 获取状态报告。 getReport 第 32 页 共 45 页
无限通平台接口手册
接口方法 MTReport[] getReport(String account, String password, MTMessage message) 输入说明 account用户账号; password用户密码(用MD5加密); MTMessage,包含消息序号和手机号码的对象。 (sequenceId和phoneNumber字段为必填)。 输出说明 返回的结果是一个以MTReport对象构成的数组,据此可以分析对应短信的状态。
2.6.6. 获取状态报告(多条)
调用短信状态报告间隔时间不小于30秒。
名称 功能 接口方法 获取多条状态报告。 MTReport[] getReports(String account, String password, getReports MTMessage[] message) 输入说明 account用户账号; password用户密码(用MD5加密); MTMessage,包含消息序号和手机号码的对象数组。(sequenceId和phoneNumber字段为必填)。 输出说明 返回的结果是一个以MTReport对象构成的数组,据此可以分析对应短信的状态。
2.6.7. 获取余额
调用获取余额间隔时间不小于30秒。
名称 功能 接口方法 获取帐号余额。 Balance getBalance(String account, String password) getBalance 第 33 页 共 45 页
无限通平台接口手册
输入说明 account用户账号; password用户密码(用MD5加密)。 输出说明
返回的结果是Balance对象。
3、 附录
3.1. Api接口示例
package sms;
import com.chinatricom.message.IDeliverMsg; import com.chinatricom.message.IReportMsg; import com.chinatricom.message.ISubmitMsg;
import com.chinatricom.slidewindow.SMSCallback; import com.chinatricom.smsclient.ctcpp.CtcppChannel; import com.chinatricom.smsclient.message.DeliverMsg; import com.chinatricom.smsclient.message.SubmitMsg; /**
* 调用CTC-SMS API客户端接口 * */
public class ApiUtil implements SMSCallback { public static CtcppChannel _chan = null; static { // 相关参数定义 ApiUtil _client = new ApiUtil(); String host = \;
// 调用IP地址,例如127.0.0.1为本机项目发布IP int port = 28020; // 调用IP地址的端口 String user = \; // 用户名 String passwd = \;// 密码 int wndSize = 16; int timeout = 180 * 1000; // 连接超时时间 int trys = 3; int speed = 0; int channel = 1;
第 34 页 共 45 页
无限通平台接口手册
// 记录日志 System.out.println(\); // 开启通道 _chan = new CtcppChannel(host, port, user, passwd, channel, wndSize, timeout, trys, speed, _client, 0, 0, 1, 1); _chan.start(); } public static void main(String[] args) { ApiUtil.sendSms(\, \, \); } /** * 接收上行短信 短信的各个字段都放在DeliverMsg * * @param IDeliverMsg * arg0 * @return */ public boolean onDeliverSMS1(IDeliverMsg arg0) { DeliverMsg msg = (DeliverMsg) arg0; if (msg != null) { System.out.println(\收到deliverMsg:phone=\ + msg.getFrom() + \内容=\ + msg.getMsg() + \ + msg.getTo()); } return true; } /** * 接收下行短信响应 * 接收下行短信的response,SubmitMsg里面有了result和msgId,这里的msg就是_chan.submit(_msg
* )里面的_msg * * @param ISubmitMsg * arg0 * @return */ public boolean onSubmitedSMS(ISubmitMsg arg0) { SubmitMsg msg = (SubmitMsg) arg0; if (msg != null) { System.out.println(\收到submit response:result\ + \ + msg.getResult() + \ + msg.getMsgId()); // result : 0———成功 1——等待发送 2——失败
第 35 页 共 45 页