亿互通提供标准 HTTP 接口,支持 GET / POST 提交,开发者可快速在系统中接入短信验证码、短信通知能力,支持 PHP、Java、Python、C#、Go、Node.js 等主流语言。
本文档主要提供给亿互通平台的用户对接接口的使用说明,开发者可以利用亿互通平台提供的 HTTP 接口,调用亿互通平台的短信验证码 / 通知服务。
本文档包含短信发送、余额查询、发送回执推送、上行回复推送等。
GET / POST
登录用户中心,进入【验证码通知短信】模块,在产品总览页面右上角即可查看 APIID 与 APIKEY。
短信模板是对您将要发送的短信进行相似性提取后的内容。举个例子,A 用户在您平台注册会员,需要发送一条短信,内容如下:
同时,B 用户也在您的平台注册会员,发送了如下短信:
我们提取相似度以后,可以制作以下短信模板,其中变量是可变的,可以是数字、字母、汉字。
短信签名是加在短信的开头或结尾,在【】加上您的公司名称或店铺名称的标识符,例如:【亿互通】。根据电信基础运营商的规定,每条短信必须附加短信签名,否则将无法正常发送。
通过 POST、GET 方式进行短信提交,数据编码采用 utf-8 格式,24 小时全天发送。
| 参数名称 | 参数值描述 | 必填 |
|---|---|---|
account | APIID(请登录用户中心查看) | 是 |
password | 1、APIKEY(32 位字符串,可登录用户中心查看); 2、动态密码(生成方式见第 6 章) | 是 |
mobile | 接收手机号码,只能提交 1 个号码 | 是 |
content | 短信内容(UTF-8,支持 300 字长短信,长短信按多条计费),例如:您的验证码是:1234。请不要把验证码泄露给其他人。 | 是 |
time | Unix 时间戳(10 位整型,使用动态密码方式时为必填) | 否 |
format | 返回格式(可选 xml 或 json,默认 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 | 帐户疑被恶意利用,已被自动冻结,如有疑问请联系客服 |
通过接口可以方便地查询你的账户验证码通知短信剩余条数。
| 参数名称 | 参数值描述 | 必填 |
|---|---|---|
account | APIID(请登录用户中心查看) | 是 |
password | 1、APIKEY;2、动态密码(见第 6 章) | 是 |
time | Unix 时间戳(使用动态密码时必填) | 否 |
format | 返回格式(xml 或 json,默认 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> <num>856</num> </GetNumResult>
<?xml version="1.0" encoding="utf-8"?> <GetNumResult xmlns="106.ihuyi.com"> <code>405</code> <msg>用户名或密码不正确</msg> <num>0</num> </GetNumResult>
| code | msg |
|---|---|
| 2 | 查询成功 |
| 400 | 非法 ip 访问 |
| 401 | 帐号不能为空 |
| 402 | 密码不能为空 |
| 405 | 用户名或密码不正确 |
| 4050 | 账号被冻结 |
用户先提供数据接收地址,然后绑定到亿互通系统后台,平台会以 POST 方式实时将回执信息推送到此地址。
| 参数名称 | 参数值描述 |
|---|---|
code | 状态值(2 成功,其他为失败) |
msg | 回执状态说明 |
mobilephone | 手机号码 |
smsid | 流水号(对应提交时返回的 smsid) |
report_time | 回执时间 |
用户先提供数据接收地址,然后绑定到亿互通系统后台,平台会以 POST 方式实时将用户回复信息推送到此地址。
| 参数名称 | 参数值描述 |
|---|---|
mobilephone | 手机号码 |
content | 上行内容 |
smsid | 流水号(对应提交时返回的 smsid,仅作参考) |
reply_time | 上行时间 |
以 PHP 为例,提交短信的动态密码生成方式:
$time = time(); $password = md5($account.$apikey.$mobile.$content.$time);
例如:
结果:md5('test1q784322ba1d9bb88d50cf5cdfd89k7d138xxxxxxxx您的验证码是:2546。请不要把验证码泄露给其他人。1451544941')
Unix 时间戳参考地址:tool.chinaz.com/Tools/unixtime.aspx