中国电信SMGP协议 下载本文

短消息网关协议SN RC1 SMGP V3.0.2

? Solaris 5.6, 5.7, 5.8(包含x86)

? Linux(Redhat和Slack等主流产品) ? Windows NT/2000等

网关提供的API软件包至少要求支持以下编程语言:

? C/C++ ? JAVA

A.2 API数据结构说明(以C语言为例)

A.2.1接收短消息的返回数据结构(DeliverResp)

? 用途

保存SMGPDeliver函数返回的短消息内容。 ? 字段说明 字段名 SMsgID NMsgFormat SSrcTermID 数据类型 Char(21) Int Char(22) 说明 短消息标识 短消息格式(参照短消息格式代码表)。网关不做判定, 透明传输。 短消息发送用户号码 NIsReport NMsgLen sMsgContent sDestTermID sRecvTime sReserved Int Int Char(253) Char(22) char(15) Char(9) 是否为状态报告。代码含义:非状态报告(0);状态报告(1) 消息长度 消息内容 SP的接入代码 短消息接收时间(格式:yyyymmddhhmiss,例如20010301200000) 保留

- 51 -

短消息网关协议SN RC1 SMGP V3.0.2

A.2.2获取群发短消息的返回数据结构(SendBatchResp)

? 用途

使用SMGPSendBatch群发短消息后,每条短消息的“消息标识”和“错误代码”保存在文件里。SMGP API提供GetSendBatchResp函数获取每一条短消息返回信息,保存在SendBatchResp中。

? 字段说明 字段名 sMsgID nErrorCode sPhoneNo 数据类型 Char(21) Int Char(22) 说明 短消息标识 错误代码(参照错误代码表) 发送号码

A.2.3查询短消息网关的返回数据结构(QueryResp可选)

? 用途

保存SMGPQuery函数返回的查询结果。 ? 字段说明 字段名 nMT_TLMsg nMT_TLusr nMT_Scs nMT_WT nMT_FL nMO_Scs nMO_WT nMO_FL 数据类型 Int Int Int Int Int Int Int Int 说明 接收短消息总数 接收用户总数 成功转发数量 待转发数量 转发失败数量 成功送达数量 待送达数量 送达失败数量

- 52 -

短消息网关协议SN RC1 SMGP V3.0.2

A.3 API函数说明

A.3.1初始化API(InitSMGPAPI)

? 作用

初始化SMGP API,应用程序只需要调用一次此函数。 ? 参数 参数名 SiniFile 数据类型 Char(100) SMGPAPI配置文件名, 说明 缺省值是:”../config/smgpc.ini”。 如果应用程序的执行目录不在smgpapi/bin下,就需要通过绝对或相对路径指定sINIFile。 例如: InitSMGPAPI(“/opt/smgpapi/config/smgpc.ini”) ? 返回

0=成功 1=失败

A.3.2发送单条短消息(SMGPSendSingle)

? 作用

向短消息网关发送1条短消息到1个终端用户。短消息长度最长为200, SMGP API在发送时自动建立Connection Pool,采用长连接或者短连接发送短消息。当Cache的connection中断时,API能够自动重新连接短消息网关。如果应用程序采用多线程发送短消息,多个线程共享同一个Connection Pool。在发送过程中,如果因为通信原因导致发送失败,API能够自动重新发送,重试的次数在配置文件设置。

? 参数 参数名 nNeedReport nMsgLevel 数据类型 说明 Int Int 是否要求返回状态报告(0=不要求,1=要求) 信息级别(0-9,0=最低优先级) - 53 -

短消息网关协议SN RC1 SMGP V3.0.2

sServiceID nMsgFormat sFeeType sFeeCode sFixedfee sValidTime sAtTime sSrcTermId Char(11) Int Char(3) Char(7) Char(7) Char(18) Char(18) Char(22) 业务代码 短消息格式(参照短消息格式表)。网关不做判定, 透明传输。 资费类别 资费代码(以分为单位) 包月费/封顶费(以分为单位) 存活有效期,格式遵循SMPP3.3协议 定时发送时间,格式遵循SMPP3.3协议 发送号码 计费号码 短消息接收号码 短消息长度 短消息内容(nMsgLen=0时表示存放短消息的文件名) 返回的短消息标识 错误代码(参照错误代码表)。 短消息类型 保留 sChargeTermID Char(22) sDestTermID nMsgLen sMsgContent sMsgID nErrorCode sMsgType Char(22) Int Char(*) Char(11) Int* Char(2) Char(9) sReserved

? 返回

0=成功 1=失败

A.3.3群发短消息(SMGPSendBatch)

? 作用

向短消息网关发送1条短消息到多个终端用户。短消息长度最长为200,此函数使用文件传递短消息内容。SMGP API在发送时自动建立Connection Pool,采用长连接或者短连接发送短消息。当Cache的connection中断时,API能够自动重新连接短消息网关。如果应用程序采用多线程发送短消息,多个线程共享同一个Connection Pool。在发送过程中,如果因为通信原因导致发送失败,API能够自动重新发送,重试的次数在配置文件设置。

? 参数

- 54 -