短消息网关协议SN RC1 SMGP V3.0.2
参数名 nNeedReport nMsgLevel sServiceID nMsgFormat sFeeType sFeeCode sFixedfee sValidTime sAtTime sSrcTermID sChargeTermID 数据类型 说明 Int Int Char(11) Int Char(3) Char(7) Char(7) Char(18) Char(18) Char(22) Char(22) 是否要求返回状态报告(0=不要求,1=要求) 优先级别,(0-9,0表示最低优先级) 业务代码 短消息格式(参照短消息格式表)。网关不做判定, 透明传输。 资费类别 资费代码(以分为单位) 包月费/封顶费(以分为单位) 存活有效期,格式遵循SMPP3.3协议 定时发送时间,格式遵循SMPP3.3协议 短消息发送用户号码(当为SP代码时须在前面加118) 计费号码(若为空,则对被叫计费) sDestTermIDFile Char(100) 保存所有目的号码的文件名 nMsgLen sMsgContent sMsgIDFile sMsgType Int Char(*) 消息长度 短消息内容(nMsgLen=0时表示存放短消息的文件名) Char(100) 保存所有短消息的返回MsgID和ErrorCode的文件名 Char(2) Char(9) 短消息类型 保留 sReserved
? 返回
0=成功 1=失败
A.3.4获取群发短消息的结果(GetSendBatchResp)
? 作用
从文件里读取群发的某一个短消息的标识、发送结果和发送号码。 ? 参数 参数名 sMsgIDFile nPos 数据类型 说明 Char(100) 保存所有短消息的返回MsgID和ErrorCode的文件名 Int 短消息位置,从0开始 - 55 -
短消息网关协议SN RC1 SMGP V3.0.2
pSendBatchResp ? 返回
SendBatchResp * 用于保存结果的SendBatchResp结构指针 0=成功 1=失败
A.3.5接收短消息(SMGPDeliver)
? 作用
连接短消息网关,等待接收属于本SP的短消息。 ? 参数 参数名 nTimeout pDeliverResp 数据类型 说明 Int* DeliverResp * 等待时间,单位:秒。0表示永远等待。 保存短消息的DeliverResp结构指针 ? 返回
0=成功 1=失败
A.3.6检查短消息网关是否能够提供服务(CMMPActiveTest)
? 作用
检查短消息网关是否能够提供服务。 ? 参数 参数名 nErrorCode ? 返回
数据类型 说明 Int 错误代码(参照错误代码表)。 0=成功 1=失败
- 56 -
短消息网关协议SN RC1 SMGP V3.0.2
A 3.7查询短消息流量(SMGPQuery可选)
? 作用
向短消息网关查询某天的短消息流量。 ? 参数 参数名 sDate nQueryType sServiceID pQueryResp ? 返回
数据类型 Char(10) Int Char(11) QueryResp * 说明 查询日期,格式:yyyymmdd 查询类型,0=总数查询;1=按业务代码查询 查询码1(业务类型) 保存查询结果的QueryResp结构指针 0=成功 1=失败
A.4配置SMGP API
配置文件在smgpapi/config/smgpc.ini,以下是配置项的说明: 名称 SPId SPShareKey WithPrevPage 说明 SP编号,必须与License的一致。 SP的密码,如果填写不正确会导致应用程序不能通过SMGP用户认证。 第1个以后的分割短消息的前置说明文字,可以为空。 例如(第2个分割短消息):(2/3)(continue)xxxxxx “(continue)”是前置说明文字 WithNextPage 分割短消息的后置说明文字,可以为空,最后一个短消息不带后置说明文字。 例如(第1个分割短消息):(1/3)xxxxxx(to be continued) “(to be continued)”是前置说明文字
- 57 -
短消息网关协议SN RC1 SMGP V3.0.2
PageSpaceAscii PageSpaceGB PageSpaceBinary WithPageIndex MaxPage ClientIP AscII短消息的最大长度 中文短消息的最大长度 二进制短消息的最大长度 在分割短消息时是否附加页号,0=否,1=是。 最大分割页数,最大是99页。 客户主机的IP地址,必须填写接入Internet的公网地址。如果主机是通过Gateway接入Internet,就填写Gateway地址。如果客户主机的IP地址填写错误会导致应用程序不能通过SMGP用户认证。 短消息网关的IP地址 短消息网关的端口 发送短消息自动重试次数(1表示只发送1次,不重新发送) 发送请求超时时间,单位:秒 ServerIP ServerPort SubmitRetry RequestTimeout
A.5短消息的自动分割功能
SMGPSendSingle和SMGPSendBatch提供自动分割短消息的功能,分割的效果由smgpc.ini的配置控制。
当参数nMsgFormat等于0或15时,API就提供分割短消息功能。API扫描短消息的内容,把短消息分段,根据每一段的短消息内容设置nMsgFormat。如果某一段短消息含有中文,就把那一段短消息的发送格式设为15,取PageSpaceGB为最大长度;如果不含中文,就把那一段短消息的发送格式设为0,取PageSpaceAscii为最大长度。这样,可以充分利用短消息的最大发送长度,减少分割数量。如果WithPrevPage或者PageSpaceGB含有汉字,所有分割短消息的发送格式都设为15。
当参数nMsgFormat等于4时,API根据PageSpaceBinary配置分割短消息。
当参数nMsgFormat等于0并且长度小于PageSpaceGB,API扫描短消息内容是否含有中文。如果发现中文,就自动把发送格式变为15。
- 58 -