对外短信发送接口共 3 个(所有请求均记录日志,非白名单号码将被拒绝并返回失败原因):
① 验证码接口(推荐,业务系统对接)
GET / POST /api/sms/code?seckey=你的密钥&phone=...&code=...
{"phone": "13800000001", "code": "123456"}
seckey / phone / code 三个参数可全走 URL query(GET 推荐),也可走 JSON body 或表单,三种方式可混用。成功返回 success:true;失败返回 success:false + 具体原因(如"号码不在白名单")。
可选参数 client:调用方自报名称(如 &client=决策调查系统),写入日志"客户端"列,便于在日志里区分是哪套系统/设备发起的;不传则显示 seckey 对应的客户端名。
② SOAP 接口(短信通知服务器类设备对接)
POST /api/sms/soap SOAP 1.1 / 1.2,text/xml
设备端「配置短信模板」请求模板(注意变量为双美元符;推荐直接在模板里写 <Seckey>/<Client> 标签传密钥与设备名,不依赖 URL 参数):
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<SendSms>
<Mobile>$$MOBILE_NUM$$</Mobile>
<Content>$$SMS_CONTENT$$</Content>
<Seckey>你的密钥</Seckey>
<Client>Sxf-AC</Client>
</SendSms>
</soap:Body>
</soap:Envelope>
设备设置:网关类型 HTTP 协议、请求类型 POST、SOAP1.1、页面编码 UTF-8、国家码 86(服务端自动剥离);接收模板留空——发送成功返回 HTTP 200 + Success;失败返回 HTTP 500 + Fail: 原因 (LogId xx)(如"号码不在白名单")。seckey 必须提供,三选一(按优先级):① 上方 SOAP 模板内加 <Seckey>密钥</Seckey> 与 <Client>设备名</Client> 标签(推荐,标签名不区分大小写,服务端识别后自动剔除、不参与号码/验证码解析);② URL 后追加 &seckey=你的密钥&client=设备名(注意:部分设备固件发出时会丢弃 URL 中 ? 后内容,以日志实际请求行为准);③ 短信正文里写 seckey=你的密钥 client=设备名(服务端自动识别剥离,不会随短信发出,实际短信内容为验证码模板)。
③ 完整参数接口(自定义签名/模板)
POST /api/sms/send?seckey=你的密钥
{
"phoneNumber": "13800000001",
"signName": "我的应用",
"templateCode": "SMS_123456789",
"templateParams": "{\"code\":\"123456\"}"
}