infoX-MAS
API接口说明(COM) 目录
目录
1 系统概述....................................................................................................................................... 1-1
1.1 概述.............................................................................................................................................................. 1-1
2 对象介绍....................................................................................................................................... 2-1
2.1 DeliverSM ..................................................................................................................................................... 2-1
2.1.1 说明 .................................................................................................................................................... 2-1
2.1.2 属性 .................................................................................................................................................... 2-1
2.1.3 方法 .................................................................................................................................................... 2-2
2.2 SubmitSM ..................................................................................................................................................... 2-2
2.2.1 说明 .................................................................................................................................................... 2-2
2.2.2 属性 .................................................................................................................................................... 2-2
2.2.3 方法 .................................................................................................................................................... 2-3
2.3 SubmitMultiSM............................................................................................................................................. 2-4
2.3.1 说明 .................................................................................................................................................... 2-4
2.3.2 属性 .................................................................................................................................................... 2-4
2.3.3 方法 .................................................................................................................................................... 2-4
2.4 QuerySM ....................................................................................................................................................... 2-5
2.4.1 说明 .................................................................................................................................................... 2-5
2.4.2 属性 .................................................................................................................................................... 2-5
2.4.3 方法 .................................................................................................................................................... 2-6
2.5 USSDData ..................................................................................................................................................... 2-6
2.5.1 说明 .................................................................................................................................................... 2-6
2.5.2 属性 .................................................................................................................................................... 2-6
2.5.3 方法 .................................................................................................................................................... 2-7
2.6 EieConnection ............................................................................................................................................... 2-7
2.6.1 说明 .................................................................................................................................................... 2-7
2.6.2 属性 .................................................................................................................................................... 2-7
2.6.3 方法 .................................................................................................................................................... 2-7
3 示例............................................................................................................................................... 3-1
3.1 准备.............................................................................................................................................................. 3-1
3.1.1 安装组件 ............................................................................................................................................ 3-1
目录
infoX-MAS
API接口说明(COM) 3.1.2 导入类型库......................................................................................................................................... 3-1
3.2 方法调用...................................................................................................................................................... 3-1
3.2.1 初始化接口......................................................................................................................................... 3-2
3.2.2 释放接口 ............................................................................................................................................ 3-3
3.2.3 登录 .................................................................................................................................................... 3-3
3.2.4 注销 .................................................................................................................................................... 3-4
3.2.5 单发短信 ............................................................................................................................................ 3-5
3.2.6 群发短信 ............................................................................................................................................ 3-7
3.2.7 接收短信 ............................................................................................................................................ 3-9
3.2.8 短信查询 .......................................................................................................................................... 3-10
3.2.9 获取USSD会话请求 ...................................................................................................................... 3-13
3.2.10 提交USSD会话回复 .................................................................................................................... 3-14
3.2.11 获取USSD会话列表..................................................................................................................... 3-15
4 错误代码常数............................................................................................................................... 4-1
5 配置文件说明............................................................................................................................... 5-1
5.1 SMEntry.ini ................................................................................................................................................... 5-1
5.2 sqlConf.xml ................................................................................................................................................... 5-2
infoX-MAS
API接口说明(COM) 1 系统概述
1 系统概述
1.1 概述
为了企业用户更加简便同时又灵活地实现相关的业务,企业业务系统可以接入企业信
息机的应用开发接口,这个接口以DLL的方式封装COM组件提供给企业应用系统调
用。
通过该COM组件封装的对象可以实现短信的发送、接收,以及USSD会话的交互,
同时还提供了一年时间内的短信发送历史记录查询功能。
infoX-MAS
API接口说明(COM) 2 对象介绍
2 对象介绍
2.1 DeliverSM
2.1.1 说明
接收短消息对象,表示企业信息机接收到的一条短消息,该对象的属性均为只读,不
需要直接创建该对象。
2.1.2 属性
2.1.3 方法
无
2.2 SubmitSM
2.2.1 说明
单发短信对象,表示一条由企业信息机单发的短消息,该对象的属性均为可读写的。
2.2.2 属性
2.2.3 方法
无
2.3 SubmitMultiSM
2.3.1 说明
群发短信对象,该对象的属性均为可读写的。
2.3.2 属性
2.3.3 方法
无
2.4 QuerySM
2.4.1 说明
查询短信对象,查询短信是指已发送的短信,该对象的属性均为只读的,不需要直接
创建该对象。
2.4.2 属性
2.4.3 方法
无
2.5 USSDData
2.5.1 说明
USSD交互对象,该对象的属性均为可读写的,获取会话请求时不用创建对象,提交
会话回复时需要先创建并填写完整的对象。
2.5.2 属性
2.5.3 方法
无
2.6 EieConnection
2.6.1 说明
实现与企业信息机连接的接口管理,并提供短消息和USSD的各种操作,包括收发短
消息、查询发送的短消息,以及USSD交互操作。
2.6.2 属性
2.6.3 方法
初始化接口
●函数原型
HResult EieInitialize(BSTR Server, BSTR Account, BSTR Password, long * RetVal);
●功能描述
初始化接口函数,创建与企业信息机数据库的连接,企业应用在调用接口内部其
它函数时,应该首先初始化接口。
●参数列表
●返回值
返回值为错误代码(参考[错误代码常数])。该函数可能出现的错误代码有:-
1002、-1013。
释放接口
●函数原型
void EieUninitialize()
●功能描述
释放接口的函数,关闭与企业信息机数据库的连接,在企业应用不再使用接口
时,应该释放接口。
●参数列表
无
●返回值
无
用户登录
●函数原型
HResult EieLogin(BSTR Operator, BSTR Password, long * RetVal)
●功能描述
登录函数,必须登录成功才能进行短消息收发或USSD交互操作。
●参数列表
●返回值
返回值为错误代码(参考[错误代码常数]),0表示登录成功,该函数可能出现的
错误代码有:-1001、-1002、-1054、-1059。
注销用户
●函数原型
HResult EieLogout (long * RetVal)
●功能描述
注销函数,注销当前登录的用户,注销后可以重新登录,否则不能调用部分函
数。
●参数列表
无
●返回值
返回值为错误代码(参考[错误代码常数]),0表示注销成功,该函数可能出现的
错误代码有:-1001、-1061。
短信单发
●函数原型
HResult SubmitSM(ISubmitSM SM, long * RetVal);
●功能描述
向企业信息机提交一条单发短信。
●参数列表
●返回值
返回值为错误代码(参考[错误代码常数])。该函数可能出现的错误代码有:-
1001、-1002、-1005、-1009、-1050、-1051、-1052、-1054、-1061。
短信群发
●函数原型
HResult SubmitMultiSM(ISubmitMultiSM MultiSM, long * RetVal);
●功能描述
向企业信息机提交一个群发短信任务。
●参数列表
●返回值
返回值为错误代码(参考[错误代码常数])。该函数可能出现的错误代码有:-
1001、-1002、-1005、-1009、-1050、-1051、-1052、-1054、-1061。
短信接收
●函数原型
HResult GetDeliverSM(BSTR DestAddrMask, IDeliverSM * SM, long * RetVal);
●功能描述
从企业信息机获取用户发给企业应用的短信,企业应用应通过轮询(即定时调用
该函数)以便及时接收短信。
●参数列表
●返回值
返回值为错误代码(参考[错误代码常数])。该函数可能出现的错误代码有:-
1001、-1002、-1015、-1016、-1061。如果当前没有缓存的短信,将返回-1015。
创建短信查询
●函数原型
HResult QuerySubmitedSM(BSTR FromTime, BSTR ToTime, long * hQuery, long *
RetVal);
●功能描述
该函数启动一次对指定时间段内发送的短信进行查询,并返回一个查询对象句
柄,通过该句柄来进一步获取查询结果。
●参数列表
●返回值
返回值为错误代码(参考[错误代码常数])。该函数可能出现的错误代码有:-
1001、-1002、-1005、-1061。
获取短信查询结果
●函数原型
HResult GetNextQuerySM(long hQuery, IQuerySM * SM, long * RetVal);
●功能描述
该函数在短信查询函数调用后才能被调用,短信查询函数只能启动一次查询,并
不能获得查询结果,必须通过调用该函数才能向后遍历整个查询结果集合。
●参数列表
●返回值
返回值为错误代码(参考[错误代码常数])。该函数可能出现的错误代码有:-
1001、-1009、-1014、-1016、-1061。如果已经遍历到查询结果的末尾,将返回-
1014,通常通过判断该函数的返回值等于-1014来结束遍历。
关闭短信查询
●函数原型
HResult CloseQuery(long hQuery, long * RetVal);
●功能描述
该函数用于关闭查询对象,查询结束后应调用此函数以便释放查询占用的资源。
●参数列表
●返回值
返回值为错误代码(参考[错误代码常数])。该函数可能出现的错误代码有:-
1001、-1009、-1061。
获取USSD会话请求
●函数原型
HResult GetUSSDData (IUSSDData * USSDData, long * RetVal);
●功能描述
2 对象介绍
infoX-MAS
API接口说明(COM) USSD会话交互时,调用该函数函数取得会话请求内容,需要定时调用该函数以便及时取得会话请求,定时间隔不应小于会话超时时间。
●参数列表
●返回值
返回值为错误代码(参考[错误代码常数])。该函数可能出现的错误代码有:-
1001、-1002、-1016、-1020、-1061。如果没有新的会话请求,将返回-1020。
提交USSD会话回复
●函数原型
HResult SubmitUSSDData (IUSSDData USSDData, long * RetVal);
●功能描述
USSD会话交互时,调用该函数提交会话回复。
●参数列表
●返回值
返回值为错误代码(参考[错误代码常数])。该函数可能出现的错误代码有:-
1001、-1002、-1009、-1016、-1020、-1041、-1042、-1043、-1044、-1045、-
1046、-1061。
获取USSD会话列表
●函数原型
HResult GetUSSDSessions(BSTR * Sessions, long * RetVal);
●功能描述
获取系统当前会话列表,可用于维护会话的状态,如会话不在列表中,则可清除
会话。
●参数列表
infoX-MAS
API接口说明(COM) 2 对象介绍
返回值
返回值为错误代码(参考[错误代码常数])。该函数可能出现的错误代码有:-
1001、-1002、-1007、-1016、-1019、-1061,函数执行成功,将返回0。
infoX-MAS
API接口说明(COM) 3 示例
3 示例
3.1 准备
3.1.1 安装组件
使用COM组件之前应先安装,安装步骤如下:
首先,确定COM组件EIE.dll的路径,如c:\EIE\EIE.dll;
然后,执行命令regsvr32 c:\EIE\EIE.dll 注册组件,提示成功则完成安装。
3.1.2 导入类型库
要使用EIE.dll封装的组件对象,应导入类型库(Type Library),类型库的导入方式依赖
具体的开发环境,请参考相关文档;
本示例以Delphi为例,在Delphi中的方法打开类型库窗口(Project -> Import Type
Library),选择“infoX-EIE ...”,单击“Create Unit”即可生成类型库文件,默认路径为
$(DELPHI)\Imports,可以根据需要修改。
3.2 方法调用
先定义一个全局对象或类的成员对象FEieConnectionF供后面的方法使用,定义语句如
下:
EieConnection: IEieConnection;
在使用COM之前要先初始化COM环境,Delphi应用程序主线程已经初始化了,否则
可调用下面的语句初始化:
ActiveX.CoInitialize(nil);
在线程退出时需调用释放COM资源,Delphi应用程序主线程中无须调用,否则可调用
如下语句:
ActiveX.CoUninitialize();
3 示例
infoX-MAS API接口说明(COM)
3.2.1 初始化接口
[C#]
private void buttonInitialize_Click(object sender, System.EventArgs e)
{
int iRet = 0;
try
{
iRet = EieConn.EieInitialize(textBoxServer.Text, textBoxAccount.Text, textBoxPassword.Text);
}
catch(Exception ex)
{
Console.WriteLine("Unexpected COM exception: " + ex.Message);
}
if (iRet == 0)
{
Console.WriteLine("Initialize success!");
}
else
Console.WriteLine("Initialize failure, ErrorCode: " + iRet);
}
[Delphi]
procedure TMainForm.FormCreate(Sender: TObject);
var
Ret : integer;
begin
//创建接口对象
FEieConnection := CoEieConnection.Create;
//初始化接口
Ret := FEieConnection.EieInitialize('pc100' , 'CustomSMS' , '123456');
If Ret = 0 then
begin
ShowMessage('初始化成功!');
end
else
ShowMessage('初始化失败,RetCode='+IntToStr(Ret));
end;
3.2.2 释放接口
[C#]
private void buttonUninitialize_Click(object sender, System.EventArgs e)
{
EieConn.EieUninitialize();
Console.WriteLine("Uninitialize success!");
}
[Delphi]
procedure TMainForm.FormDestroy(Sender: TObject);
begin
FEieConnection.EieUninitialize;
FEieConnection := nil;
end;
3.2.3 登录
[C#]
private void buttonLogin_Click(object sender, System.EventArgs e)
{
int iRet = EieConn.EieLogin(textBoxOperator.Text, textBoxOperPwd.Text);
if (0 == iRet)
{
Console.WriteLine("Login success!");
}
else
{
Console.WriteLine("Login failure, ErrorCode: " + iRet);
}
}
[Delphi]
procedure TMainForm.LoginButtonClick(Sender: TObject);
var
iRet: Integer;
begin
iRet := FEieConnection.EieLogin(edtLoginUser.Text, edtLoginPwd.Text);
if iRet = 0 then
begin
ShowMessage('登录成功!');
end
else
ShowMessage('登录失败, 错误码: ' + IntToStr(iRet));
end;
3.2.4 注销
[C#]
private void buttonLogout_Click(object sender, System.EventArgs e)
{
int iRet = EieConn.EieLogout();
if (0 == iRet)
{
Console.WriteLine("Logout success!");
}
else
{
Console.WriteLine("Logout failure, ErrorCode: " + iRet);
}
}
[Delphi]
procedure TMainForm.LogoutButtonClick(Sender: TObject);