浙江联通行业应用短信平台二次开发接口使用手册.doc
《浙江联通行业应用短信平台二次开发接口使用手册.doc》由会员分享,可在线阅读,更多相关《浙江联通行业应用短信平台二次开发接口使用手册.doc(20页珍藏版)》请在三一办公上搜索。
1、文件版本:V1.0.070201发布时间:2007.02.01浙江联通行业应用短信平台二次开发接口使用手册(V1.0)中国联通浙江分公司增值业务部2007.02 注意事项:1、 本手册介绍浙江联通行业应用短信平台的二次开发接口的安装调试方法。如果需要对帐号进行日常管理(如子帐号管理、费用查询、客户端下载发送短信等),请登录到网站上进行操作。这方面的操作指南请参考网页界面的使用手册。2、 如果您需要快速定位问题,请直接查阅第5节的“常见问题解答(FAQ)”。1简介1.1系统的结构和特点浙江联通行业应用短信平台具备二次开发接口(后面简称接口或接口软件),接口软件在整个方案中的位置如下图中蓝色部分所
2、示,在安装了接口软件以后,企业内部所有的短信应用系统只要对接口数据库进行数据存储,就能完成收发短信的工作,并且可以查询到所发送短信当前的状态,避免了企业内部软件开发人员在CMPP、SMPP等短信通讯协议上浪费大量的人力和物力。和使用API接口在CMPP或SMPP协议层次上开发短信应用程序相比,企业直接使用本系统提供的数据库接口开发短信应用程序,可以至少节省一个开发小组几个月的工作量,在时间就是金钱的现代社会,本系统为企业带来的时间效益是惊人的。用户手机企业内部网络应用系统1短信接口数据库浙江联通内部网络短信中心应用系统2短信网关应用系统n杭州联通行业应用短信平台服务器短信接口软件互联网专线图例
3、:绿色箭头采用SGIP或SMPP协议传输短信的链路红色箭头采用加密数据包传输短信的链路本系统采用了各种方法保证企业短信收发的安全性和稳定性:l 信息加密:和浙江联通行业短信平台接口服务器之间的通讯不采用CMPP、SMPP等非加密的协议,而是在短消息传送的过程中进行加密传输,保证了信息的安全性。l 断线重连:软件具备断线自动重连的功能,当因为网络异常等各种原因造成链路中断时,软件能够自动重复尝试连接,以保证短信收发的及时性和可靠性。l 免维护:接口服务软件采用系统服务的方式在后台运行,无须用户干预,即使遇到服务器断电等异常情况,只要按动电源按钮重新将计算机开机,软件即可自动运行。接口软件和企业内
4、部的短信应用系统之间采用容易编程的数据库接口,使开发人员能够以最简便的方式实现最强大的功能:l 发送简单方便:软件自动对接口数据库进行扫描,企业内部的短信应用系统只要将短信发送号码和内容保存到接口数据库里面,就可以将短信发送到用户的手机上。l 状态可查询:软件自动接收短信网关返回的短信状态报告,并将状态保存到接口数据库中,企业内部的短信应用程序只要查询数据库,就可以得知短信的当前状态。l 信息双向交流:当用户向企业发送短信时,软件自动从服务器端接收短信并保存到接口数据库中,其他应用程序只要查询接口数据库,就可以获取该短信。l 号码扩展:企业可以对短信号码进行多达8位的扩展,便于多个内部应用系统
5、同时通过该接口收发短信,真正实现一点接入,多点使用。l 支持广泛:现在最新版本的短信接口服务软件已经支持最常用的Oracle、SQLServer和Sybase数据库。1.2运行环境接口软件的运行环境为:l 硬件要求:CPU PIII 700以上,内存128Ml 软件要求:Windows 2000/XP,如果接口数据库使用Oracle,则需安装Oracle客户端软件。和软件配套使用的接口数据库可以使用Oracle、SQL Server或Sybase三种类型,接口数据库和接口服务软件既可以安装在不同的计算机上,也可以安装在同一台计算机上,如果两者安装在同一台服务器上,那么服务器的硬件配置应该相应提
6、高。建议采用下列配置的专用服务器: 双P4 1600 CPU,1G内存,36.4G x 2热插拔硬盘(Raid1)2数据库的安装和配置在安装接口服务软件之前,需要首先安装数据库并初始化接口表,下面的内容将分Oracle、SQLServer和Sybase数据库三种类型分别说明如何创建接口表。2.1使用Oracle数据库在使用Oracle数据库的情况下,最好为短信接口表单独设置一个表空间,并为其单独分配一个用户,以便和其他短信应用系统使用的数据表隔离。2.1.1数据字典下面是短信接口表的初始化脚本,各字段的取值和含义已经包含在字段的注释中:- - 系统范围内唯一的ID,容量:10位整数- drop
7、 sequence sms_seq;create sequence sms_seq increment by 1 start with 1 maxvalue 9999999999 nocache;- - 数据库版本表- ! 请不要增加、删除或者修改本表的记录 !- drop table sms_ver cascade constraints;create table sms_ver ( vernumber(2)- 数据库结构版本号);insert into sms_ver values(1);commit;- - 短信接收表- drop table sms_receive cascade co
8、nstraints;create table sms_receive(idnumber(10) primary key,- 唯一id,取自sms_seq序列resultchar(1) default 0,- 供用户程序使用,表示记录是否被处理,缺省为0mobilevarchar2(21) not null,- 发送方的手机号码recv_timevarchar2(20),- 短信接收时间sms_numbervarchar2(10),- 扩展短号(用户发送的号码去除公司短号后的扩展部分)contentvarchar2(160)- 接收的短信内容);create index idx_sms_rece
9、ive_result on sms_receive(result);create index idx_sms_receive_mobile on sms_receive(mobile);create index idx_sms_receive_sms_number on sms_receive(sms_number);- - 短信发送表- drop table sms_send cascade constraints;create table sms_send(mobilevarchar2(21) not null,- 要发送的手机号码contentvarchar2(160),- 要发送的短信
10、内容sms_numbervarchar2(10),- 要发送的扩展短号(自动添加在公司短信号码后面)idnumber(10) primary key,- 唯一id,取自sms_seq序列prioritynumber(1) default 9,- 发送优先级,0 最高plan_timevarchar2(19),- 短信定时发送时间,格式为 yyyy-mm-dd hh24:mi:ss- 如果不填写,表示马上发送- *- 上面的字段由发送者填写- 下面的字段由接口回填- *resultchar(1) default 0,- 状态- 0 等待提交,表示短信尚未提交到短信群发平台的服务器- 1 已提交,
11、表示短信已经提交到短信群发服务器,但是尚未发送到网关- 2 已发送,表示短信已经发送到网关,等待用户接收- 3 已接收,表示用户的手机已经收到短信- a 提交错误,短信被短信群发服务器拒绝- b 发送错误,短信被网关拒绝- c 接收错误,因为用户关机等原因,短信最终未被用户收到- ! 注意 ! :- 接口服务程序扫描result=0的记录并发送,然后根据结果更新result字段- 如果在sms_send表上面建触发器,请严格测试,保证result从0更新到其他- 状态的语句不会执行失败,否则该条记录会被接口服务程序重复扫描到并- 一直重复发送 !seq_idvarchar2(10),- 短信编
12、号submit_timevarchar2(20),- 提交时间send_timevarchar2(20),- 网关发送时间recv_timevarchar2(20),- 用户接收时间send_typechar(1)- 保留);create index idx_sms_send_priority on sms_send(priority);create index idx_sms_send_time on sms_send(plan_time);create index idx_sms_send_result on sms_send(result);create index idx_sms_se
13、nd_seq_id on sms_send(seq_id);create index idx_sms_send_mobile on sms_send(mobile);2.1.2示范SQL语句下面是短信应用程序收发短信以及查询短信状态的SQL语句示范: 发送短信:假设浙江联通分配给用户的企业短信号码是7016571xxx,那么用户可以在此号码的基础上以7016571xxxyyyyy号码为主叫号码向手机发送短信,其中yyyyy为0位到8位的扩展号码。下面的第1条SQL语句以7016571xxx号码向13305710000发送短信“您好!”;第2条SQL语句以7016571xxx1234号码向133
14、05710000发送短信“Hello!”;第3条SQL语句以7016571xxx6789号码向13305710000发送短信“您好”,发送时间定在2004年2月2日18点0分。l insert into sms_send(id,mobile,content) values (sms_seq.nextval,13305710000,您好!)l insert into sms_send(id,sms_number,mobile,content) values (sms_seq.nextval, 1234, 13305710000, 您好!)l insert into sms_send (id, s
15、ms_number, mobile, content, plan_time) values (sms_seq. nextval, 6789, 13305710000, 您好!,2004-02-02 18:00:00)注意:定时发送以数据库接口服务器的时间作为基准,请务必将数据库服务器的系统时间调整为正确的时间! 查询已发送的短信状态:当短信被发送以后,接口服务程序将根据短信的当前状态实时更新sms_send表中相应记录的result字段,所以只要对该表进行查询,即可得知短信当前的状态。submit_time、send_time、recv_time三个字段配合result字段使用,表示短信到达各
16、步骤的时间:l result字段的初始状态为0,当短信被递交到浙江联通行业短信平台接口服务器,并且递交成功的时候,该字段将被设置为1,这时submit_time字段被更新为短信递交到服务器的时间。l 如果短信被接口服务器拒绝(一般原因为发送的号码不合法、或者公司帐号欠费),那么result字段将被设置为a。l 当短信从浙江联通行业短信平台接口服务器递交到短信网关,并且已经递交成功的时候,那么result字段将被设置为2,这时send_time字段被更新为短信递交到网关的时间。l 如果短信被网关拒绝(一般原因为发送号码不合法,或者扣费号码中已经没有余额等),那么result字段将被设置为b。l
17、当用户手机收到短信后,result字段将被更新为3,这时recv_time字段将被更新为用户手机收到短信的时间。l 如果由于用户手机关机或者不在服务区,短信中心经过多次重试仍无法找到用户,那么result字段将被更新为c。 查询接收到的短信:系统从用户手机接收的短信将被保存在sms_receive表中,假设13305710000号码向7016571xxx12345号码发送了一条短信,那么sms_receive表中将增加一条记录,其中的mobile字段的内容为“13305710000”,sms_number字段的内容为扩展号码“12345”,content字段的内容为短信内容。2.2使用SQLS
18、erver数据库在使用SQLServer数据库的情况下,最好为短信接口表单独创建一个数据库,并为其单独分配一个用户,以便和其他短信应用系统使用的数据表隔离。2.2.1数据字典下面是短信接口表的初始化脚本,各字段的取值和含义已经包含在字段的注释中:- - 数据库版本表- ! 请不要增加、删除或者修改本表的记录 !- - drop table sms_ver- gocreate table sms_ver ( verint)goinsert into sms_ver values(1)go- - 短信接收表- create table sms_receive ( idnumeric(18,0) i
19、dentity (1,1)not for replication not null,- 唯一id resultchar(1) not null default (0),- - 供用户程序使用,表示记录是否被处理,缺省为0 mobilevarchar(21) not null,- - 发送方的手机号码 recv_timevarchar(20),- - 短信接收时间 sms_numbervarchar(10),- - 扩展短号(用户发送的号码去除公司短号后的扩展部分) contentvarchar(160)- - 接收的短信内容)goalter table sms_receive add cons
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浙江 联通 行业 应用 短信 平台 二次开发 接口 使用手册

链接地址:https://www.31ppt.com/p-4153409.html