1、1短信平台接口说明Version 3.62目录1 普通短信发送 41.1 短信提交地址 41.2 参数定义 41.3 短信提交响应 51.3.1 格式说明 51.3.2 示例 51.3.3 响应状态值说明 61.4 注意事项 61.5 短信发送例子 72 变量短信发送 72.1 系统提交 URL 地址 72.2 参数定义 72.3 提交响应 82.3.1 提交成功 82.3.2 提交失败 92.3.3 响应状态值说明 92.4 示例 93 短信包发送 93.1 系统提交 URL 地址 93.2 参数定义 103.3 提交响应 103.3.1 提交成功 103.3.2 提交失败 113.3.3
2、响应状态值说明 113.4 示例 114 状态报告推送 114.1 参数定义 124.2 状态报告值 124.3 示例 125 短信接收 135.1 参数定义 135.2 示例 136 额度查询接口 136.1 接口地址 136.2 参数定义 136.3 提交响应 146.4 提交响应值 146.5 示例 147 附录 143版本修订历史项目 日期 修订内容 备注1 2012-09-27 修订章节结构,整理章节逻辑2 2012-11-25 增加提交短信的参数product 的定义及返回值的增加。1.1 及 1.2.3 和 1.43 2013-01-10 增加扩展码 1.14 2013-01-1
3、0 增加变量短信提交 调整章节结构,增加调整后的章节 25 2013-01-31 5.1,增加 MO 目的号码6 2013-01-31 增加 3,包发送方式7 2013-03-03 增加查询额度的接口 调整章节结构,增加调整后章节 6,原来章节 6 及其后依次增加4本文档主要定了短信平台对用户开放的主要接口和定义。1 普通短信发送用户通过 HTTP 的 POST 方式提交短信发送请求。短信发送接口,区分为短信单发和短信群发两个接口。1.1短信提交地址短信提交分为单发和群发(账户是否具有单发和群发的功能需要管理员进行功能的开通) 。单发只能提交单个手机号码,群发可以提交不超过 50000 个手机
4、号码,每个号码用英文逗号间隔。区别单发和群发主要在于发送的接口 URL 地址入口不同。单发的 URL 地址为:http:/IP:PORT/msg/HttpSendSM,群发的 URL 地址为:http:/IP:PORT/msg/HttpBatchSendSM。注:其中 IP:PORT 为服务部署的地址和端口。1.2参数定义序号 参数 说明1 account 必填参数。用户账号2 pswd 必填参数。用户密码3 mobile 必填参数。合法的手机号码,号码间用英文逗号分隔4 msg 必填参数。短信内容,短信内容长度不能超过 585个字符。使用 URL 方式编码为 UTF-8 格式。短信内容超过
5、70 个字符(企信通是 60 个字符)时,会被拆分成多条,然后以长短信的格式发送。55 needstatus 必填参数。是否需要状态报告,取值 true 或false,true,表明需要状态报告;false 不需要状态报告6 product 可选参数。用户订购的产品 id,不填写(针对老用户)系统采用用户的默认产品,用户订购多个产品时必填,否则会发生计费错误。7 extno 可选参数,扩展码,用户定义扩展码,3 位1.3短信提交响应用户短信通过 http 请求提交到服务器后,服务器返回响应码,响应码的格式如下:1.3.1格式说明短信提交响应分为两行,第一行为响应时间和状态,第二行为服务器给出提
6、交 msgid。无论发送的号码是多少,一个发送请求只返回一个 msgid,如果响应的状态不是“0” ,则没有 msgid即第二行数据。 (每行以换行符(0x0a,即n)分割)1.3.2示例 提交成功resptime,respstatusmsgid20110725160412,012345678901006响应时间为 20110725160412,响应状态为 0 表明那个成功提交到服务器;1234567890100 为返回的 msgid,这个工状态报告匹配时使用。 提交失败本示例表明用户提交失败,返回错误码为 101,服务器端并未返回 msgid。1.3.3响应状态值说明代码 说明0 提交成功1
7、01 无此用户102 密码错103 提交过快(提交速度超过流速限制)104 系统忙(因平台侧原因,暂时无法处理提交的短信)105 敏感短信(短信内容包含敏感词)106 消息长度错(536 或50000 或200 或=0)109 无发送额度(该用户可用短信数已使用完)110 不在发送时间内111 超出该账户当月发送额度限制112 无此产品,用户没有订购该产品113 extno 格式错(非数字或者长度不对)1.4注意事项用户群发短信如果有审核的限制,则客户的短信必须经过20110725160412,1017管理人员的审核,审核通过后才能被提交到行业网关进行短信实际发送。用户群发短信必须满足手机号码
8、最低个数的限制,低于系统设定的群发最小手机号码数,则该提交请求会被拒绝,响应码为 108。1.5短信发送例子 短信单发http:/192.168.168.168/msg/HttpSendSM?account=11111113500210000,王先生,2013-01-15表明提交了两个变量组,其中手机号码分别为:13800210000 和 13500210000。模板变量分别为:李先生,2013-01-01 和王先生,2013-01-15格式不符的参数,系统自动过滤掉。5 needstatus 是否需要状态报告,取值 true 或 false,true,表明需要状态报告;false 不需要状态
9、报告6 product 用户订购的产品 id,不填写(针对老用户)系统采用用户的默认产品。7 extno 可选参数,扩展码,用户定义扩展码,3 位2.3提交响应2.3.1提交成功20110725160412,0,10,112345678901009响应时间为 20110725160412,响应状态为 0 表明那个成功提交到服务器,参数组个数为 10 表明提交参数 params 中格式正确的条数为 10 条, 发送包失败个数为 1 表明提交参数 msg 中格式错误的条数为 1 条;1234567890100 为返回的 msgid,这个供状态报告匹配时使用。2.3.2提交失败本示例表明用户提交失败
10、,返回错误码为 101,服务器端并未返回 msgid。2.3.3响应状态值说明响应的值在 1.2.3 的基础上增加:代码 说明114 可用参数组个数错误(小于最小设定值或者大于 1000)2.4示例http:/ 118.126.4.66/msg/HttpVarSM?account=11111113500210000,王先生,2013-01-15&needstatus=true&product=9999920110725160412,101103 短信包发送用户通过 HTTP 的 POST 方式提交短信发送请求。3.1系统提交 URL 地址http:/IP:PORT/msg/HttpPkgSM3
11、.2参数定义序号 参数 说明1 account 用户账号2 pswd 用户密码3 msg 发送包内容,格式为:mobile|content ,内容编码为 utf-8 格式。4 5 msg 第 n 个短信号码及内容,n=10006 needstatus 是否需要状态报告,取值 true 或 false,true,表明需要状态报告;false 不需要状态报告7 product 用户订购的产品 id,不填写(针对老用户)系统采用用户的默认产品。8 extno 可选参数,扩展码,用户定义扩展码,3 位3.3提交响应3.3.1提交成功响应时间为 20110725160412,响应状态为 0 表明那个成功
12、提交到服务器,发送包成功个数为 10 表明提交参数 msg 中格式正20110725160412,0,10,1123456789010011确的条数为 10 条, 发送包失败个数为 1 表明提交参数 msg 中格式错误的条数为 1 条;1234567890100 为返回的 msgid,这个供状态报告匹配时使用。3.3.2提交失败本示例表明用户提交失败,返回错误码为 101,服务器端并未返回 msgid。3.3.3响应状态值说明响应的值在 1.2.3 的基础上增加:代码 说明114 可用参数组个数错误(小于最小该用户群发设定值或者大于 1000)3.4示例http:/192.168.168.16
13、8/msg/HttpPkgSM?account=111111&pswd=123456&msg=13800000001|测试短信 1&msg=13800000002|测试短信 2&msg=13800000003|测试短信 3&needstatus=true&product=99999&extno=1234 状态报告推送如果管理员设置用户账户需要状态报告,并且也配置了账户20110725160412,10112的状态报告接收地址,则用户可以接收到其发送短信的状态报告。用户侧启动一个 HTTP 服务用于接收状态报告。4.1参数定义序号 参数 说明1 receiver 接收状态报告验证的用户名(不是账
14、户名) ,是按照用户要求配置的名称,可以为空2 pswd 接收状态报告验证的密码,可以为空3 msgid 提交短信时平台返回的 msgid,参见 1.24 reportTime 格式 YYMMDDhhmm,其中 YY=年份的最后两位(00-99) ,MM=月份(01-12) ,DD=日(01-31) ,hh=小时(00-23) ,mm=分钟(00-59)5 mobile 单一的手机号码6 status 状态报告数值4.2状态报告值状态报告的值即,status 后面的数据,如下状态值(字符串) 说明DELIVRD 短消息转发成功EXPIRED 短消息超过有效期UNDELIV 短消息是不可达的UN
15、KNOWN 未知短消息状态REJECTD 短消息被短信中心拒绝DTBLACK 目的号码是黑名单号码ERR:104 系统忙REJECT 审核驳回其他 网关内部状态4.3示例http:/pushUrl?receiver=admin&pswd=12345&msgid=12345&reportTime=1012241002&mobile=13900210021&status=DELIVRD其中,pushUrl 为用户启动的服务地址。135 短信接收5.1参数定义序号 参数 说明1 receiver 接收信息验证的用户名(不是账户名) ,是按照用户要求配置的名称,可以为空2 pswd 接收信息服务需验证
16、的密码,可以为空3 moTime 格式 YYMMDDhhmm,其中 YY=年份的最后两位(00-99) ,MM=月份(01-12) ,DD=日(01-31) ,hh=小时(00-23) ,mm=分钟(00-59)4 mobile 单一的手机号码5 msg MO 短信内容,文字内容使用 UTF-8 编码6 destcode 用户上行的目的号码5.2示例http:/pushMoUrl?receiver=admin&pswd=12345&moTime=1208212205&mobile=13800210021&destcode=1065751600001&msg=hello其中,pushUrl 为用
17、户启动的服务地址。6 额度查询接口6.1接口地址http:/IP:PORT/msg/QueryBalance6.2参数定义序号 参数 说明1 account 必填参数。用户账号2 pswd 必填参数。用户密码146.3提交响应20130303180000,01234567,10001234531,2000第一行显示返回额度时的时间,提交响应值。第二行开始,每一行显示一个产品 ID 及其额度,有多少个产品显示多少行。6.4提交响应值代码 说明0 成功101 无此用户102 密码错6.5示例http:/192.168.168.168/msg/QueryBalance?account=111111&pswd=1234567 附录