SendSmsVerifyCode - 发送短信验证码 更新时间:2026年7月3日 09:54:53 发送短信验证码。 接口说明 由于运营商近期加强对短信签名的管控。您自定义的签名面临下发失败问题,推荐您使用号码认证控制台赠送的短信签名和模板进行短信认证。系统赠送签名必须搭配系统赠送模板使用。 请确保在使用该接口前,已充分了解号码认证服务产品的收费方式和价格,短信认证服务仅收取短信发送费用(按运营商回执状态计费,短信提交成功但运营商回执失败时不计费),核验服务免费。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试 授权信息 下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下: 操作:是指具体的权限点。 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。 资源类型:是指操作中支持授权的资源类型。具体说明如下: 对于必选的资源类型,用前面加 * 表示。 对于不支持资源级授权的操作,用全部资源表示。 条件关键字:是指云产品自身定义的条件关键字。 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。 放大查看 操作 访问级别 资源类型 条件关键字 关联操作 dypns:SendSmsVerifyCode create *全部资源 * 无 无 请求参数 放大查看 名称 类型 必填 描述 示例值 SchemeName string 否 方案名称,如果不填则为“默认方案”。最多不超过 20 个字符。 测试方案 CountryCode string 否 号码国家编码。默认为 86,目前也仅支持国内号码发送。 86 PhoneNumber string 是 短信接收方手机号。 130****0000 SignName string 是 签名名称。暂不支持使用自定义签名,请使用系统赠送的签名,您可在赠送签名配置页面选择需要下发的签名。 恒创联众 TemplateCode string 是 短信模板 CODE。参数SignName选择赠送签名时,必须搭配赠送模板下发短信。您可在赠送模板配置页面选择适用您业务场景的模板。 100001 TemplateParam string 是 短信模板参数。验证码位置有两种传值方式: 可使用"##code##"替代,由参数 CodeType 指定验证码生成规则; 也可直接传入具体的验证码值,直接下发至接收方。 示例:如模板内容为:“您的验证码是${code},有效期${min}分钟,请勿告诉他人。”。 重要 上文中的 code 请替换成您实际申请的验证码模板中的参数名称 该字段可传入{"code":"##code##","min":"5"}由系统根据规则生成验证码; 或直接传入指定的验证码值{"code":"123456","min":"5"}。 说明 {"code":"##code##","min":"5"}验证码是 api 动态生成的,阿里云接口可以完成校验。 {"code":"123456","min":"5"}验证码是用户配置的不是 api 动态生成,阿里云接口无法校验。 说明 如果 JSON 中需要带换行符,请参照标准的 JSON 协议处理。 模板变量规范,请参见短信模板规范。 {"code":"##code##","min":"5"} SmsUpExtendCode string 否 上行短信扩展码。上行短信指发送给通信服务提供商的短信,用于定制某种服务、完成查询,或是办理某种业务等,需要收费,按运营商普通短信资费进行扣费。 说明 扩展码是生成签名时系统自动默认生成的,不支持自行传入。无特殊需要此字段的用户请忽略此字段。如需使用,请联系您的商务经理。 1213123 OutId string 否 外部流水号。 外部流水号(透传) CodeLength integer 否 验证码长度支持 4~8 位长度,默认是 4 位。 4 ValidTime integer 否 验证码有效时长,单位秒,默认为 300 秒。 300 DuplicatePolicy integer 否 核验规则,当有效时间内对同场景内的同号码重复发送验证码时,旧验证码如何处理。 1:覆盖处理(默认),即旧验证码会失效掉。 2:保留,即多个验证码都是在有效期内都可以校验通过。 枚举值: 1 : 覆盖 2 : 保留 1 Interval integer 否 时间间隔,单位:秒。即多久间隔可以发送一次验证码,用于频控,默认 60 秒。 60 CodeType integer 否 生成的验证码类型。当参数 TemplateParam 传入占位符时,此参数必填,将由系统根据指定的规则生成验证码。取值: 1:纯数字(默认)。 2:纯大写字母。 3:纯小写字母。 4:大小字母混合。 5:数字+大写字母混合。 6:数字+小写字母混合。 7:数字+大小写字母混合。 枚举值: 1 : 纯数字 2 : 纯大写字母 3 : 纯小写字母 4 : 大小字母混合 5 : 数字+大写字母混合 6 : 数字+小写字母混合 7 : 数字+大小写字母混合 1 ReturnVerifyCode boolean 否 是否返回验证码。取值: true:返回。 false:不返回。 true AutoRetry integer 否 是否自动替换签名重试(默认开启),可取值: 1 开启自动重试功能,开启后,在验证码有效期内,当运营商返回明确的失败状态时,允许阿里云尽可能的尝试使用其他方式发送验证码,以提升发送成功率。其他方式包括且不限于:通过其他运营商重试、更换签名重试等 0 不开启自动重试 是否自动重试 返回参数 放大查看 名称 类型 描述 示例值 object AccessDeniedDetail string 访问被拒绝详细信息。 无 Message string 状态码的描述。 成功 RequestId string 请求 ID。 CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47 Model object 请求结果数据。 VerifyCode string 验证码。 4232 RequestId string 请求 ID。 a3671ccf-0102-4c8e-8797-a3678e091d09 OutId string 外部流水号。 1231231313 BizId string 业务 ID。 112231421412414124123^4 Code string 请求状态码。返回 OK 代表请求成功。其他错误码,请参见返回码列表。 OK Success boolean 请求是否成功。 true:请求成功。 false:请求失败。 true 示例 正常返回示例 JSON格式 放大查看复制代码 { "AccessDeniedDetail": "无", "Message": "成功 ", "RequestId": "CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47", "Model": { "VerifyCode": "4232", "RequestId": "a3671ccf-0102-4c8e-8797-a3678e091d09", "OutId": "1231231313", "BizId": "112231421412414124123^4" }, "Code": "OK", "Success": true } 错误码 放大查看 HTTP status code 错误码 错误信息 描述 400 MOBILE_NUMBER_ILLEGAL The mobile number is illegal. 手机号码格式错误 400 BUSINESS_LIMIT_CONTROL The number has exceeded the limit for the day. 触发号码天级流控 400 FREQUENCY_FAIL Check frequency fail. 频控校验未通过 400 INVALID_PARAMETERS parameter is not valid. 非法参数 400 FUNCTION_NOT_OPENED You have not opened this function. 没有开通融合认证功能