title: 验证码短信

准备工作

配置短信

验证码短信需配置三部分: 签名、模版、变量。

配置签名

签名出现在你下发短信的开头,实际效果如下图中的【野狗实时】。签名可以是你的公司简称,品牌名或网站名。通过 控制面板-短信-配置 配置短信签名,同时需要提交相关资质,审核通过后可使用。

title: 验证码短信 - 图1

提示:

  • 每一个应用只能创建一个短信签名。
  • 更改签名需要在 控制面板-短信-配置 页面中提交相关资质。
  • 签名提交后需审核,在审核期间可以使用旧的签名发送短信。
  • 配置模版

    选择野狗提供的模版

    你可以使用野狗提供的验证码模版。目前野狗提供两种模版,可分别于验证号码重置密码场景。 模版内容由固定内容和一个 6 位验证码组成,验证码由野狗生成和校验。使用过程如下:

    title: 验证码短信 - 图2

    提示:

  • 验证码模版需要调用短信模板 ID。
  • 验证码有效时间默认为 10 分钟。
  • 野狗提供的验证码模版如下:

    title: 验证码短信 - 图3

    该模版可用于:

    • 注册时发送验证码短信
    • 登录时发送验证码短信
    • 找回/修改密码时发送验证码短信
    • 绑定银行/实名认证时发送验证码短信等。

    自定义验证码模版

    你也可以自定义验证码模版,需要自行生成和校验验证码。配置模版内容需要带有关键字验证码以及至少一个%s。 并且自行生成的验证码需要是 6 位数字。每个用户可以用变量来替换部分内容,每个应用最多创建 50 条验证码模版。配置的验证码模版需要提交审核。使用过程如下:

    title: 验证码短信 - 图4

    通过 控制面板-短信-模板 创建验证码短信模板,操作如下:

    title: 验证码短信 - 图5

    点击添加模版后开始自定义验证码模版

    title: 验证码短信 - 图6

    配置变量

    野狗短信提供的模板短信由固定内容与多个变量构成,其中 %s 为需要接口替换的变量,发送短信时,接口会按顺序依次传入要替换的变量。

    参数 类型 必选 说明
    params string 短信参数列表,用于依次填充模板,若使用自定义验证码模板,则此参数必填,JSONArray格式,如[“xxx”,”yyy”]

    提示:

  • 变量内容可以是汉字、字母、数字或者特殊字符。
  • 单个变量内容长度不得超过30个字符。
  • 一条模板短信中变量数量不限制,但不能连续使用5个变量。
  • 例如,配置模板如下:

    1. 你正在修改密码,验证码是%s10分钟内有效

    如果提交params参数为:

    1. ["111111"]

    则替换变量后短信内容为:

    1. 你正在修改密码,验证码是11111110分钟内有效

    短信字符限制

    短信分为普通短信和长短信:

    • 普通短信每条限制 70 个字符。

    • 超过 70 个字符即为长短信,长短信最多支持 300 个字符。每条长短信将被拆分,其中每条信息限制为 67 个字符。

    例如:一条 134 个字符的长短信,将被拆分为(67个字符+67个字符) 共 2 条信息,同时按两条普通短信计费。

    配置上行接口(选配)

    野狗支持以下数据的上行推送:

    1. 1. 短信发送状态报告
    2. 2. 用户回复的短信内容(上行内容)

    配置上行接口后,野狗会将短信发送状态或用户回复内容发送至该接口。可选择配置,默认关闭。

    你需要提供一个公网可访问的 http 接口地址,在 控制面板-短信-配置 中配置为推送地址。如下:

    title: 验证码短信 - 图7

    提示:

  • 如果连续 5 次接口请求失败,上行功能将被禁用,需要在控制面板重新开启。
  • 你需要保证接口的安全性,以防止恶意调用。
  • 系统接收到运营商返回的发送状态报告或上行内容后,将状态或上行内容以http post形式发送至配置的推送地址。

    发送状态推送数据格式如下:

    1. {
    2. "data": [
    3. {
    4. "status": "Success", //Success代表成功 Failure代表失败
    5. "deliveryStatus": "DELIVRD",
    6. "mobile": "xxxxxxxxxxx",
    7. "rrid": "$rrid",
    8. "receiveTime": "2016-12-28 14:43:21"
    9. }
    10. ],
    11. "type": 1 //type为1代表状态类型
    12. }

    短信上行数据格式如下:

    1. {
    2. "data": [
    3. {
    4. "content": "回复内容",
    5. "mobile": "xxxxxxxxxxx",
    6. "rrid": "$rrid",
    7. "receiveTime": "2016-12-28 15:18:30",
    8. "extno": "0001"
    9. }
    10. ],
    11. "type": 3 //type为3代表通知类或验证码类上行类型
    12. }

    调用接口