微信小程序发送验证码短信SDK及文档
微信小程序验证码版SDK增加了对短信验证码的管理,开发者无需生成管理验证码,该SDK可直接生成、存储、发送、校验。
1.安装
下载后的SDK只包含一个zhenzisms.js文件,可直接放在utils文件夹中,然后通过require引入,如下:
var zhenzisms = require('../../utils/zhenzisms.js');
2.配置域名
在微信公众平台-小程序管理中配置域名https://smsdeveloper.zhenzikj.com,如下图:
3.用法
使用事先申请的AppId、AppSecret初始化:
zhenzisms.client.init(apiUrl, appId, appSecret);
apiUrl为请求地址,个人开发者使用https://sms_developer.zhenzikj.com,企业开发者使用https://sms.zhenzikj.com
1)发送短信验证码
zhenzisms.client.sendCode(function(res){ console.log(res.data); }) }, number, '验证码为:{code}', messageId, seconds, length);
send方法用于单条发送短信
参数1:请求后的用于接收返回结果的回调函数
参数number:接收者手机号码
参数3:短信模板,其中{code}为验证码占位符,会自动替换
参数messageId:该条信息的唯一标识,可用于查询
参数seconds:验证码有效期,单位是秒
参数length:验证码长度,比如4位或6位
返回结果是json格式的字符串, code: 发送状态,0为成功。非0为发送失败,可从data中查看错误信息
注: 测试发送短信内容不要使用"你好"或"12132"全数字形式,这种短信内容没有具体的意义,可能会被运营商屏蔽
2)校验验证码
检验用户输入的验证码是否和发送的一致
var result = zhenzisms.client.validateCode(code);
参数code:用户输入的验证码
返回结果是字符串, ok: 校验成功,error:验证码错误, expired: 验证码过期
3)发送短信
zhenzisms.client.send(function(res){ console.log(res.data); }) }, '15811111111', '您的验证码为2323');
send方法用于单条发送短信
参数1:请求后的用于接收返回结果的回调函数,参数2:接收者手机号码,参数3:短信内容
返回结果是json格式的字符串, code: 发送状态,0为成功。非0为发送失败,可从data中查看错误信息
注: 测试发送短信内容不要使用"你好"或"12132"全数字形式,这种短信内容没有具体的意义,可能会被运营商屏蔽
{ "code":0, "data":"发送成功" }
4)发送短信(返回状态报告)
zhenzisms.client.send(function(res){ console.log(res.data); }) }, '15811111111', '您的验证码为2323', 'dfee_dfdw_xdfd_dfdfd');
send方法用于单条发送短信,并且开发者可接受短信发送状态报告,具体使用请参考:API说明
参数1:请求后的用于接收返回结果的回调函数,参数2:接收者手机号码,参数3:短信内容, 参数4:messageId即该条短信的唯一标识, 不能重复
返回结果是json格式的字符串, code: 发送状态,0为成功。非0为发送失败,可从data中查看错误信息
错误代码表
错误码 | 原因 | 解决方案 |
---|---|---|
100 | 参数格式错误 | 检查请求参数是否为空, 或手机号码格式错误 |
101 | 短信内容超过1000字 | 短信内容过长,请筛检或分多次发送 |
105 | appId错误或应用不存在 | 请联系工作人员申请应用或检查appId是否输入错误 |
106 | 应用被禁止 | 请联系工作人员查看原因 |
107 | ip错误 | 如果设置了ip白名单,系统会检查请求服务器的ip地址,已确定是否为安全的来源访问 |
108 | 短信余额不足 | 需要到用户中心进行充值 |
109 | 今日发送超过限额 | 如果设置了日发送数量,则每个接收号码不得超过这个数量 |
110 | 应用秘钥(AppSecret)错误 | 检查AppSecret是否输入错误,或是否已在用户中心进行了秘钥重置 |
111 | 账号不存在 | 请联系工作人员申请账号 |
1000 | 系统位置错误 | 请联系工作人员或技术人员检查原因 |
5)查看余额
通过该接口可查看当前剩余的短信条数
zhenzisms.client.balance(function(res){ console.log(res.data) });
返回结果是json格式的字符串, code: 查询状态,0为成功,data为剩余短信条数。非0为查询失败,可从data中查看错误信息
错误代码表
错误码 | 原因 | 解决方案 |
---|---|---|
100 | 参数格式错误 | 检查请求参数是否为空 |
105 | appId错误或应用不存在 | 请联系工作人员申请应用或检查appId是否输入错误 |
106 | 应用被禁止 | 请联系工作人员查看原因 |
107 | ip错误 | 如果设置了ip白名单,系统会检查请求服务器的ip地址,已确定是否为安全的来源访问 |
110 | 应用秘钥(AppSecret)错误 | 检查AppSecret是否输入错误,或是否已在用户中心进行了秘钥重置 |
1000 | 系统位置错误 | 请联系工作人员或技术人员检查原因 |
6)查询短信
接口描述
根据messageId查询已发送短信
zhenzisms.client.findSmsByMessageId(function(res){ console.log(res.data) }, 'dfee_dfdw_xdfd_dfdfd');
请求参数
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
messageId | 是 | string | 信息id,对应发送短信接口的messageId字段 |
返回结果
返回结果是json格式的字符串, code: 查询状态,0为成功。非0为失败,可从data中查看错误信息
{ "code":0, "data":{} }
返回结果是json格式的字符串, code: 查询状态,0为成功,data短信信息的json字符串
原文: http://smsow.zhenzikj.com/news/detail/299.html