快速对接第三方接口--短信接口

第一章 短信发送接口
1.1 请求地址
请求地址是客户接口程序调用时请求的url地址,采用的是https post 接口,地址是
http://sh2.ipyy.com/sms.aspx 对应UTF-8
http://sh2.ipyy.com/smsGBK.aspx 对应GB2312
http://sh2.ipyy.com/smsJson.aspx 对应UTF-8(返回值为json格式)
http://sh2.ipyy.com/ensms.ashx 对应UTF-8(加密传输,使用json)//需要填写userid
入口地址一般不会发生变化,当发生变化的时候,会通知接口用户
1.2参数说明
参数名称 含义 说明
userid 企业id 企业ID(不验证)
account 发送用户帐号 用户帐号,由系统管理员
password 发送接口密码 用md5加密方式,md5采用32位大写
如abc123加密后为
E99A18C428CB38D5F260853678922E03
mobile 全部被叫号码 短信发送的目的号码.多个号码之间用半角逗号隔开
content 发送内容 短信的内容,内容需要UTF-8编码,提交内容格式:内容+【签名】。签名是公司的名字或者公司项目名称。示例:您的验证码:1439【腾飞】。【】是签名的标识符。请按照正规的格式提交内容测试,请用正规内容下发,最好不要当成是测试,就当是正式使用在给自己的客户发信息,签名字数3-8个字
sendTime 定时发送时间 为空表示立即发送,定时发送格式2018-02-02 09:08:10(可选)
action 发送任务命令 设置为固定的:send
extno 扩展子号 请先询问配置的通道是否支持扩展子号,如果不支持,请填空。子号只能为数字,且最多5位数。(可选)
例如:
http://sh2.ipyy.com/sms.aspx?action=send&userid=&account=账号&password=密码&mobile=15023239810,13527576163&content=内容&sendTime=&extno=
1.3返回值
在接收到客户端发送的http请求后,返回以xml的方式返回处理结果。格式为:

status ---------- 返回状态值:成功返回Success 失败返回:Fail message ---------- 相关的错误描述 remainpoint ---------- 返回余额 taskID ----------- 返回本次任务的序列ID successCounts --成功短信数:当成功后返回提交成功短信数 1.4 Json返回值 {"returnstatus":"Success", ---------- 返回状态值:成功返回Success 失败返回:Fail "message":"操作成功",---------- 相关的错误描述 "remainpoint":"-4",----------- 返回余额 "taskID":"1504080852350206",----------- 返回本次任务的序列ID "successCounts":"1"}---------------成功短信数:当提交成功后返回的短信数 1.5 加密传输

参数名称 含义 说明
UserId 企业id 数字类型,由供应商提供。
Text64 编码后的参数 详见下解

Text64的生成方法:
1.首先构造一个json串(包含发送的具体参数)。
Json的结构如下:
属性名称 含义 说明
UserName 帐户名称 字符串类型,由供应商提供。
Stamp 时间戳 格式为MMddHHmmss
误差不超过5分钟。
Secret 认证密文 生成方式
Md5(password+stamp)
Md5为标准32位,大写
Password由供应商提供。
Stamp为上面的字段。
Moblie 手机号码 多个用英文逗号分开。
Text 短信的内容
Ext 扩展号 (可选项)纯数字组成,如果没有,请留空
SendTime 定时时间 (可选项)格式为yyyy-MM-dd HH:mm:ss
非定时请留空
示例:
{“UserName”:“test”,“Secret”:“2A8D628159B0D4D3D4D58A3EB17F3082”,“Stamp”:“0414174715”,“Moblie”:“15510331875”,“Text”:“我的验证码是:7890。【奥创时代】”,“Ext”:"",“SendTime”:""}
2.将json串用utf8转为字节数组。
上边的json转换后的结果:
7B 22 55 73 65 72 4E 61 6D 65 22 3A 22 74 65 73 74 22 2C 22 53 65 63 72 65 74 22 3A 22 32 41 38 44 36 32 38 31 35 39 42 30 44 34 44 33 44 34 44 35 38 41 33 45 42 31 37 46 33 30 38 32 22 2C 22 53 74 61 6D 70 22 3A 22 30 34 31 34 31 37 34 37 31 35 22 2C 22 4D 6F 62 6C 69 65 22 3A 22 31 35 35 31 30 33 33 31 38 37 35 22 2C 22 54 65 78 74 22 3A 22 E6 88 91 E7 9A 84 E9 AA 8C E8 AF 81 E7 A0 81 E6 98 AF EF BC 9A 37 38 39 30 E3 80 82 E3 80 90 E5 A5 A5 E5 88 9B E6 97 B6 E4 BB A3 E3 80 91 22 2C 22 45 78 74 22 3A 22 22 2C 22 53 65 6E 64 54 69 6D 65 22 3A 22 22 7D
3.将字节数组,用des加密。
des使用 CBC模式。Padding为PKCS7。
Key 的生成方式,将Password转为字节数组,取前8位(不足8位,右侧补字节0)
IV与key相同。
上面的字节数组加密后的结果:
Password为test,生成的key为:74 65 73 74 00 00 00 00。
D0 3A 8A 1A 6F 4C 5A 7B 05 33 6C 25 60 45 BA E5 55 F2 94 1C 49 18 18 AE 67 33 F9 75 3A 75 00 B7 4A ED 06 93 83 1D 1C 47 91 9F B6 49 E3 88 D2 41 39 DE 3A B5 D2 69 FB A2 77 39 80 28 BA 41 01 38 A9 5F B0 4C 53 68 56 02 ED 7E 75 E0 FC 8B 0B E3 6B C2 10 CB 29 83 AF 14 06 FB 80 1A 3E 76 A9 2C 96 F5 49 92 5C F8 AA 6E FF 81 41 EB 1C 04 F6 77 B8 44 71 0C 61 0C C0 FE 22 3F 0D 23 2D 64 BC 7A 94 DE 7A 19 4E A8 E5 0B 53 DA 68 56 32 EB 38 9F 06 BE 4D 0F E5 78 50 AD 31 33 BB 1C 17 F6 AF 7D 52 96 FF 49 35 EA AA 95 CC 30 C9 A1 C4 64 4F 3D 23 AA FB 49 61 FA 35 96 2B 88 DB E8 76 7D 19 0A
4.将加密后的字节数组用base64方式转为字符串。即为Text64的值。
上面加密字节生成的结果:
0DqKGm9MWnsFM2wlYEW65VXylBxJGBiuZzP5dTp1ALdK7QaTgx0cR5GftknjiNJBOd46tdJp+6J3OYAoukEBOKlfsExTaFYC7X514PyLC+NrwhDLKYOvFAb7gBo+dqkslvVJklz4qm7/gUHrHAT2d7hEcQxhDMD+Ij8NIy1kvHqU3noZTqjlC1PaaFYy6zifBr5ND+V4UK0xM7scF/avfVKW/0k16qqVzDDJocRkTz0jqvtJYfo1liuI2+h2fRkK
在传输此值时,请使用urlencode

返回结果:
{"StatusCode":1,"Description":"操作成功","MsgId":"1504141655440332","Amount":-11,"SuccessCounts":1,"Errors":[]}

参数名称 含义 说明
StatusCode 发送的状态代码 数字类型,1表示成功,其它为失败,参见最后的错误代码表。
Description 发送说明 发送结果状态操作说明
MsgId 任务ID 提交短信的任务批次
Amount 当前余额 当前账户的余额
SuccessCounts 成功的号码数量 成功的号码数量
Errors 错误描述 本次发送中,相关的错误描述

1.6 点对点发送
1.6.1 请求地址
http://sh2.ipyy.com/BatchSms.ashx 对应UTF-8的点对点发送,只支持post方式的提交 (Zip压缩内容)
1.6.2 参数说明
参数名称 含义 说明
userid 企业id 企业ID(不验证)
account 发送用户帐号 用户帐号,由系统管理员
password 发送帐号密码 用md5加密方式,md5采用32位大写
如abc123加密后为
E99A18C428CB38D5F260853678922E03
content 发送内容 点对点短信内容: url编码的base64短信内容
格式:详见下解
sendTime 定时发送时间 为空表示立即发送,定时发送格式2018-02-02 09:08:10
extno 扩展子号 请先询问配置的通道是否支持扩展子号,如果不支持,请填空。子号只能为数字,且最多5位数。
content值生成方法:
1)每条内容以手机号开头,英文逗号为分隔符,后面跟短信内容,多条内容以\r\n为分隔符
a)手机号+分隔符(,)+内容+结尾标识(\r\n) + 手机号+分隔符(,)+内容+结尾标识(\r\n)
b)例:13800138000,验证码:1234【华信】\r\n13800138000,验证码:4567【华信】
注:同一批任务中不允许出现重复的手机号码,如果短信内容中有\r\n符号需要进行转义
2) 将\r\n组合后的内容进行GZip压缩,将压缩后的byte数组进行base64编码,然后url编码作为content参数
1.6.3返回值
在接收到客户端发送的http请求后,返回以xml的方式返回处理结果。格式为:

status ---------- 返回状态值:成功返回Success 失败返回:Fail message ---------- 相关的错误描述 remainpoint ---------- 返回余额 taskID ----------- 返回本次任务的序列ID successCounts --成功短信数:当成功后返回提交成功短信数 第二章 彩信发送接口 2.1 请求地址 请求地址是客户接口程序调用时请求的url地址,采用的是http post 接口,地址是 http://sh2.ipyy.com/mms.aspx 对应UTF-8 入口地址一般不会发生变化,当发生变化的时候,会通知接口用户 2.2参数说明 参数名称 含义 说明 userid 企业id 企业ID(不验证) account 发送用户帐号 用户帐号,由系统管理员 password 发送帐号密码 用md5加密方式,md5彩用32位大写 如abc123加密后为 E99A18C428CB38D5F260853678922E03 mobile 全部被叫号码 发信发送的目的号码.多个号码之间用半角逗号隔开 subject 主题 彩信的主题 content 发送内容 彩信内容,tms文件的base64编码。 Tms文件存储规格: 元素1名称(即元素1的文件名,包括文件名扩展名)+一个字符串结束符(ASCII为0)+元素1的二进制内容大小(整形)+元素1的二进制内容+元素2名称(即元素2的文件名,包括文件名扩展名)+一个字符串结束符(ASCII为0)+元素2的二进制内容大小(整形)+元素2的二进制内容+元素3名称(即元素3的文件名,包括文件名扩展名)+一个字符串结束符(ASCII为0)+元素3的二进制内容大小(整形)+元素3的二进制内容+。。。。。。。所有元素以此类推 sendTime 定时发送时间 为空表示立即发送,定时发送格式2018-02-02 09:08:10 action 发送任务命令 设置为固定的:send extno 扩展子号 请先询问配置的通道是否支持扩展子号,如果不支持,请填空。子号只能为数字,且最多5位数。 例如: http://sh2.ipyy.com/mms.aspx?action=send&userid=&account=账号&password=密码&mobile=15023239810,13527576163&subject=彩信主题&content=base64编码&sendTime=&extno=

你可能感兴趣的:(短信接口,短信平台,免费开源,免费安装,平台搭建,独自搭建短信平台)