国际web短信软件平台开发定制接口通道分类|移讯云短信系统
平台外放接口介绍
支持接入CMPP接口,支持SMPP通道接入,支持外放CMPP接口(其他平台可以通过CMPP接入我平台),支持HTTP API JSON 接口,支持HTTP API 回执接口,支持验证码生成接口,支持变量接口
短信服务端号码通道分类
短信后开发按照要求有个功能是发送分流。就是当短信客户端提交过来的短信号码包含移动、联通、电信时,系统要实现不通类型的号码进入不同的发送通道端口。
遇到数据量过大时,如果只是通过网页B/S的结构无法实现大量的数据处理,并且客户要等待数据处理完毕才能关闭发送页面。大大降低了短信客户端客户的体验。用户会觉得提交过程缓慢。此时就用到了短信服务程序来进行处理分流。
短信服务端收到客户提交的短信后,系统会进行数据分类,然后根据后台设置好的不同类型号码的分流通道进行分流处理,100万条号码的处理速度通过多现成压缩到了5秒左右。
此接口为发送接口可直接通过pos直接调用 直接发送,源码短信平台搭建平台时 包含此功能,在客户端中可查看API接口文档
接口名称:自定义短信发送接口
接口方式:POST
接口返回类型:JSON
接口地址:http://平台地址/send/send_api.aspx
接口参数参数作用是否必填备注
sms_user 接口账号 必填 客户端登陆账号
pass 账号密码 必填 用户账号对应的密码
send_phone 发送号码 必填 发信发送的目的号码.多个号码之间用半角逗号隔开 (每包最多20000个)
message 发送内容 必填 短信的内容
tongdao 通道名称 必填 分配的通道名称
接口提交成功返回值格式
提交返回成功格式:{"status":0,"msgnumber":"3114477723111099"}
返回值字段说明
msgnumber:此次提交批次号用于接收状态使用
status值是0代表提交成功
status值是1代表提交号码超出3000个号码,每次提交每包不能超出3000条
status值是2代表发送账号余额不足
status值是3代表账号和密码错误
status值是4代表参数错误
status值是5代表通道不存在
通道返回状态服务程序
经常做接口的开发人员都知道不通的接口供应商提供的接口返回格式和字段都不一样,我们需要为不一样格式的接口重写接口的代码来适应相应的接口。这种做法就很麻烦。
我们为了避免这种问题的出现,我们将通道返回程序修改成了统一规范。
我们不用原始的数据解析方法,采用了字符串函数来操作。
每个接口返回的数据无论是XML还是JSON 都会有开始节点 和结束节点,每组信息都会一个分割。每组信息中的每个字段一会有相应分割 。
首先先测试下通道返回数据的格式然后找到上述所说的相关分隔符,将分隔符通过短信后台进行输入记录设置。
服务程序获取到状态时会将解析后返回的数据,将数据中不需要的字符全部清除,将返回的字段分割符替换成换行(\r\n)。然后把数据列表化一行一个 然后根据需要获取到需要的字段数据即可
通常需要获取到的状态数据是手机号,返回状态值(此状态值和发送时获取到的通道状态值是匹配的)。获取到这些数据后进行数据库匹配更新相应数据即可反馈到客户端和后台。
通道路由功能介绍
支持地区通道分流,支持关键字,关键词通道分流,支持白名单独立通道,支持全网通道分流,支持通道可发地区设置,通道路由分组,用户通道分组设置,可通后台添加模板场景和模板类型,支持变量模板
这里先介绍下客户的定制需求,稍候放出开发构架和开发思路
我们根据市场需要,开发了一套可以接入国际通道的短信系统。
客户对短信平台系统开发的定制要求:
1:客户端支持英文和中文切换
2:客户端发送自定义短信时,客户必须可以自行选择通道。
3:客户选择通道时,必须已列表形式。通道选择列表时必须有通道名称(通道名称必须能在后台进行设置),通道所属国家的国旗图标,通道余额
4:客户选择通道后,可通过此通道发出
5:每个通道的可用条数必须是独立的。
6:界面必须是已国外形式出现。不能使用模板页面,不能使用中规中矩的页面
7:手机访问要自适应客户端和后台
8:必须能接入SMPP通道,必须实时返回每个号码的状态,中文状态,通道真正状态,通道批次号和系统自带批次号
9:日志报表必须能区分号码归属地和运营商
10:必须支持对外HTTP api接口,方便其他软件对接平台系统
11:客户端首页必须显示 服务器状态和SMPP服务程序是否正常的状态。要实时更新
12:后台必须能停用客户通道,停用后客户不能在发送短信时不能再次使用
13:预留模块可进行升级和二次短信开发和搭建。
关于客户通道充值
通过后台给客户分配通道后,必须给客户的通道充值 才可进行发送。不通道 不通条数。
例如给某个客户分配两个通道 A通道和B通道 然后点击用户管理中的充值 给这个客户两个不同的通道进行充值 例如给A通道充值1000条 B通道充值2000条
那么当客户登录后点击短信发送 选择不同通道时 显示的可用条数不一样。
对短信平台定制的调整
根据客户要求我们修改了如下功能
1:全新的页面。
2:导入了号码归属地数据库。
3:修改了数据库表,用来分配客户端通道和不通通道不通条数。
4:增加了通道图片国旗显示。
5:服务程序修改了状态数据返回值和数据成功失败未知条数整理。
6:修改了短信平台服务程序中的回执速度和发送提交速度。
7:修改了界面手机自适应效果,杜绝以前手机打开不能适应手机、显示不全、手机显示跑位问题。
8:在首页显示实时更新服务器状态是否正常。
短信平台源码搭建的代码展示
发送服务程序
发送服务程序是我们写的一个24小时运行的EXE程序,通过此服务程序来进行短信的发送。
发送服务程序获取ACCESS数据库中相关的临时发送数据,然后进行数据参数拼接。
系统先获取当前要发送的短信的发送类型和通道类型,然后系统会调用不同的方法。
例如发送类型是POST通道类型是XML系统则会调用xml的POST方法进行短信的发送,并且通过相应的方法进行数据解析。