短信接口列表
更新时间: 2024/10/11 10:35:01
网易云信短信分为验证码短信、通知类短信和运营类短信,在调用短信验证码接口时可以同时调用校验验证码接口进行验证码校验。本文详细介绍了短信接口请求格式、参数、示例代码和返回码。
短信服务属于收费功能,有关计费信息请访问 价格详情 或联系您的网易云信客户经理。
接口限制
- 对接收方手机号码,限制一天默认为 10 条短信验证码。
- 对同一个接收方手机号码,一分钟最多接受 3 条相同的短信,一天最多接受 5 条相同的短信。
- 验证码有效时间默认为 10 分钟,您可以在 网易云信控制台 上的短信配置中修改,单位秒,最长不超过 120 分钟。
- 验证码支持中英文模板,创建模板可联系您的网易云信客户经理或登录 网易云信控制台 在短信配置中添加。
- 对一个手机号码的验证调用,连续校验错误 10 次以后,该验证码立即失效,校验错误接口返回中需告知您当前错误次数。
- 对未发送短信验证码的手机号码验证调用,一天累计超过一万次会视为恶意攻击,将暂停对应的应用密钥(AppKey)短信验证码服务。一旦发生此情况,请联系您的网易云信客户经理。
- 如果您使用短信模板发送短信,则只需调用发送模板短信接口即可。
发送短信验证码
向指定的手机号码发送文本短信验证码或语音短信验证码。
请求说明
POST https://api.netease.im/sms/sendcode.action HTTP/1.1
Content-Type:application/x-www-form-urlencoded;charset=utf-8
请求头(Headers)的设置请参考《即时通讯 IM 文档》接口概述。
参数说明
参数 | 类型 | 是否必需 | 说明 |
---|---|---|---|
mobile | String | 是 | 目标手机号码,非中国大陆手机号码需要填写国家代码(如美国:+1-xxxxxxxxxx)或地区代码(如香港:+852-xxxxxxxx) |
templateid | int | 否 | 模板编号(如不指定则使用配置的默认模板) |
codeLen | int | 否 | 验证码长度,默认为 4 位,取值范围为 4-10 (注:语音验证码的取值范围为 4-8 位)。 |
authCode | String | 否 | 客户自定义验证码,长度为 4 ~ 10 位,支持字母和数字。 如果设置了该参数,则 codeLen 参数无效 |
needUp | Boolean | 否 | 是否需要支持短信上行。true:需要,false:不需要 说明:如果开通了短信上行抄送功能,该参数需要设置为 true,其它情况设置无效 |
请求示例
cURLcurl -X POST -H "AppKey: go9dnk49bkd9jd9vmel1kglw0803mgq3" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Nonce: 4tgggergigwow323t23t" -H "Content-Type: application/x-www-form-urlencoded" -d 'mobile=13812345678' 'https://api.netease.im/sms/sendcode.action'
返回说明
发送成功则返回相关信息。msg 字段表示此次发送的 sendid。obj 字段表示此次发送的验证码。
JSON"Content-Type": "application/json; charset=utf-8"
{
"code": 200,
"msg": "88",
"obj": "1908"
}
错误码
200、315、403、414、416、500
具体请参考 错误码。
校验短信验证码
校验指定手机号码的验证码是否合法。
请求说明
POST https://api.netease.im/sms/verifycode.action HTTP/1.1
Content-Type:application/x-www-form-urlencoded;charset=utf-8
请求头(Headers)的设置请参考《即时通讯 IM 文档》接口概述。
参数说明
参数 | 类型 | 是否必需 | 说明 |
---|---|---|---|
mobile | String | 是 | 目标手机号码,非中国大陆手机号码需要填写国家代码(如美国:+1-xxxxxxxxxx)或地区代码(如香港:+852-xxxxxxxx) |
code | String | 是 | 验证码 |
请求示例
cURLcurl -X POST -H "AppKey: go9dnk49bkd9jd9vmel1kglw0803mgq3" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Nonce: 4tgggergigwow323t23t" -H "Content-Type: application/x-www-form-urlencoded" -d 'mobile=13812345678&code=1234' 'https://api.netease.im/sms/verifycode.action'
返回说明
JSON"Content-Type": "application/json; charset=utf-8"
{
"code":200
}
错误码
200、301、315、403、404、413、414、500
具体请参考 错误码。
发送视频短信
向手机号码发送内容格式预定义的视频短信,整个短信的内容由文本和多媒体组成。
请求说明
POST https://api.netease.im/sms-new-api/video/template/send HTTP/1.1
Content-Type:application/x-www-form-urlencoded;charset=utf-8
请求头(Headers)的设置请参考《即时通讯 IM 文档》接口概述。
参数说明
参数 | 类型 | 是否必需 | 说明 |
---|---|---|---|
templateId | long | 是 | 模板编号(审核通过的视频短信多媒体模板 ID) |
mobiles | String | 是 | 接收者号码列表,JSONArray 格式,如["186xxxxxxxx","186xxxxxxxx"],限制接收者号码个数最多为 100 个。 目前只支持国内号码 |
params | String | 否若模板中包含变量则该参数必填 | 模板参数,JSONObject 格式,如 {"name": "网易云信","age":6},其中 name、age 为视频模板中的参数#{name},#{age} |
请求示例
cURLcurl -X POST -H "AppKey: go9dnk49bkd9jd9vmel1kglw0803mgq3" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Nonce: 4tgggergigwow323t23t" -H "charset: utf-8" -H "Content-Type: application/x-www-form-urlencoded" -d 'templateId=1007&mobiles=["13812345678"]¶ms={"name": "网易云信","age":6}' 'https://api.netease.im/sms-new-api/video/template/send'
返回说明
成功则在 obj 中返回此次发送的 sendid(long),用于查询发送结果。
JSON"Content-Type": "application/json; charset=utf-8"
{
"code":200,
"msg":"sendid",
"obj":123
}
错误码
200、315、403、413、414、500
具体请参考 错误码。
发送通知类和运营类短信
向手机号码发送内容格式预定义的短信,整个短信的内容由模板和变量组成。
请求说明
POST https://api.netease.im/sms/sendtemplate.action HTTP/1.1
Content-Type:application/x-www-form-urlencoded;charset=utf-8
请求头(Headers)的设置请参考《即时通讯 IM 文档》接口概述。
参数说明
参数 | 类型 | 是否必需 | 说明 |
---|---|---|---|
templateid | int | 是 | 模板编号(由您的网易云信客户经理配置之后告知您) |
mobiles | String | 是 | 接收者号码列表,JSONArray 格式,如["186xxxxxxxx","186xxxxxxxx"],限制接收者号码个数最多为 100 个。 非中国大陆手机号码需要填写国家代码(如美国:+1-xxxxxxxxxx)或地区代码(如香港:+852-xxxxxxxx) |
params | String | 模板中 若含变量则必须 包含此参数 | 短信参数列表,用于依次填充模板,JSONArray 格式,每个变量长度不能超过 30 字,如 `["xxx","yyy"]`;对于不包含变量的模板,不填此参数表示模板即短信全文内容 |
needUp | Boolean | 否 | 是否需要支持短信上行。true:需要,false:不需要 说明:如果开通了短信上行抄送功能,该参数需要设置为 true,其它情况设置无效 |
请求示例
cURLcurl -X POST -H "AppKey: go9dnk49bkd9jd9vmel1kglw0803mgq3" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Nonce: 4tgggergigwow323t23t" -H "charset: utf-8" -H "Content-Type: application/x-www-form-urlencoded" -d 'templateid=1007&mobiles=["13812345678"]¶ms=["hello"]' 'https://api.netease.im/sms/sendtemplate.action'
返回说明
成功则在 obj 中返回此次发送的 sendid(long),用于查询发送结果。
JSON"Content-Type": "application/json; charset=utf-8"
{
"code":200,
"msg":"sendid",
"obj":123
}
错误码
200、315、403、413、414、500
具体请参考 错误码。
查询通知类和运营类短信发送状态
根据短信的 sendid (sendtemplate.action
接口中的返回值),查询短信发送结果。
请求说明
POST https://api.netease.im/sms/querystatus.action HTTP/1.1
Content-Type:application/x-www-form-urlencoded;charset=utf-8
请求头(Headers)的设置请参考《即时通讯 IM 文档》接口概述。
参数说明
参数 | 类型 | 是否必需 | 说明 |
---|---|---|---|
sendid | long | 是 | 发送短信的编号 sendid |
请求示例
cURLcurl -X POST -H "AppKey: go9dnk49bkd9jd9vmel1kglw0803mgq3" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Nonce: 4tgggergigwow323t23t" -H "charset: utf-8" -H "Content-Type: application/x-www-form-urlencoded" -d 'sendid=1' 'https://api.netease.im/sms/querystatus.action'
返回说明
obj 中返回 JSONArray,格式如下(其中 status 取值:0-未发送,1-发送成功(提交通道成功),2-发送失败(提交通道失败),3-反垃圾)。
JSON"Content-Type": "application/json; charset=utf-8"
{
"code": 200,
"obj": [
{
"status": 1,
"mobile": "13812341234",
"updatetime": 1471234567812
}
]
}
错误码
200、315、403、404、413、414、500
具体请参考 错误码。