API: SMS/XSend - 短信模板发送
版本号 v4.002
更新说明
2024年11月12日
1. 接口新增了对动态短信签名的支持,可以通过sms_signature参数来实现通过一个模板,发送多种签名的短信。
概览
sms/xsend
是 SUBMAIL 的短信 API 的升级版本。
与 sms/send
API 一样,sms/xsend
提供完整且强大的短信发送功能,区别于 sms/send
API,sms/xsend
无需提交短信内容和短信签名,仅需提交您创建的短信模版的 ID(请参见 获取项目 ID),并可以使用文本变量动态的控制每封短信的内容。
了解如何使用文本变量。
使用 sms/xsend
API 你将可以使用 SUBMAIL 编辑器高效、可视化地创建/管理你的短信模板。当用户请求使用此项目进行触发时,SUBMAIL 会立即执行发送动作,无需担心发送延迟问题。
URL
https://api-v4.mysubmail.com/sms/xsend
支持格式
格式 | URL |
---|---|
json | https://api-v4.mysubmail.com/sms/xsend.json (默认) |
xml | https://api-v4.mysubmail.com/sms/xsend.xml |
yaml | https://api-v4.mysubmail.com/sms/xsend.yaml |
http 请求方式
请求方式 | content-type设置 |
---|---|
post | multipart/form-data 、x-www-form-urlencoded 、application/json |
get |
是否需要授权
是
参阅 API 授权和验证机制
请求参数
参数 | 类型 | 必需/可选 | 默认 | 描述 |
---|---|---|---|---|
appid | string | 必需 | 无 | 在 SUBMAIL 应用集成中创建的短信应用 ID |
signature | string | 必需 | 无 | 应用密匙或数字签名 参阅 API 授权与验证机制 > 授权和验证方式 |
to | string | 必需 | 无 | 收件人手机号码,该API 仅支持一对一模式(即单条 API 请求仅能发送一个联系人),该参数现在仅能提交一个位联系人。 |
project | string | 必需 | 无 | 模版 ID 在 SUBMAIL > sms >项目中查看你所创建的短信模版 ID。请参见获取项目 ID |
vars | jsonstring | 可选 | 无 | 使用文本变量动态控制短信中的文本。 参阅 了解如何创建和使用文本变量 |
sms_signature | string | 可选 | 无 | 自定义短信签名,如果忽略此参数,将使用模板的默认签名作为签名 |
tag | string | 可选 | 无 | 自定义标签功能,该标签可用作 SUBHOOK 追踪(32 个字符以内,当请求传入此参数时则 SUBHOOK 推送时也会携带此参数。tag参数不参加加密计算) |
timestamp | string | 可选 | 无 | 参阅 API 授权与验证机制 > Timestamp UNIX 时间戳 |
sign_type | string | 可选 | normal | API 授权模式( md5 or sha1 or normal )参阅 API 授权与验证机制 > 授权和验证方式 |
sign_version | string | 可选 | 无 | signature 加密计算方式(当 sign_version 传 2 时,vars 参数不参与加密计算) |
代码示例
发送一封测试短信
POST URL
https://api-v4.mysubmail.com/sms/xsend
POST DATA
appid=your_app_id
&to=138xxxxxxxx
&project=ThJBE4
&signature=your_app_key
返回
{
"status": "success", //请求状态
"send_id": "893c91d9bfaa433f6952b2902546a8ed", //唯一send_id
"fee": 1 //计费条数
}
使用 CURL 发送一封测试短信
发送 CURL
curl -d 'appid=your_app_id&to=138xxxxxxxx&project=ThJBE4&signature=your_app_key' https://api-v4.mysubmail.com/sms/xsend.json
返回值
请求成功
{
"status": "success", //请求状态
"send_id": "893c91d9bfaa433f6952b2902546a8ed", //唯一send_id
"fee": 1 //计费条数
}
请求失败
{
"status":"error", //请求状态
"code":"1xx", //失败码
"msg":"error sms" //失败信息描述
}