短信验证码/短信通知API接口文档下载: 点击下载
本文档主要提供给互亿通信平台的用户对接接口的使用说明,开发者可以利用互亿通信平台提供的 HTTP 接口,调用互亿通信平台的短信验证码/通知服务。
本文档包含短信发送、余额查询、发送回执推送、上行回复推送等。
GET / POST
1、采用HTTPS协议提交请求
2、通过MD5动态签名方式加密
登录用户中心,进入【验证码通知短信】模块,在产品总揽页面右上角,如下图所示:
短信模板是对您将要发送的短信进行相似性提取后的内容。举个例子,
A用户在您平台注册会员,需要发送一条短信,内容如下:
您好,您的验证码是:666666
同时,B用户也在您的平台注册会员,发送了如下短信:
您好,您的验证码是:888888
我们提取相似度以后,可以制作以下短信模板:
您好,您的验证码是:【变量】
其中,变量是可变的,可以是 数字、字母、汉字。
注意:未付费用户仅可使用默认短信模板,付费用户可以通过左侧导航【验证码通知短信】-【短信发送】-【签名/模版管理】新增短信模板,运营商审核通过之后即可正式使用。
短信签名是加在短信的开头或结尾,在【】加上您的公司名称或店铺名称的标识符,例如:【互亿通信】。 根据电信基础运营商的规定,每条短信必须附加短信签名,否则将无法正常发送。
注意:未付费用户仅可使用默认短信签名【互亿通信】,付费用户可以通过点击左侧导航【验证码通知短信】-【短信发送】-【签名/模版管理】修改签名,运营商审核通过之后即可正式使用。
通过POST、 GET 方式进行短信提交,数据编码采用utf-8格式,24小时全天发送。
http://106.ihuyi.com/webservice/sms.php?method=Submit
参数名称 | 参数值描述 | 必填 |
account | APIID(请登录用户中心查看) | 是 |
password | 1、APIKEY(32位字符串,可以登录用户中心查看) 2、动态密码(生成动态密码方式请看该文档末尾的说明) |
是 |
mobile | 接收手机号码,只能提交1个号码 | 是 |
content | 短信内容(编码格式为UTF-8,支持300个字的长短信,长短信按多条计费) 例如:您的验证码是:1234。请不要把验证码泄露给其他人。 |
是 |
time | Unix时间戳(10位整型数字,当使用动态密码方式时为必填) | 否 |
format | 返回格式(可选值为:xml或json,系统默认为xml) | 否 |
用户通过http 或 https提交发送短信请求到服务器后,服务器会返回一串xml格式的字符串,SubmitResult结构说明如下:
参数名称 | 类型 | 描述 |
code | int | 返回值为2时,表示提交成功 |
smsid | string | 当提交成功后,此字段为流水号,否则为0 |
msg | string | 提交结果描述 |
示例(成功)
<?xml version="1.0" encoding="utf-8"?> <SubmitResult xmlns="106.ihuyi.com"> <code>2</code> <msg>提交成功</msg> <smsid>14745625541233112231</smsid> </SubmitResult>
示例(失败)
<?xml version="1.0" encoding="utf-8"?> <SubmitResult xmlns="106.ihuyi.com"> <code>405</code> <msg>用户名或密码不正确</msg> <smsid>0</smsid> </SubmitResult>
code | msg |
0 | 提交失败 |
2 | 提交成功 |
400 | 非法ip访问 |
401 | 帐号不能为空 |
402 | 密码不能为空 |
403 | 手机号码不能为空 |
4030 | 手机号码已被列入黑名单 |
404 | 语音通知内容不能为空 |
405 | 用户名或密码不正确 |
4050 | 账号被冻结 |
4051 | 剩余条数不足 |
4052 | 访问ip与备案ip不符 |
406 | 手机格式不正确 |
4071 | 没有提交备案模板 |
4072 | 你提交过来语音内容必须与报备过的模板格式相匹配 |
40722 | 变量内容超过指的的长度 |
4073 | 短信内容超出长度限制 |
408 | 您的帐户疑被恶意利用,已被自动冻结,如有疑问请与客服联系。 |
http://106.ihuyi.com/webservice/sms.php?method=Submit&account=APIID&password=APIKEY&mobile=手机号码&content=您的验证码是:1234。请不要把验证码泄露给其他人。
通过接口可以方便的查询你的账户验证码通知短信剩余条数。
http://106.ihuyi.com/webservice/sms.php?method=GetNum
参数名称 | 参数值描述 | 是否必填 |
account | APIID(请登录用户中心查看) | 是 |
password | 1、APIKEY(32位字符串,可以登录用户中心查看) 2、动态密码(生成动态密码方式请看该文档末尾的说明) |
是 |
time | Unix时间戳(10位整型数字,当使用动态密码方式时为必填) | 否 |
format | 返回格式(可选值为:xml或json,系统默认为xml) | 否 |
用户通过http 或 https提交帐户余额查询请求到服务器后,服务器会返回一串xml格式的字符串,GetNumResult结构说明如下:
参数名称 | 类型 | 描述 |
code | int | 状态返回值 |
msg | string | 查询结果描述 |
num | string | 剩余数量 |
示例(成功)
<?xml version="1.0" encoding="utf-8"?> <GetNumResult xmlns="106.ihuyi.com"> <code>2</code> <msg>查询成功</msg> <smsid>856</smsid> </GetNumResult>
示例(失败)
<?xml version="1.0" encoding="utf-8"?> <GetNumResult xmlns="106.ihuyi.com"> <code>405</code> <msg>用户名或密码不正确</msg> <smsid>0</smsid> </GetNumResult>
code | msg |
2 | 查询成功 |
400 | 非法ip访问 |
401 | 帐号不能为空 |
402 | 密码不能为空 |
405 | 用户名或密码不正确 |
4050 | 账号被冻结 |
http://106.ihuyi.com/webservice/sms.php?method=GetNum&account=APIID&password=APIKEY
用户先提供数据接收地址,然后绑定到互亿通信系统后台,平台会以POST方式实时的将回执信息推送到此地址。
参数名称 | 参数值描述 |
mobilephone | 手机号码 |
content | 上行内容 |
smsid | 流水号(对应提交时返回的smsid)(仅作参考) |
reply_time | 上行时间 |
注意: 成功接收请输出字符 "success" (不包含引号)结束推送,否则以接收失败处理。每个回执最多推送3次。每次间隔叠加60秒。
用户先提供数据接收地址,然后绑定到互亿通信系统后台,平台会以POST方式实时的将回复信息推送到此地址。
参数名称 | 参数值描述 |
code | 状态值(2成功 其他为失败) |
msg | 回执状态说明 |
mobilephone | 手机号码 |
smsid | 流水号(对应提交时返回的smsid) |
report_time | 回执时间 |
注意: 成功接收请输出字符 "success" (不包含引号)结束推送,否则以接收失败处理。每个回执最多推送3次。每次间隔叠加60秒。
以PHP为例,提交短信的生成方式:
$time = time(); $password = md5($account.$apikey.$mobile.$content.$time);
例如:
APIID: test APIKEY:1q784322ba1d9bb88d50cf5cdfd89k7d 手机号:138xxxxxxxx 内容:您的验证码是:2546。请不要把验证码泄露给其他人。 time:1451544941 结果:$password=md5('test1q784322ba1d9bb88d50cf5cdfd89k7d138xxxxxxxx您的验证码是:2546。请不要把验证码泄露给其他人。1451544941');
注意:因为短信内容会包含中文,所以字符编码统一为UTF-8
查询剩余条数的生成方式:
$time = time(); $password = md5($account.$apikey.$time);
例如:
APIID: test APIKEY:1q784322ba1d9bb88d50cf5cdfd89k7d 手机号:138xxxxxxxx time:1451544941 结果:$password=md5('test1q784322ba1d9bb88d50cf5cdfd89k7d1451544941');
Unix时间戳参考地址:http://tool.chinaz.com/Tools/unixtime.aspx