短信接入指引

接口限制规则

  1. 短信服务属于收费功能,如有疑问请联系客户顾问;
  2. 验证码支持中英文模板,模板的定制可联系客户顾问;
  3. 对接收方手机号码限制1天默认为10条短信验证码;
  4. 提供验证码发送方deviceId参数,调用方选填。填写效果如下:一个deviceId默认一天发送10条验证码,如需修改可在短信配置中修改,最多不超过25条;
  5. 对同一个接收方手机号码,一分钟最多接受3条相同的短信;
  6. 对同一个接收方手机号码,一天最多接受5条相同的短信;
  7. 验证码有效时间默认为10分钟,如需修改可在短信配置中修改,单位秒,最长不超过120分钟;
  8. 对一个手机号码的验证调用,连续校验错误10次以后,该验证码立即失效,校验错误接口返回中需告知开发者当前错误次数;
  9. 对未发送短信验证码的手机号码验证调用,一天累计超过1万次会视为恶意攻击,将暂停该appkey的短信验证码服务,一旦发生此情况请联系客户顾问;
  10. 网易云通信短信分为验证码短信、通知类短信和运营类短信,在调用短信验证码接口时可以同时调用校验验证码接口进行验证码校验。用户使用短信模版来发送短信则只需调用发送模版短信接口即可。

发送短信验证码

请求说明

POST https://api.netease.im/sms/sendcode.action HTTP/1.1
Content-Type:application/x-www-form-urlencoded;charset=utf-8

请求中Headers的设置请参考接口概述

接口描述

向指定的手机号码发送短信验证码。

参数说明

参数类型必须说明
mobileString目标手机号
deviceIdString目标设备号,可选参数
templateid int 模板编号(如不指定则使用配置的默认模版)
codeLen int 验证码长度,范围4~10,默认为4
authCode int 客户自定义验证码,长度为4~10个数字
如果设置了该参数,则codeLen参数无效
needUp Boolean 是否需要支持短信上行。true:需要,false:不需要
说明:如果开通了短信上行抄送功能,该参数需要设置为true,其它情况设置无效

curl请求示例

curl -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'

返回说明

http 响应:json

发送成功则返回相关信息。msg字段表示此次发送的sendid;obj字段表示此次发送的验证码。

"Content-Type": "application/json; charset=utf-8"
{
  "code": 200,
  "msg": "88",
  "obj": "1908"
}

主要的返回码

200、315、403、414、416、500

具体请参考code状态表


校验验证码

请求说明

POST https://api.netease.im/sms/verifycode.action HTTP/1.1
Content-Type:application/x-www-form-urlencoded;charset=utf-8

请求中Headers的设置请参考接口概述

接口描述

校验指定手机号的验证码是否合法。

参数说明

参数类型必须说明
mobileString目标手机号
codeString验证码

curl请求示例

curl -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'

返回说明

http 响应:json

"Content-Type": "application/json; charset=utf-8"
{
  "code":200
}

主要的返回码

200、301、315、403、404、413、414、500

具体请参考code状态表


发送通知类和运营类短信

请求说明

POST https://api.netease.im/sms/sendtemplate.action HTTP/1.1
Content-Type:application/x-www-form-urlencoded;charset=utf-8

请求中Headers的设置请参考接口概述

接口描述

向手机号发送内容格式预定义的短信,整个短信的内容由模板和变量组成。

参数说明

参数类型必须说明
templateidint模板编号(由客户顾问配置之后告知开发者)
mobilesString接收者号码列表,JSONArray格式,如["186xxxxxxxx","186xxxxxxxx"],限制接收者号码个数最多为100个
paramsString模板中若含变量则必须包含此参数短信参数列表,用于依次填充模板,JSONArray格式,每个变量长度不能超过30字,如["xxx","yyy"];对于不包含变量的模板,不填此参数表示模板即短信全文内容
needUp Boolean 是否需要支持短信上行。true:需要,false:不需要
说明:如果开通了短信上行抄送功能,该参数需要设置为true,其它情况设置无效

curl请求示例

curl -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"]&params=["hello"]' 'https://api.netease.im/sms/sendtemplate.action'

返回说明

http 响应:json

成功则在obj中返回此次发送的sendid(long),用于查询发送结果

"Content-Type": "application/json; charset=utf-8"
{
  "code":200,
  "msg":"sendid", 
  "obj":123
}

主要的返回码

200、315、403、413、414、500

具体请参考code状态表


查询通知类和运营类短信发送状态

请求说明

POST https://api.netease.im/sms/querystatus.action HTTP/1.1
Content-Type:application/x-www-form-urlencoded;charset=utf-8

请求中Headers的设置请参考接口概述

接口描述

根据短信的sendid(sendtemplate.action接口中的返回值),查询短信发送结果。

参数说明

参数类型必须说明
sendidlong发送短信的编号sendid

curl请求示例

curl -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'

返回说明

http 响应:json

obj中返回JSONArray,格式如下(其中status取值:0-未发送,1-发送成功,2-发送失败,3-反垃圾):

"Content-Type": "application/json; charset=utf-8"
{
  "code": 200,
  "obj": [
    {
      "status": 1,
      "mobile": "13812341234",
      "updatetime": 1471234567812
    }
  ]
}

主要的返回码

200、315、403、404、413、414、500

具体请参考code状态表