📄 api_readme.doc
字号:
深讯固网网关api函数说明
2001-12-25
杨逸天
一、使用说明
本接口遵循SMGPv1.0 协议标准,以提供消息发送和接收函数的方式, 向 ICP 提供
同固网网关进行信息交换的实现途径.客户可以依据具体需要,利用所提供的函数实现不同的连接方式(长连接和短连接)以及何时自动建立和中断连接, 除此之外, API 作为应用的接口,对 SMGP 描述的其它功能,象流量控制 重发机制和并发处理都不预干预,需要应用程序自身处理。
二、函数说明
1、int InitSMGPAPI (char inifile[100]);
API 初始化函数
选项
IcpId: 网关分配的给sp的用户名 ,最长10位
IcpShareKey: sp用户密码,最长10位
gatewayip: sp连接网关的ip地址
mtport: 网关的mt连接端口
moport: 网关用于与sp连接的mo端口
socktimeout: socket读写超时时间,单位秒
成功返回0,失败返回1
2、int login (int type);
网关连接函数
type: 0 建立mt连接
1 建立mo连接
成功返回0,失败返回1
3、int SMGPSendSingle (int needreply,int msglevel,char serviceid[11],int msgformat,char feetype[3],
char feecode[7],char validtime[18],char attime[18],char chargetermid[22],
char desttermid[22],char replypath[22],int msglen,char *msgcontent,
char msgid[11],int *errorcode);
发送单条mt函数
needreply: 1 需要状态报告
其它 不需要状态报告
msglevel: 信息级别0-9,优先级逐渐增高
serviceid: 业务类型
msgformat: 信息格式,0 ASCII,3 短信写卡操作,4 二进制短信,8 ucs2编码,15 gb码
feetype: 资费类别,01免费,02按条,03包月
feecode: 资费代码,单位分
validtime: 存活有效期,绝对时间
attime: 定时发送时间,绝对时间
格式为:YYMMDDHHMMSStnnd
YYMMDDHHMMSS:年月日时分秒
t:十分之一秒
nn:时区,相差一刻钟为一。北京时间为4*8=32
d:超前或是迟延,北京时间超前,填"+"
如2002年3月11日10点30分0秒发送填为"20020311103000032+"
存活时间的填写相同
chargetermid: 计费号码
destermid: 接受业务号码
replypath: 用户回复号码,原终端号码
msglen: 消息长度,最长160
msgcontent: 消息内容,参见icp开发指南
msgid: 由网关返回的短信标识
成功返回0,失败返回1
4、int SMGPSendBatch (int needreply,int msglevel,char serviceid[11],int msgformat,char feetype[3],
char feecode[7],char validtime[18],char attime[18],char chargetermid[22],
char desttermidfile[100],char msgfile[100],char msgidfile[100]);
群发短信函数
destermidfile: 保存所有话机号码的文件名
msgfile: 保存短信内容的文件名
msgidfile: 保存所有短信的返回msgid和errcode的文件名
成功返回0,失败返回1
5、int GetSendBatchResp (char msgidfile[100],int pos,struct SendBatchResp *sendbatchresp);
msgidfile: 保存所有短信的返回msgid和errcode的文件名
pos: 短信位置,〉=0
sendbathresp: 用户保存结果的SendBatchResp结构指针
成功返回0,失败返回1
6、int SMGPDeliver(int Ntimeout,struct deliverA& p_deliver);
Ntimeout: 等待时间,单位秒;
结构deliverA说明:
struct deliverA{
CString msgid; //网关返回msgid
UINT8 isreport; //是否需要状态报告,0不需要,1需要
UINT8 msgformat; //消息格式,0 ASCII,3 短信写卡操作,4 二进制短信,8 ucs2编码,15 gb码
CString recvtime; //短信接收时间,格式:yyyymmddhhmiss,例如20010301200000
CString srctermid; //源终端号码
CString desttermid; //目的终端号码
UINT8 msglength; //消息内容长度
CString msgcontent; //消息内容
};
成功返回0,失败返回1
7、int SMGPActiveTest(int *errcode);
errcode: 错误代码
成功返回0,失败返回1
8、int logout(int type);
type:断开的连接类型,0 mt,1 mo
成功返回0,失败返回1
三、程序基本流程
发送短信
InitSMGPAPI()
login(0) 建立mt连接
SMGPSendSingle()或者SMGPSendBatch()
logout(0)
接收短信
InitSMGPAPI()
login(1) 建立mo连接
for(;;)
{
SMGPDeliver() 接收MO并向网关发送应答
接收MO后可以通过p_deliver的isreport字段判断分别对普通MO请求和状态报告进行不同的操作。
如是状态报告,字段status返回相应短信的状态,参照短信状态表。
}
logout(1)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -