| 项目 | 值 |
|---|---|
| 域名 | sms.hudongbot.com |
| 协议 | HTTPS |
| 数据格式 | JSON |
| 字符编码 | UTF-8 |
| 请求方法 | POST(推荐)、GET |
采用 AK/SK 密钥对 + 时间戳签名的安全认证方式。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
ak | string | 是 | Access Key(请联系管理员获取) |
sk | string | 是 | Secret Key(请联系管理员获取) |
timestamp | string | 是 | 当前时间戳(毫秒) |
sign | string | 是 | 签名,SHA256(ak + sk + timestamp) |
sign = SHA256(ak + sk + timestamp)
示例:ak = hd2026,sk = secret123,timestamp = 1745575200000
POST https://sms.hudongbot.com/send
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
Content-Type | string | 是 | application/json |
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
ak | string | 是 | Access Key |
sk | string | 是 | Secret Key |
timestamp | string | 是 | 当前时间戳(毫秒) |
sign | string | 是 | 签名,SHA256(ak + sk + timestamp) |
phone | string | 是 | 手机号码,11位数字 |
channel | string | 是 | 短信渠道 |
param | object | 是 | 模板参数,JSON 对象格式 |
param 是一个 JSON 对象,内容取决于短信模板的变量。
示例:验证码模板通常包含 code 变量
{ "code": "123456" }
<?php
$ak = 'your-ak'; $sk = 'your-sk';
$timestamp = (string)(time() * 1000);
$signStr = $ak . $sk . $timestamp;
$sign = hash('sha256', $signStr);
$data = ['ak'=>$ak,'sk'=>$sk,'timestamp'=>$timestamp,'sign'=>$sign,
'phone'=>'13800138000','channel'=>'hd','param'=>['code'=>'123456']];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://sms.hudongbot.com/send');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$response = curl_exec($ch); curl_close($ch);
print_r(json_decode($response, true));
?>
import requests, hashlib, time
ak, sk = "your-ak", "your-sk"
timestamp = str(int(time.time() * 1000))
sign = hashlib.sha256((ak + sk + timestamp).encode()).hexdigest()
data = {"ak":ak,"sk":sk,"timestamp":timestamp,"sign":sign,
"phone":"13800138000","channel":"hd","param":{"code":"123456"}}
res = requests.post("https://sms.hudongbot.com/send",
headers={"Content-Type":"application/json"}, json=data, timeout=30)
print(res.json())
{
"code": 200,
"message": "请求成功",
"data": {
"requestId": "xxx",
"bizId": "xxx",
"code": "OK",
"message": "OK"
}
}
| HTTP状态码 | code | message | 说明 |
|---|---|---|---|
| 200 | 200 | 请求成功 | 发送成功,检查 data.code 是否为 "OK" |
| 400 | 400 | 缺少必要参数 | 缺少 phone 或 channel |
| 400 | 400 | 无效的channel参数 | channel 值不正确 |
| 400 | 400 | param参数格式错误 | param 不是 JSON 对象 |
| 400 | 400 | 请求体JSON格式错误 | 请求体不是有效JSON |
| 401 | 401 | 密钥验证失败 | AK、SK 或签名错误 |
| 429 | 429 | 请求过于频繁 | 超过频率限制(10次/分钟) |
| 500 | 500 | 服务器内部错误 | 服务端异常 |
文档版本:v2.0 | 更新日期:2026-04-25