v2接口 v2
短信宝 v2 API 提供简洁的 JSON 格式接口,支持短信发送、余额查询等核心功能。接口统一使用 JSON 返回格式,便于业务系统按状态码、描述信息和 data 数据统一处理。
接口概览
| 项目 | 说明 |
|---|
| 接口域名 | https://api.smsbao.com |
| 返回格式 | 统一 JSON 格式,包含 code、msg、data 字段。 |
| 接口特点 | 支持任务 ID 跟踪、统一错误处理、简洁易用的接口设计。 |
| 参数编码 | 所有参数使用 UTF-8 编码,短信内容建议进行 URL Encode。 |
短信发送接口
GET https://api.smsbao.com/api/v2/sms
?username=USERNAME
&secret=SECRET
&to=PHONE
&content=CONTENT
&product=PRODUCT
| 参数名 | 类型 | 必填 | 说明 |
|---|
| username | String | 是 | 短信宝用户名。 |
| secret | String | 是 | 短信宝密钥。 |
| to | String | 是 | 手机号码;多个号码使用英文逗号分隔。 |
| content | String | 是 | 短信内容,建议使用 UTF-8 URL Encode。 |
| product | String | 否 | 产品类型;不传时使用默认产品。 |
请求示例
curl -X GET "https://api.smsbao.com/api/v2/sms?username=your_username&secret=your_secret&to=13800138000,13800138001&content=%E3%80%90%E7%9F%AD%E4%BF%A1%E5%AE%9D%E3%80%91%E6%82%A8%E7%9A%84%E9%AA%8C%E8%AF%81%E7%A0%81%E6%98%AF1234%EF%BC%8C5%E5%88%86%E9%92%9F%E5%86%85%E6%9C%89%E6%95%88%E3%80%82"
返回示例
{
"code": 0,
"msg": "短信发送成功",
"data": {
"taskId": "202401011200001"
}
}
余额查询接口
GET https://api.smsbao.com/api/v2/balance
?username=USERNAME
&secret=SECRET
&product=PRODUCT
| 参数名 | 类型 | 必填 | 说明 |
|---|
| username | String | 是 | 短信宝用户名。 |
| secret | String | 是 | 短信宝密钥。 |
| product | String | 否 | 产品类型;不传时使用默认产品。 |
请求示例
curl -X GET "https://api.smsbao.com/api/v2/balance?username=your_username&secret=your_secret"
返回示例
{
"code": 0,
"msg": "查询成功",
"data": {
"balance": 1000.50
}
}
统一返回格式
所有 v2 接口均返回统一 JSON 格式:
{
"code": 0,
"msg": "描述信息",
"data": {}
}
| 字段 | 说明 |
|---|
| code | 状态码;0 表示成功,非 0 表示失败。 |
| msg | 状态描述或错误描述。 |
| data | 接口返回数据,具体结构因接口而异;失败时可能为 null。 |
状态码说明
| 状态码 | 说明 |
|---|
| 0 | 成功。 |
| 30 | 请求参数不全。 |
| 40 | 账号或密码错误。 |
| 41 | 余额不足。 |
| 42 | 账号已过期。 |
| 43 | IP 地址限制。 |
| 44 | 账号已被禁用。 |
| 51 | 内容含有敏感词。 |
| 52 | 手机号码格式不正确。 |
| 53 | 没有可用的短信产品。 |
| 54 | 试用账号无权调用此接口。 |
| 55 | 错误的账号。 |
| 70 | 模板格式不正确。 |
| 71 | 验签失败。 |
错误处理
错误返回示例
{
"code": 40,
"msg": "账号或密码错误",
"data": null
}
- 先检查 HTTP 状态码是否为 200。
- 解析 JSON 响应,读取 code、msg 和 data 字段。
- code 为 0 表示接口处理成功;非 0 时按状态码和 msg 进行排查。
- 对网络异常、超时等临时错误,可按业务场景进行有限次数重试。
短信接收推送 API
短信宝会通过客户提供的 URL,实时推送用户回复短信。客户需要提供一个可接收 HTTP GET 请求的 URL,并在短信宝后台配置。
| 参数名 | 类型 | 必填 | 说明 |
|---|
| m | String | 是 | 发送方手机号。 |
| c | String | 是 | 用户回复的短信内容,采用 UTF-8 URL 编码。 |
| s | String | 否 | 扩展号。 |
- 访问方式:GET,短信宝推送到客户系统。
- 客户系统处理成功后请返回字符串 0,其他返回值会被认为处理失败。
- 若接口 1 小时内累计调用 10 次都获取不到正确返回值,将暂停推送 1 小时。
短信状态报告推送 API
短信宝会通过客户提供的 URL,实时推送短信发送状态报告。客户需要提供一个可接收 HTTP GET 请求的 URL,并在短信宝后台配置。
| 参数名 | 类型 | 必填 | 说明 |
|---|
| t | String | 是 | 短信发送时短信宝反馈的任务 ID。 |
| m | String | 是 | 接收方手机号码。 |
| s | String | 是 | 状态;1 表示短信已送达,-1 表示短信下发失败。 |
| d | String | 是 | 状态详情。 |
- 访问方式:GET,短信宝推送到客户系统。
- 客户系统处理成功后请返回字符串 0,其他返回值会被认为处理失败。
- 若接口 1 小时内累计调用 10 次都获取不到正确返回值,将暂停推送 1 小时。
内部状态报告代码
| 状态码 | 说明 |
|---|
| LO:0103 | 余额不足。 |
| LO:0800 | 没有合适的通道可用。 |
| LO:0801 | 网关转发短信提交失败。 |
| LO:0802 | 网关连接异常。 |
| LO:0803 | 号码不正确。 |
| LO:0804 | 敏感字。 |
| LO:0805 | 黑名单。 |
| LO:0806 | 敏感字。 |
| LO:0807 | 通道不支持长短信。 |
| LO:0808 | 产品代码不正确或国际余额不足。 |
| LO:0809 | 相同号码发送间隔时间低于限制值。 |
| LO:0810 | 相同号码一天接收次数超过限制值。 |
| LO:0900 | 审核否决。 |
开发建议与注意事项
- 建议设置请求超时时间为 30 秒。
- 对于网络异常等临时错误,建议实现重试机制,最大重试次数不超过 3 次。
- 所有参数使用 UTF-8 编码,短信内容建议进行 URL Encode。
- 单条短信内容建议不超过 64 个字符,长短信建议不要超过 320 个字符。
- 验证码短信建议在手机验证环节增加图片验证码,避免被恶意攻击。
- 接口调用频率建议不要超过 1 次 / 分钟。
- 接口要求提前在短信宝后台添加短信模板;提交短信时系统会自动匹配审核通过的模板,匹配成功后才能发送。