infoXMASAPI接口说明.docx
- 文档编号:26997533
- 上传时间:2023-06-25
- 格式:DOCX
- 页数:26
- 大小:38.21KB
infoXMASAPI接口说明.docx
《infoXMASAPI接口说明.docx》由会员分享,可在线阅读,更多相关《infoXMASAPI接口说明.docx(26页珍藏版)》请在冰豆网上搜索。
infoXMASAPI接口说明
infoX-MASAPI接口说明
表格名目
总体讲明
关于本章
本章描述内容如下表所示。
标题
内容
1.1JAVA接口概述
介绍JAVA接口的背景知识。
1.2读者范畴
介绍本手册的读者对象。
1.3有关约定
介绍本手册的有关约定。
JAVA接口概述
为了企业用户更加简便、灵活地实现有关的业务,企业业务系统能够接入MAS(MobileAgentServer)的应用开发接口。
MAS以JAVA的方式封装其短信接口,提供给企业应用系统调用。
该JAVA组件封装的对象能够提供短信单发接口、数据库初始化接口、用户登录初始化接口、短信接收接口、短信查询接口,其中短信查询接口用于查询差不多发送的短信的情形。
该版本不提供短信群发接口和点点通短信接口。
读者范畴
本手册适用于华为公司MAS开发人员,企业IT治理、爱护部门的有关开发人员。
有关约定
在本文中,每个API(ApplicationProgrammingInterface)函数的描述由四部分组成:
函数功能、函数原型、参数讲明和返回码/值。
函数功能
描述API的要紧功能。
函数原型
描述API原型,可直截了当拷贝程序中的函数原型代码。
参数讲明
名称:
参数名称
如何懂得:
对参数的简单讲明
备注:
输入/输出参数的有关信息
返回码/值
API调用过程中的返回码/值,分为成功时的返回和专门返回。
如果是专门返回,分别对每一个可能的专门进行详细描述,包括专门名称及相应讲明。
API讲明
关于本章
本章描述内容如下表所示。
标题
内容
2.1API概述
介绍JAVA短信API的差不多组成。
2.2差不多数据类型介绍
各类数据结构介绍。
API概述
本文档定义了开发程序和MAS之间的所有短信API,如表2-1所示。
JavaAPI的短信接口
序号
接口名称
描述
1
publicDBSMProxy()
建立一个和MAS短信接口访咨询的代理对象。
2
publicfinalvoidinitConn()throwsException
初始化和MAS系统的连接。
3
publicfinalvoidinitConn(StringconfFile)throwsException
初始化和MAS系统的连接。
4
publicfinalvoidinitConn(Mapargs)throwsException
初始化和MAS系统的连接。
5
publicfinalint[]SendSm(SmSendBeansendBean)throwsException
发送短消息接口消息。
6
intsendMultiSm(SmSendBeansendBean)
发送短消息接口,提交一条群发消息到MAS的发送消息队列。
7
getReceivedSms(intmaxCount,java.util.DatefromTime,java.util.DateendTime,java.lang.StringorgAddr,java.lang.StringdestAddr)throwsjava.lang.Exception
从MAS接收的消息队列中猎取消息。
8
publicfinalSmSendResultBean[]querySmsResult(intsm_id,java.util.DatefromTime,java.util.DateendTime,StringorgAddr,StringdestAddr)throwsException
查询短消息发送结果。
9
publicfinalvoidlogin(StringuserName,Stringpassword)throwsException
按照用户名、密码登录系统,登录MAS,如果失败抛出专门。
10
booleanisConnected()
判定API是否差不多和MAS建立了连接。
11
publicfinalvoidlogout()
退出登录函数仅仅清理当前的用户,能够在此基础上再次登录,连接仍旧是存在的。
12
publicfinalvoiddestroy()
销毁函数,将清理连接,关闭数据库连接。
差不多数据类型介绍
短信API中各种差不多数据类型表示如下。
差不多数据类型简介
名称
如何懂得
SmSendBean
短信发送的消息结构体。
SmReceiveBean
接收消息的结构体描述。
SmSendResultBean
发送结果的消息体描述。
数据结构详细描述
SmReceiveBean
接收消息的结构体描述。
从MAS中猎取消息,猎取完成之后自动在tbl_smreceived表中把Reserve1字段配置为1。
结构体各字段的讲明请参见表2-3。
SmReceiveBean继承于SmSendBean。
SmReceiveBean字段讲明
字段名
字段类型
字段讲明
smActionID
privatejava.lang.String
接收消息的要求类型。
CMPP(ChinaMobilePeertoPeer)3消息点播使用,参见CMPP3协议。
SMPP(ShortMessagePeertoPeer)不使用。
smActionReasonID
privatejava.lang.String
接收消息的要求缘故。
CMPP3消息点播使用。
SMPP不使用。
smDestAddr
privatejava.lang.String
接收消息的目的地址,对应的确实是SP的接入号。
smId
privateint
接收消息id(唯独标识),为-1的时候表明此消息为无效消息。
smMessageID
privatejava.lang.String
接收消息的类型。
CMPP3消息点播使用。
SMPP不使用。
smMsgContent
privatejava.lang.String
接收消息的消息内容。
smOrgAddr
privatejava.lang.String
接收消息的源地址,对应于发送方手机号码。
smOrgAddrType
privateint
接收消息的源地址类型,包括两种类型:
●掩码
●真实手机号码
CMPP3消息点播使用。
SMPP不使用。
smRecvTime
privatejava.util.Date
接收消息的接收时刻。
smReserve1
privatejava.lang.String
接收消息的保留标识,临时没有使用。
smReserve2
privatejava.lang.String
接收消息的保留标识,临时没有使用。
smServiceID
privatejava.lang.String
接收消息的要求业务id。
CMPP3消息点播使用。
SMPP不使用。
smType
privateint
接收消息的类型。
CMPP3消息点播使用,SMPP不使用。
SmSendBean
SmSendBean是短信发送的消息结构体。
在那个结构体中,必要填写的字段只有目的地址和消息内容,其他字段使用文件或者API中的缺省值。
如果缺省值不对,将导致无法调用,调用者需要自己在调用API初始化的时候,指定API属性配置文件,或者在程序中设定非必填字段。
结构体各字段的讲明请参见表2-4。
SmSendBean字段讲明
字段名
字段类型
字段讲明
priority
protectedint
优先级别,对应于masdb的SENDLEVEL。
sendSMID
protectedint
返回发送到MAS的smid,唯独标识发送短信的ID。
sendType
protectedint
发送类型。
●0:
SMSEND_TYPE_TEXT,一般文本消息
●5:
SMSEND_TYPE_WAPPUSH,WAPPUSH消息
默认值:
0
smDestAddrs
protectedjava.lang.String[]
目的手机号码。
填写接收该条短信的手机号码。
能够为任意多个,API函数自动拆分成多条短信发送。
该字段为必填字段。
smDestAddrType
protectedint
目的地址类型。
CMPP3消息点播使用,SMPP不使用。
smFeeCode
protectedjava.lang.String
配合smFeeType,用来标识计费多少费用。
●在CMPP协议中,单位为分。
●在国外,需要按照当地的协议规定填写。
smFeeType
protectedjava.lang.String
计费类型,标识包月、封顶、单条、免费、不计费等。
按照当地协议规定。
●CMPP:
请参考CMPP协议填写。
●SMPP:
无意义。
smMessageID
protectedjava.lang.String
CMPP3点播使用,SMPP无须填写。
smMsgContent
protectedjava.lang.String
短消息内容。
此字段为必填字段。
smMsgID
protectedjava.lang.String
用作第三方计费使用,SMPP等协议临时不使用。
smNeedStateReport
protectedint
该条消息是否需要状态报告。
smOrgAddr
protectedjava.lang.String
消息的源地址。
如果是SP业务,则是对应的SP接入号。
smReserve1
protectedint
保留字段。
smReserve2
protectedjava.lang.String
保留字段,暂无意义。
SMSEND_TYPE_TEXT
staticint
发送类型,等于此数值的时候为一般文本下发。
SMSEND_TYPE_WAPPUSH
staticint
发送类型,当发送类型为5的时候是WAPPUSH消息。
格式:
URL,消息正文(中间用逗号分隔)。
smSendTime
protectedjava.util.Date
打算发送短信的时刻。
smServiceId
protectedjava.lang.String
在CMPP中对应于对应的service-id。
在SMPP中对应业务类型字段。
smSmType
protectedint
SMType,用来标识消息类型,一般文本消息能够不填写。
国外无须填写此字段。
smTryTimes
protectedint
需要重发的次数。
taskName
protectedjava.lang.String
应用程序能够自己定义任务名称。
按照此任务名称能够从发送结果表中查询对应的一批任务。
SmSendResultBean
SmSendResultBean为发送结果的消息体描述。
结构体各字段的讲明请参见表2-5。
SmSendResultBean字段讲明
字段名
字段类型
字段讲明
smFeeCode
protectedint
短信发送时候的资费代码。
CMPP、SGIP中单位为分,SMPP临时没有意义。
smFeeTerminalID
protectedjava.lang.String
此条短消息的计费终端号码。
CMPP、SGIP使用。
smFeeType
protectedjava.lang.String
计费用户类型。
smFeeUserType
protectedjava.lang.String
计费用户类型。
CMPP、SGIP使用。
smMsgFmt
protectedint
此条短消息的消息内容格式。
smMsgStatus
protectedjava.lang.String
短信的发送状态,即短信提交到短信网关后的错误码。
请参见短信网关错误码参考。
smRecvStatus
protectedjava.lang.String
短信的接收状态,即手机收到短信的状态码。
●0:
成功
●其他:
失败
smRecvTime
protectedjava.util.Date
短信被手机终端收到的时刻。
当短信设置了需要状态报告的时候,本字段有意义。
smResultId
protectedint
每日发送结果的短信生成id。
临时未用。
smSentTime
protectedjava.util.Date
短信提交到短信网关的时刻。
smSm_Type
protectedint
目前此字段暂无意义。
smSmId
protectedint
代表此消息的唯独标识id。
请参见send函数返回的sm_id。
smSubmitTime
protectedjava.util.Date
短信提交到MAS的时刻。
smValidTime
protectedjava.util.Date
短信发送完成,被记录入MAS历史库的时刻。
接口介绍
DBSMProxy
publicDBSMProxy()
函数描述
该函数用于建立一个和MAS短信接口访咨询的代理对象。
调用前提
无。
initConn
publicfinalvoidinitConn(java.util.Mapargs)
throwsjava.lang.Exception
函数描述
该函数按照指定的map参数,初始化和MAS的连接,按照传递的参数,初始化数据库连接。
这些字段必须小写。
必要字段必须是String类型,包括:
url:
JDBC连接数据库的URL
user:
连接数据库的用户名
password:
连接数据库的用户对应的密码
非必要字段包括:
test-sql:
测试数据库连接的语句
name:
数据库名
correct-charset:
字符集
watch-interval:
检测数据库是否连接正常的间隔时刻
driver:
数据库JDBC驱动
调用前提
无。
参数
args:
初始化参数列表
抛出
调用错误的时候抛出专门,专门包括:
API使用状态不对
初始化失败
参数不对
initConn
publicfinalvoidinitConn(java.lang.StringconfFile)
throwsjava.lang.Exception
函数描述
该函数按照指定的配置文件,初始化和MAS的连接。
xml文件中关于数据库的描述路径:
config/database/eiedb下包含配置。
具体参数配置参见开发包的配置文件样例。
调用前提
无。
参数
confFile:
API配置文件路径
抛出
调用错误的时候抛出专门,专门包括:
API使用状态不对
初始化失败
参数不对
initConn
publicfinalvoidinitConn()
throwsjava.lang.Exception
函数描述
该函数按照API内部约定的默认的配置文件路径,初始化和MAS的连接。
配置文件默认存放在相对当前工作名目下的apiConf,名称为:
smApiConf.xml。
调用前提
无。
抛出
调用错误的时候抛出专门,专门包括:
API使用状态不对
初始化失败
参数不对
sendSm
publicfinalint[]sendSm(SmSendBeansendBean)
throwsjava.lang.Exception
函数描述
该函数为发送短消息接口,用于提交消息到MAS的发送消息队列。
能够一次性填写任意多个号码,由API自行拆分成多条单发写入MAS单发队列。
必要参数包括短信内容和目的地址。
关于源地址、业务id等参数,系统内部有默认配置值。
如果有短信属性配置文件存在,则从短信默认属性配置文件中加载。
如果调用者设定了这些值,将以调用这设定的这些值为准。
如果消息内容超过了300字节,抛出专门。
函数内部校验:
调用实现类去发送短信。
调用前提
API差不多初始化同时成功调用login()函数。
参数
sendBean:
参见SmSendBean结构描述。
返回
int[]返回所需要的sm_id,有多少个目的地址,就返回多少个sm_id,同时参照destAddrs的顺序排列。
抛出
调用错误的时候抛出专门,专门包括:
API使用状态不对
初始化失败
参数不对
sendMultiSm
publicfinalintsendMultiSm(SmSendBeansendBean)
throwsjava.lang.Exception
函数描述
该函数为发送短消息接口,用于提交一条群发消息到信息机的发送消息队列。
由API自行拆分成多条单发写入MAS单发队列。
必要参数包括短信内容和目的地址。
关于源地址、业务id等参数,系统内部有默认配置值。
如果有短信属性配置文件存在,则从短信默认属性配置文件中加载。
如果调用者设定了这些值,将以调用这设定的这些值为准。
如果消息内容超过了300字节,抛出专门。
关于消息目的地址过长,抛出专门,目的地址最多150个。
函数内部校验:
调用实现类去发送消息。
调用前提
API差不多初始化同时成功调用login()函数。
参数
sendBean:
参见SmSendBean结构描述。
返回
返回所需要的sm_id,类型为int,失败时返回-1。
抛出
调用错误的时候抛出专门,专门包括:
API使用状态不对
初始化失败
参数不对
getReceivedSms
publicfinalSmReceiveBean[]getReceivedSms(intmaxCount,
java.util.DatefromTime,
java.util.DateendTime,
java.lang.StringorgAddr,
java.lang.StringdestAddr)
throwsjava.lang.Exception
函数描述
该函数用于从MAS接收的消息队列中猎取消息。
查询条件为最大返回条数、时刻段、源地址、目的地址。
以上条件任意组合,是“与”的关系,如果某个参数为null,则此条件无效。
调用前提
API差不多初始化同时成功调用login()函数。
参数
maxCount:
最大返回条数,如果为正数则最大只返回这些条数,如果小于等于0,则不限制查询返回结果数。
fromTime:
指定猎取接收短信的起始时刻范畴,如果为空,则不限制。
endTime:
指定猎取接收短信的终止时刻范畴,如果为空,则不限制。
orgAddr:
指定猎取接收短信的源地址,例如手机,猎取时模糊匹配前缀,如果为空,则此条件限制失效。
destAddr:
指定猎取接收短信的目的地址,例如接入号,猎取时模糊匹配前缀,如果为空,则此条件限制失效。
返回
int[]返回所需要的sm_id,有多少个目的地址,就返回多少个sm_id。
如果没有查询到数据,则返回一个长度为0的数组
抛出
调用错误的时候抛出专门,专门包括:
API使用状态不对
初始化失败
参数不对
querySmsResult
publicfinalSmSendResultBean[]querySmsResult(intsm_id,
java.util.DatefromTime,
java.util.DateendTime,
java.lang.StringorgAddr,
java.lang.StringdestAddr)
throwsjava.lang.Exception
函数描述
该函数用于查询短信发送结果。
以下关系全部是“与”的关系,指定的参数越多,限制条件越多。
sm_id>0,同时查询起始、终止时刻只要有一个为空,则默认从近3天之内的消息中查询符合此sm_id的消息,否则,按照指定的起始、终止时刻查询。
如果sm_id0,则sm_id不生效,不限制sm_id。
关于orgAddr,destAddr,如果为空则查询所有号码,如果不为空,则条件生效。
只有当起始时刻和终止时刻都指定了,该查询才按照指定的时刻段进行查询,否则只查询近3天的消息。
调用前提
API差不多初始化同时成功调用login()函数。
参数
sm_id:
如果为-1,则此不生效,大于0的时候,按照此sm_id查询。
fromTime:
开始时刻,为空,则不生效,时刻为当前时刻的3天前。
endTime:
终止时刻,为空,则不生效,时刻为当前时刻。
orgAddr:
源地址,例如接入号,如果为空,则此条件不生效。
destAddr:
目的地址,例如手机号码,如果为空,则此条件不生效。
返回
SmSendResultBean[]返回的查询结果,任何时候,都不返回null,没有查询到结果,返回长度为0的数组。
抛出
调用错误的时候抛出专门,专门包括:
API使用状态不对
初始化失败
参数不对
login
publicfinalvoidlogin(java.lang.StringuserName,java.lang.Stringpassword)
throwsjava.lang.Exception
函数讲明
该函数用于按照用户名、密码登录MAS应用接口。
如果失败抛出专门,那个地点的用户名密码,参数对应于MASWeb界面登录的用户名、密码。
调用前提
差不多初始化连接。
参数
userName:
登录MAS的用户名,和登录MASWeb界面的用户名一样。
password:
登录MAS应用的密码,和登录MASWeb界面的密码一样。
抛出
调用错误的时候抛出专门,专门包括:
API使用状态不对
初始化失败
参数不对
isConnected
publicbooleanisConnected()
该函数用于检查API是否差不多与MAS建立了连接。
调用前提:
API差不多初始化同时成功调用login()函数。
logout
publicfinalvoidlogout()
该函数用于清理当前登录的用户,能够在此基础上再次登录,连接仍旧存在。
调用前提
差不多建立连接,并登录应用接口。
抛出
本函数不抛出专门。
destroy
publicfinalvoiddestroy()
函数描述
该函数为销毁函数,用于清理连接,关闭数据库连接。
如果调用函数的时候没有退出登录,则将直截了当退出登录,然后销毁连接。
只有API处于差不多可用状态,或者差不多建立连接状态下能够调用,否则调用无效。
调用前提
差不多建立连接或者差不多登录应用接口。
抛出
本函数不抛出专门。
安装使用指导
关于本章
本章描述内容如下表所示。
标题
内容
3.1介绍安装JAVASMSAPI
介绍安装JAVASMSAPI
3.2导入开发库
介绍导入开发库。
3.3方法调用
介绍JAVASMSAPI接口函数调用示例。
介绍安装JAVASMSAPI
请直截了当拷贝,放入classpath中即可。
导入开发库
按照使
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- infoXMASAPI 接口 说明