第一章 移动信息管理系统介绍1.1.简介“移动信息管理系统”(以下简称短信平台)是自主研发的SMS综合管理系统,用于实现企业终端客户面向特定会员用户进行快捷高效短信发送及查询管理。本文档为企业终端客户使用API接口,与本系统进行对接而完成。 作为专注于无线增值服务的SP商,我们坚决抵制垃圾短信并严禁将短信资源转租或转售给任何第三方,友情提醒通过我们接口发送的信息仅限发给您的最终授权会员用户。我们承诺永不发展代理商,只为最优质企业全心提供最具价值的资源与服务!为了确保您的稳定高效使用并维护信息发送的良好秩序,请您与我们一起努力,感谢您的理解与配合。 1.2.缩略语清单客户端:本文中特指短信平台企业终端客户端。 服务端:本文中特指短信平台企业网关服务端。 1.3.修订时间2012-11-30 完成基本内容。 第二章 API接口说明2.1.(HTTP方式)接口1、普通短信提交地址:http://192.168.0.188:8800/sendSms.do send接口提交方式:GET/POST 功能:发送短信 短信签名(重要):如果用户发送的内容最后一个字符为 “】”,默认为用户已经增加了签名,否则自动追加用户在平台中设置的签名到发送的内容最后。 格式:“【签名】”,系统自动追加的签名中,会自动增加“【】”,内容为用户设置的内容。 输入参数 | 描述 | 提交url(30分钟不可重复提交) | http://192.168.0.188:8800/sendXSms.do | 提交url(可重复提交) | http://192.168.0.188:8800/sendSms.do | 国际通道地址(加区号只支持12位的手机号) | http://192.168.0.188:8800/sendGSms.do | username | 用户名(必填) | password | 密码(必填MD5加密,小写) | mobile | 手机号,多个手机号为用半角 , 分开,如13899999999,13688888888(最多2000个,必填) | content | 发送内容(必填) | dstime | 定时时间,为空时表示立即发送(选填) 格式:20130202120212 | productid | 产品id(必填) | xh | 扩展的小号,必须为数字,没有请留空 | seed | 绝密(默认为空或不带此参数,如有值:YYYYMMDD HHMISS,例如:20130806102030) |
样例: http://192.168.0.188:8800/sendXSms.do?username=haha&password=888888&mobile=13900000000&content=test&dstime=&productid=61341&xh= 其中:content参数,采用下列方式处理: // String content = "汉字"; // content = URLEncoder.encode(content, "UTF-8"); 返回参数 | 描述 | -1 | 用户名或者密码不正确或用户禁用 | 1,xxxxxxxx | 1代表发送短信成功,xxxxxxxx代表消息编号 | 0,xxxxxxxx | 0发送短信失败,xxxxxxxx代表消息编号 | 2 | 余额不够或扣费错误 | 3 | 扣费失败异常(请联系客服) | 5,xxxxxxxx | 短信定时成功, xxxxxxxx代表消息编号 | 6 | 有效号码为空 | 7 | 短信内容为空 | 8 | 无签名,必须,格式:【签名】 | 9 | 没有Url提交权限 | 10 | 发送号码过多,最多支持2000个号码 | 11 | 产品ID异常或产品禁用 | 12 | 参数异常 | 13 | 30分种重复提交 | 14 | 用户名或密码不正确,产品余额为0,禁止提交,联系客服 | 15 | Ip验证失败 | 19 | 短信内容过长,最多支持500个 | 20 | 定时时间不正确:格式:20130202120212(14位数字) |
2、变量短信一般变量提交地址:http://192.168.0.188:8800/sendManySms.do 变量短信打包提交地址:http://192.168.0.188:8800/sendManySmsPack.do(如果一个连接里所有的内容都一样,则会自动进行打包,打包后相当于群发) send接口提交方式:POST(get不支持大数据) 功能:发送短信 短信签名(重要):如果用户发送的内容最后一个字符为 “】”,默认为用户已经增加了签名,否则自动追加用户在平台中设置的签名到发送的内容最后。 格式:“【签名】”,系统自动追加的签名中,会自动增加“【】”,内容为用户设置的内容。变量短信只支持单条多任务发送,不支持群发多任务发送 输入参数 | 描述 | username | 用户名(必填) | password | 密码(必填MD5加密,小写) | content | 发送内容多个内容用※分开,如短信1【签名】※短信2【签名】(必填) | mobile | 手机号,多个手机号为用半角 , 分开,如13899999999,13688888888(最多200个,必填) | productid | 产品id(必填) | dstime | 定时时间,为空时表示立即发送(选填) 格式:20130202120212 | xh | 扩展的小号,必须为数字,没有请留空 |
样例: http://192.168.0.188:8800/sendManySms.do?username=haha&password=888888&mobile=13900000000,13900000000&content=短信1【签名】※短信2【签名】&dstime=&productid=61341&xh= 手机号与内容的条数必须相同,否则会发送失败。 其中:content参数,采用下列方式处理: // String content = "汉字"; // content = URLEncoder.encode(content, "UTF-8"); 返回参数 | 描述 | -1 | 用户名或者密码不正确 | 1,xxxxxxxx | 1代表发送短信成功,xxxxxxxx代表消息编号 | 0,xxxxxxxx | 0发送短信失败,xxxxxxxx代表消息编号 | 2 | 余额不够 | 3 | 扣费失败(请联系客服) | 5,xxxxxxxx | 短信定时成功, xxxxxxxx代表消息编号 | 6 | 有效号码为空 | 7 | 短信内容为空 | 8 | 无签名,必须,格式:【签名】 | 9 | 没有Url提交权限 | 10 | 发送号码过多,最多支持200个号码 | 11 | 产品ID异常 | 12 | 参数异常 | 13 | 30分种重复提交 | 15 | Ip验证失败 | 19 | 短信内容过长,最多支持500个 | 20 | 定时时间不正确:格式:20130202120212(14位数字) |
3、余额查询提交地址:http://192.168.0.188:8800/balance.do 余额接口提交方式:GET 功能:查询短信剩余数量 输入参数 | 描述 | username | 用户名 | password | 密码 |
样例: http://192.168.0.188:8800/balance.do?username=userccc&password=XXXX&productid=677678 返回参数 | 描述 | 200 | 200代表短信的数量 | -1 | 用户名或者密码不正确 | -2 | 没有url提交权限 | -3 | 用户不存在或用户停用 |
4、状态报告状态报告接口提交方式:GET 功能:ZT平台会实时把发送的消息报告推送到用户配置的下行地址中。用户获取网关发送的数据,接收成功返回0,接收不到数据返回非0 推送后用户方没有返回值,ZT平台默认推送三次后,不再推送 方式1:单条推送方式 此方式需要用户在ZT平台填写下行地址 例如: 我平台每次返回1组内容,客户被动接收状态报告并解析之 推送URL格式: msgid=xxxxx&mobile=xxxxxx&status=xxxxxxx 返回参数 | 消息报告参数描述 | msgid | 推送的消息id | mobile | 推送的手机 | status | 返回的状态。1代表成功,非1代表失败 | 0 | 返回值。用户接收成功需要向ZT平台返回0 |
方式2:批量推送方式(客服设置)间隔5秒/次 此方式需要用户在ZT平台填写下行地址 我平台每次返回50(最大)组内容,客户被动接收状态报告并解析之 推送URL格式:例如: Param参数规则如下:消息ID,手机号码,状态,时间; 消息ID,手机号码,状态,时间 说明:每一组中由消息ID,手机号码,状态,时间组成,并由英文,分开,每一组之间又由英文;分开 返回参数 | 消息报告参数描述 | param | 包括推送的消息id | 包括推送的手机 | 包括返回的状态。1代表成功,非1代表失败 | 包括状态时间,格式为:yyyyMMddHHmmss | 0 | 返回值。用户接收成功需要向ZT平台返回0 |
方式3:主动提取状态报告 (客服设置) 我平台每次返回50(最大)组内容,客户被动接收状态报告并解析之,时间间隔最好定为1分钟左右,输入参数包括用户名和密码 提取URL地址:例如:http://192.168.0.188:8800/batchreportget.do? username=xxx& password=xxxx 说明:每一组中由消息ID,手机号码,状态,时间组成,并由英文,分开,每一组之间又由英文;分开
返回参数 | 消息报告参数描述 | 非空字符串 | 包括推送的消息id | 包括推送的手机 | 包括返回的状态。1代表成功,非1代表失败 | 包括状态时间,格式为:yyyy-MM-dd HH:mm:ss | -3 | 异常情况 | -2 | 没有可取数据 | -1 | 用户名或密码错误 |
5、回复内容接口回复接口提交方式:GET 功能:获取上行内容,ZT平台会自动实时的推送用户手机回复的内容到上行地址中。推送后用户方没有返回值,ZT平台默认推送三次后,不再推送 方式1:推送方式 此方式需要在ZT短信平台中填写上行地址 例如: 推送URL格式: mobile=xxxx&content=xxxxx&msgid=xxxxx&xh=xxxxx; 返回参数 | 回复内容参数描述 | msgid | 回复的消息id | mobile | 回复的手机号码 | content | 手机回复的内容 | xh | 推送的用户小号 | 0 | 返回值。用户接收成功需要向ZT平台返回0 |
一次推送一个号码,mobile指手机号,content指回复的内容,msgid指上行对应的msgid,xh代表扩展号码。 用户接收回复内容成功,需要返回 ZT平台0。 回复内容接口推送的内容样例:13012345678,内容,12121209876512,1023; 方式2:主动提取 时间间隔最好定为1分钟左右,此方式需要在ZT短信平台中填写上行地址,地址一定要标记为:initiative-grab-reply 输入参数包括用户名和密码,提取地址:http://192.168.0.188:8800/ batchreplyget.do? username=xxx& password=xxxx 说明:返回格式为:手机号,内容,消息ID,小号,他们之间以[r]分开,分组之间以[p]分开,最大返回50组内容。,只能取一次 返回参数 | 回复内容参数描述 | 非空内容 | 格式说明:手机号[r]内容[r]消息ID[r]小号[p] 手机号[r]内容[r]消息ID[r]小号 | -3 | 异常情况 | -2 | 没有可取数据 | -1 | 用户名或密码错误 |
、发送量数据报表提取查询地址:提交地址:http://192.168.0.188:8800/submitStatistics.do 功能说明: 主要是查询用户发送的短信条数数据,根据时间查询(报表系统已经生成,所以不会变化,数据非当天的),查询数据包含用户自己及下面的子用户或终端 输入参数: 输入参数 | 描述 | username | 用户名 | password | 密码 | dstime | 查询日期(格式:20120202) |
输出参数: 返回参数 | 描述 | Xxx,数量 | 示例:用户名1,条数;用户名2,条数 数据之间先以,隔开,不同用户之间以;分开 | -1 | 用户名或者密码不正确 | -2 | 无查询数据 | -3 | 查询异常 |
2.2. (webservice方式)接口提交地址:192.168.0.188:8800/ztws/SendsmsWebService?wsdl 1、普通短信调用方法: sendSms(String username,String password,String oldMobile,String content,String product_number,String dstime,String xh,String repeat) 输入参数 | 描述 | username | 用户名(必填) | password | 密码(必填MD5加密,小写) | oldMobile | 手机号,多个手机号为用半角 , 分开,如13899999999,13688888888(最多2000个,必填) | content | 发送内容(必填) | product_number | 产品ID | dstime | 定时时间,为空时表示立即发送(选填) 格式:20130202120212 | xh | 扩展的小号,必须为数字,没有请留空 | repeat | 发送不可重复的短信, 1时可以重复,0不能重复 |
返回结果: 返回参数 | 描述 | -1 | 用户名或者密码不正确 | 1,xxxxxxxx | 1代表发送短信成功,xxxxxxxx代表消息编号 | 0,xxxxxxxx | 0发送短信失败,xxxxxxxx代表消息编号 | 2 | 余额不够 | 3 | 扣费失败(请联系客服) | 5,xxxxxxxx | 短信定时成功, xxxxxxxx代表消息编号 | 6 | 有效号码为空 | 7 | 短信内容为空 | 8 | 无签名,必须,格式:【签名】 | 9 | 没有Url提交权限 | 10 | 发送号码过多,最多支持2000个号码 | 11 | 产品ID异常 | 12 | 参数异常 | 13 | 30分种重复提交 | 15 | Ip验证失败 | 19 | 短信内容过长,最多支持500个 | 20 | 定时时间不正确:格式:20130202120212(14位数字) |
2、变量短信调用方法:sendChangeSms(String username,String password,String content,String mobile,String product_number,String dstime,String xh) 输入参数 | 描述 | username | 用户名(必填) | password | 密码(必填MD5加密,小写) | content | 发送内容多个内容用※分开,如短信1【签名】※短信2【签名】(必填) | mobile | 手机号,多个手机号为用半角 , 分开,如13899999999,13688888888(最多200个,必填) | product_number | 产品id(必填) | dstime | 定时时间,为空时表示立即发送(选填) 格式:20130202120212 | xh | 扩展的小号,必须为数字,没有请留空 |
返回结果: 返回参数 | 描述 | -1 | 用户名或者密码不正确 | 1,xxxxxxxx | 1代表发送短信成功,xxxxxxxx代表消息编号 | 0,xxxxxxxx | 0发送短信失败,xxxxxxxx代表消息编号 | 2 | 余额不够 | 3 | 扣费失败(请联系客服) | 5,xxxxxxxx | 短信定时成功, xxxxxxxx代表消息编号 | 6 | 有效号码为空 | 7 | 短信内容为空 | 8 | 无签名,必须,格式:【签名】 | 9 | 没有Url提交权限 | 10 | 发送号码过多,最多支持200个号码 | 11 | 产品ID异常 | 12 | 参数异常 | 13 | 30分种重复提交 | 15 | Ip验证失败 | 19 | 短信内容过长,最多支持500个 | 20 | 定时时间不正确:格式:20130202120212(14位数字) |
3、余额查询调用方法:getBalanceApi(String username, String password,String product_number) 功能:查询短信剩余数量 输入参数 | 描述 | username | 用户名 | password | 密码 | product_number | 产品ID |
查询结果 返回参数 | 描述 | 200 | 200代表短信的数量 | -1 | 用户名或者密码不正确 | -2 | 没有url提交权限 | -3 | 用户不存在或用户停用 |
4、状态报告调用方法:getBatchReport(String username, String password) 功能:批量提取状态报告 输入参数 | 描述 | username | 用户名 | password | 密码 |
我平台每次返回50(最大)组内容,客户被动接收状态报告并解析之,时间间隔最好定为1分钟左右,输入参数包括用户名和密码 说明:每一组中由消息ID,手机号码,状态,时间组成,并由英文,分开,每一组之间又由英文;分开 返回参数 | 消息报告参数描述 | 非空字符串 | 包括推送的消息id | 包括推送的手机 | 包括返回的状态。1代表成功,非1代表失败 | 包括状态时间,格式为:yyyyMMddHHmmss | -3 | 异常情况 | -2 | 没有可取数据 | -1 | 用户名或密码错误 |
5、回复内容接口调用方法:getReplyData(String username, String password) 功能:批量提取状态报告 输入参数 | 描述 | username | 用户名 | password | 密码 |
时间间隔最好定为1分钟左右,此方式需要在ZT短信平台中填写上行地址,地址一定要标记为:initiative-grab-reply 返回参数 | 回复内容参数描述 | 非空内容 | 格式说明:手机号[r]内容[r]消息ID[r]小号[p] 手机号[r]内容[r]消息ID[r]小号 | -3 | 异常情况 | -2 | 没有可取数据 | -1 | 用户名或密码错误 |
、发送量数据报表提取调用方法:getSubmitStatistics(String username,String password,String dstime) 功能说明: 主要是查询用户发送的短信条数数据,根据时间查询(报表系统已经生成,所以不会变化,数据非当天的),查询数据包含用户自己及下面的子用户或终端 输入参数: 输入参数 | 描述 | username | 用户名 | password | 密码 | dstime | 查询日期(格式:20120202) |
输出参数: 返回参数 | 描述 | Xxx,数量 | 示例:用户名1,条数;用户名2,条数 数据之间先以,隔开,不同用户之间以;分开 | -1 | 用户名或者密码不正确 | -2 | 无查询数据 | -3 | 查询异常 |
2.3.(socket方式)接口1、普通短信 提交地址:192.168.0.188:8800 端口号:2030 输入参数 | 描述 | username | 用户名(必填) | password | 密码(必填MD5加密,小写) | mobile | 手机号,多个手机号为用半角 , 分开,如13899999999,13688888888(最多2000个,必填) | content | 发送内容(必填) | dstime | 定时时间,为空时表示立即发送(选填) 格式:20130202120212 | productid | 产品id(必填) | xh | 扩展的小号(选填),必须为数字,没有请留空 | process_type | 0,普通发送,1变量发送,2查询余额信息,3取回复信息,4取状态报告信息(必填) |
返回参数 | 描述 | -1 | 用户名或者密码不正确 | 1,xxxxxxxx | 1代表发送短信成功,xxxxxxxx代表消息编号 | 0,xxxxxxxx | 0发送短信失败,xxxxxxxx代表消息编号 | 2 | 余额不够 | 3 | 扣费失败(请联系客服) | 5,xxxxxxxx | 短信定时成功, xxxxxxxx代表消息编号 | 6 | 有效号码为空 | 7 | 短信内容为空 | 8 | 无签名,必须,格式:【签名】 | 9 | 没有Url提交权限 | 10 | 发送号码过多,最多支持2000个号码 | 11 | 产品ID异常 | 12 | 参数异常 | 13 | 30分种重复提交 | 15 | Ip验证失败 | 19 | 短信内容过长,最多支持500个 | 20 | 定时时间不正确:格式:20130202120212(14位数字) |
2、变量短信输入参数 | 描述 | username | 用户名(必填) | password | 密码(必填MD5加密,小写) | content | 发送内容多个内容用※分开,如短信1【签名】※短信2【签名】(必填) | mobile | 手机号,多个手机号为用半角 , 分开,如13899999999,13688888888(最多200个,必填) | productid | 产品id(必填) | dstime | 定时时间,为空时表示立即发送(选填) 格式:20130202120212 | xh | 扩展的小号,必须为数字,没有请留空 | process_type | 0,普通发送,1变量发送,2查询余额信息,3取回复信息,4取状态报告信息(必填) |
返回参数 | 描述 | -1 | 用户名或者密码不正确 | 1,xxxxxxxx | 1代表发送短信成功,xxxxxxxx代表消息编号 | 0,xxxxxxxx | 0发送短信失败,xxxxxxxx代表消息编号 | 2 | 余额不够 | 3 | 扣费失败(请联系客服) | 5,xxxxxxxx | 短信定时成功, xxxxxxxx代表消息编号 | 6 | 有效号码为空 | 7 | 短信内容为空 | 8 | 无签名,必须,格式:【签名】 | 9 | 没有Url提交权限 | 10 | 发送号码过多,最多支持200个号码 | 11 | 产品ID异常 | 12 | 参数异常 | 13 | 30分种重复提交 | 15 | Ip验证失败 | 19 | 短信内容过长,最多支持500个 | 20 | 定时时间不正确:格式:20130202120212(14位数字) |
3、余额查询功能:查询短信剩余数量 输入参数 | 描述 | username | 用户名 | password | 密码 | productid | 产品ID | process_type | 0,普通发送,1变量发送,2查询余额信息,3取回复信息,4取状态报告信息(必填) |
查询结果 返回参数 | 描述 | 200 | 200代表短信的数量 | -1 | 用户名或者密码不正确 | -2 | 没有url提交权限 | -3 | 用户不存在或用户停用 |
4、状态报告功能:批量提取状态报告 输入参数 | 描述 | username | 用户名 | password | 密码 | process_type | 0,普通发送,1变量发送,2查询余额信息,3取回复信息,4取状态报告信息(必填) |
查询结果: 我平台每次返回50(最大)组内容,客户被动接收状态报告并解析之,时间间隔最好定为1分钟左右,输入参数包括用户名和密码 说明:每一组中由消息ID,手机号码,状态,时间组成,并由英文,分开,每一组之间又由英文;分开 返回参数 | 消息报告参数描述 | 非空字符串 | 包括推送的消息id | 包括推送的手机 | 包括返回的状态。1代表成功,非1代表失败 | 包括状态时间,格式为:yyyyMMddHHmmss | -3 | 异常情况 | -2 | 没有可取数据 | -1 | 用户名或密码错误 |
5、回复内容接口功能:批量提取回复信息 输入参数 | 描述 | username | 用户名 | password | 密码 | process_type | 0,普通发送,1变量发送,2查询余额信息,3取回复信息,4取状态报告信息(必填) |
时间间隔最好定为1分钟左右,此方式需要在ZT短信平台中填写上行地址,地址一定要标记为:initiative-grab-reply 返回参数 | 回复内容参数描述 | 非空内容 | 格式说明:手机号[r]内容[r]消息ID[r]小号[p] 手机号[r]内容[r]消息ID[r]小号 | -3 | 异常情况 | -2 | 没有可取数据 | -1 | 用户名或密码错误 |
、发送量数据报表提取提交地址:192.168.0.188:8800 端口号:2030 功能说明: 主要是查询用户发送的短信条数数据,根据时间查询(报表系统已经生成,所以不会变化,数据非当天的),查询数据包含用户自己及下面的子用户或终端 输入参数: 输入参数 | 描述 | username | 用户名 | password | 密码 | dstime | 查询日期(格式:20120202) | process_type | 必填,此处填5 |
|
输出参数: 返回参数 | 描述 | Xxx,数量 | 示例:用户名1,条数;用户名2,条数 数据之间先以,隔开,不同用户之间以;分开 | -1 | 用户名或者密码不正确 | -2 | 无查询数据 | -3 | 查询异常 |
注:详细客户端DEMO请联系客服索取。 第三章 环境要求3.1.网络拓扑图 3.2.环境要求本节将详细说明正确发送/接收短信的前提条件: 确保企业服务器端可以通过http上网 确保企业服务器端有固定IP, 如需要,可对企业方的IP进行鉴权
信息发布:广州名易软件有限公司 http://www.myidp.net
|