批量发送
接口概述
本接口用于实现批量短信发送功能,支持JSON/XML两种数据格式响应。开发者可通过单次请求向多个手机号码发送相同内容短信,并支持定时发送功能。需使用POST方法提交表单数据,并妥善处理返回结果。
一、接口详情
1.接口地址
http://sms-api.luosimao.com/v1/send_batch.[json|xml]
格式说明:
- 根据需求选择响应格式(将结尾后缀替换为`json`或`xml`)
- 示例:
http://sms-api.luosimao.com/v1/send_batch.json
http://sms-api.luosimao.com/v1/send_batch.xml
2.HTTP请求方式
POST
Header 要求:
Content-Type: application/x-www-form-urlencoded
二、请求参数
| 参数名 | 类型 | 必填 | 示例值 | 说明 |
|---|---|---|---|---|
| mobile_list | String | 是 | 13761428268,18521513391 | 接收方手机号码列表,多个号码用英文逗号分隔(最多10万个号码) |
| message | String | 是 | 提醒:您的账号即将到期,请及时充值【铁壳测试】 | 短信内容(长度≤300字),必须包含签名(【】括起的企业/产品标识) |
| time | String | 否 | 2016-04-01 12:30:00 | 定时发送时间(格式:YYYY-MM-DD HH:mm:ss),仅支持当天内的定时任务 |
注意事项:
-
号码列表规范:
- 使用英文逗号分隔号码,不允许有空格
- 系统会自动过滤无效号码
- 单次请求上限10万个号码
-
定时功能:
- 最晚可设置当前时间后24小时内的发送任务
- 定时任务可在发送前10分钟通过控制台取消
-
内容要求:
- 必须包含有效签名(如`【公司名称】`)
- 禁止包含敏感词和违规内容
三、返回结果
1.响应字段说明
| 字段名 | 类型 | 必返 | 示例值 | 说明 |
|---|---|---|---|---|
| error | Number | 是 | 0 | 错误码(0表示成功,负数表示失败) |
| msg | String | 是 | ok | 状态描述 |
2.响应示例
JSON格式:
{
"error": 0,
"msg": "ok"
}
XML格式:
<response>
<error>-10</error>
<msg>Auth failed.</msg>
</response>
四、错误码对照表
| 错误码 | 错误描述 | 解决方案 |
|---|---|---|
| -10 | 验证信息失败 | 检查API key有效性(控制台 vs 代码配置) |
| -20 | 短信余额不足 | 前往控制台充值 |
| -30 | 短信内容为空 | 检查message参数是否传值 |
| -31 | 存在敏感词 | 修改短信内容,替换敏感词汇 |
| -32 | 缺少签名信息 | 在短信末尾添加规范签名(如:`【企业名称】`) |
| -34 | 签名未审核 | 登录控制台进入【短信】→【签名管理】提交签名审核 |
| -40 | 包含错误的手机号 | 检查号码列表格式和有效性 |
| -43 | 号码数量超限 | 单次请求不超过10万个号码,可分批次发送 |
| -50 | IP不在白名单 | 检查控制台【安全设置】→【IP白名单】配置 |
| -60 | 定时时间设置错误 | 检查时间是否为未来时间且不超过24小时 |
五、最佳实践
-
号码预处理:
- 发送前自行校验号码格式(国内手机号11位)
- 移除号码中的空格、横线等特殊字符
-
定时任务管理:
# Python定时任务示例
if scheduled_time > current_time + timedelta(hours=24):
raise ValueError("定时时间不能超过24小时") -
批量发送策略:
- 超过1万号码时建议分批次发送(每批≤10万)
- 重要通知建议添加重试机制
-
敏感词检测:
- 正式发送前调用敏感词检测接口(非本接口)
- 避免使用金融、医疗等高风险词汇
注意:批量发送失败不会返回具体失败号码,建议通过状态报告接口获取详细发送结果