注册送短信

API: SMS/MultiXSend - 短信模板一对多发送

版本号 v4.002

更新说明

2024年11月12日

1. 接口新增了对动态短信签名的支持,可以通过sms_signature参数来实现通过一个模板,发送多种签名的短信。


概览


sms/multixsend 是 SUBMAIL 的短信一对多(即1条API请求发送多个号码,并可以灵活控制每个联系人的文本变量)和群发 API 。(建议: 单线程提交数量控制在50—200个联系人, 可以开多个线程同时发送)

sms/xsend API 一样,sms/multixsend 提供完整且强大的短信发送功能,sms/multixsend 解决开发者在应用场景中的一对多或群发的需求,极大的提高 API 并发效率。

使用方法与 sms/xsend 极为相似,不同的是 sms/multixsend 去除了 tovars 参数将其整合到 multi 参数中,可以将联系人的手机号码,和不同的文本变量整合,实现一对多场景中灵活控制文本变量的功能。


开发者们可在提交 sms/multixsend API 时,将 tovars 参数编码为 JSON 字符串格式添加到 multi 参数中提交,multi 参数的数据模型请参考以下示例:

multi=[{
        "to":"15*********",
        "vars":{
            "name":"kevin",
            "code":123456
        }
    },{
        "to":"18*********",
        "vars":{
            "name":"jacky",
            "code":236554
        }
    },{
        "to":"13*********",
        "vars":{
            "name":"tom",
            "code":236554
        }]


完整的 sms/multixsend POST 请求请参考以下示例:

appid=your_app_id
project=EM9sd
multi=[{
    "to":"15*********",
    "vars":{
        "name":"kevin",
        "code":123456
    }
},{
    "to":"18*********",
    "vars":{
        "name":"jacky",
        "code":236554
    }
},{
    "to":"13*********",
    "vars":{
        "name":"tom",
        "code":236554
    }]
signature=your_app_key


URL


https://api-v4.mysubmail.com/sms/multixsend


支持格式



格式URL
jsonhttps://api-v4.mysubmail.com/sms/multixsend.json (默认)
xmlhttps://api-v4.mysubmail.com/sms/multixsend.xml
yamlhttps://api-v4.mysubmail.com/sms/multixsend.yaml


http 请求方式


请求方式content-type设置
http postmultipart/form-datax-www-form-urlencodedapplication/json


是否需要授权


参阅 API 授权和验证机制


请求参数


参数类型必需/可选默认描述
appidstring必需在 SUBMAIL 应用集成中创建的短信应用ID
signaturestring必需应用密匙或数字签名
参阅 API授权与验证机制 > 授权和验证方式
projectstring必需模版 ID
在 SUBMAIL > sms >项目中查看你所创建的短信模版 ID。请参见获取项目或地址薄的开发者标识
multijson string必需收件人 to 联系人参数和 vars 文本变量的整合模式,请将 to 和 vars 整合成 json 字符串格式提交(数据模型请参考本页概览处 multi 参数示例)
sms_signaturestring可选自定义短信签名,如果忽略此参数,将使用模板的默认签名作为签名
tagstring可选自定义标签功能,该标签可用作 SUBHOOK 追踪(32 个字符以内)tag 参数不参加加密计算
timestampstring可选参阅 API 授权与验证机制 > Timestamp UNIX 时间戳
sign_typestring可选normalAPI 授权模式( md5 or sha1 or normal
参阅 API 授权与验证机制 > 授权和验证方式
sign_versionstring可选signature 加密计算方式(当 sign_version 传 2 时,multi,content 参数不参与加密计算)

注:为了保证响应速度,建议单次请求号码数量不超过200个号码

代码示例


发送一封测试短信


POST URL
https://api-v4.mysubmail.com/sms/multixsend


POST DATA
appid=your_app_id
&project=ThJBE4
&multi=[{
    "to":"15*********",
    "vars":{
        "name":"kevin",
        "code":123456
        }
    },{
    "to":"18*********",
    "vars":{
        "name":"jacky",
        "code":236554
        }
    }]
&signature=your_app_key




返回值


请求成功
[
   {
        "status":"success",
        "to":"15*********",
        "send_id":"093c0a7df143c087d6cba9cdf0cf3738",
        "fee":1
    },{
        "status":"success",
        "to":"18*********",
        "send_id":"093c0a7df143c087d6cba9cdf0cf3738",
        "fee":1
    }
]


请求失败
[
   {
        "status":"error",
        "code":1xx,
        "msg":"error sms"
    },{
        "status":"success",
        "to":"18*********",
        "send_id":"093c0a7df143c087d6cba9cdf0cf3738",
        "fee": 1
    }
]
  • 注:sms/multixsend API 中返回码将包含成功和失败的状态 ,API 在一条API中发起对多个号码的请求,所以返回状态也是按多条API计算的,例如:单次请求中包含3个联系人,其中2个联系人请求成功,1个联系人请求失败时,此时的API返回状态,将包含3条状态数组(即2条 status:success ,1条 status:error 的状态)


错误代码


参阅 API 错误代码