短信平台接入说明1.2. 接口说明
短信平台和SP的接口采用HTTP+XML的方式,SP和短信网关互为HTTP的客户端和服务端, HTTP客户端必须采用授权方式访问这些URL,HTTP的特点决定客户端和服务端的每一次通讯都必须完成授权连接,发送请求,接收应答,关闭连接等过程, 建议SP使用HTTP1.1 KeepAlive的方式.
对于MO方向的命令(即命令接收方为SP),由短信网关通过POST方式提交给SP进行处理,SP在应答中确认信息接收成功与否.MO需要返回的信息通过Push的方式过来
对于SP主动向用户发送信息的Push业务,由SP作为客户端将信息通过POST方式提交到SP短信接收模块,短信网关在应答中确认信息发送成功与否.
如果HTTP服务器接收到的HTTP请求内容的格式不完整或不正确,HTTP服务器应该返回错误码.
HTTP服务端支持HTTP1.0和HTTP1.11.2.1. IOD模块发送请求到SP服务
<?xml version="1.0" encoding="GB2312"?>
<IODMsg>
    <!—短信主叫号码 -->
    <SoureAddr>13923864570</SourceAddr>
    <!—短信被叫号码 -->
    <DestAddr>188888</DestAddr>
    <!—短信接收时间-->
    <MOTime>2003-01-01 17:34:11</MOTime>
<!—短信内容编码方式 -->
<MessageCoding>15</MessageCoding >
<!—短信内容 -->
    <Content>特斯坦</Content>
</IODMsg>
1.2.2. SP服务向IOD模块返回
<?xml version="1.0" encoding="GB2312"?>
<IODResp>
    <!— 返回代码 0:成功 1:失败-->
    <Result>0</Result>
    <!—返回代码描述 -->
    <RetMsg>成功</RetMsg>
</IODResp>
1.2.3. SP服务向SP短信接收模块发送请求
<?xml version="1.0" encoding="GB2312"?>
<PushMsg>
    <!—短信主叫号码 -->
    <SoureAddr>18888</SourceAddr>
    <!—短信被叫号码 -->
    <DestAddr>13923864570</DestAddr>
    <!—短信发送时间-->
<MTTime>2003-01-01 17:34:11</MTTime>
    <!—是否需要状态报告 0:不需要,1:需要,2:产生话单-->
<ReportFlag>0</ReportFlag>
    <!—业务类型-->
<ServiceID>Game</ServiceID>
    <!—计费用户类型 0:对被叫用户计费,1:对主叫用户计费,2:SP计费-->
<FeeUserType>0</ FeeUserType >
<!—计费用户-->
<FeeUserAddr>13923864571</ FeeUserAddr >
<!—Tp-pid-->
<TPPid>0</ TPPid >
<!—TPUDHI-->
< TPUDHI >0</ TPUDHI >
<!—资费类型 01 :对计费号码免费,02对计费用户按条收费,03:对计费用户包月计费,04:对计费用户信息费封顶-->
< FeeType>0</ FeeType>
<!—资费代码,单位为分-->
< FeeValue>10</ FeeValue>
<!—信息格式 0:Asc,4:Binary,15:GBK,8:UCS2-->
< MessageCoding>0</ MessageCoding>
<!—短信内容编码方式 -->
<MessageCoding>15</MessageCoding >
<!—短信内容 -->
    <Content>特斯坦</Content>
</PushMsg>
1.2.4. SP短信接入模块向SP服务返回
<?xml version="1.0" encoding="GB2312"?>
<PushResp>
    <!— 返回代码 0:成功 1:非法登录 2:IP访问不允许,3:请求格式错误 4:非法主叫号码 5:非法计费号码 6:非法被叫号码 -->
    <Result>0</Result>
    <!—返回代码描述 -->
    <RetMsg>成功</RetMsg>
</PushResp>
1.2.5. 身份校验
所有发送来的HTTP请求均需要身份校验,身份校验采用标准的HTTP的身份校验方式,HTTP客户端必须在每次请求中都带上授权信息.HTTP的身份校验的实现请参阅HTTP协议.
例如:用户名为jlt,密码为jlt,即在http请求的头里面设置Authorization: PGpsdD49PGpsdD4=, PGpsdD49PGpsdD4=为<jlt>=<jlt>的base64编码结果.