开发者社区 问答 正文

params must be [a-zA-Z0-9] for verification sms

调用借口出现标题报错
{
     "Message":"params must be [a-zA-Z0-9] for verification sms",
     "RequestId":"",
     "Code":"isv.INVALID_PARAMETERS"
}
$result = SmsFactory::factory($config)->sendSms('182xxxxxxxx', 'XXXX教练', 'SMS_xxxxxxx', [
'code' => 'asdf12'
]);

展开
收起
piodoo 2018-08-29 17:00:35 4216 分享 版权
阿里云 AI 助理回答

这个错误信息提示的是在尝试发送验证码短信时,参数格式不正确。具体来说,错误码isv.INVALID_PARAMETERS和错误信息params must be [a-zA-Z0-9] for verification sms指出用于验证短信的参数必须只包含大小写字母和数字。

在您的代码示例中:

$result = SmsFactory::factory($config)->sendSms('182xxxxxxxx', 'XXXX教练', 'SMS_xxxxxxx', [
    'code' => 'asdf12'
]);

问题可能出在第二个参数 'XXXX教练',这是模板中的签名或者变量值。根据错误提示,这个部分应该只包含字母和数字。因此,如果'XXXX教练'是作为短信签名的话,它不符合阿里云短信服务对于签名内容的要求。

解决方法: 1. 修改签名内容:确保短信签名仅使用字母(a-zA-Z)和数字(0-9)。如果“XXXX教练”是您想要展示的品牌或发送者名称,您需要将其调整为符合规范的格式,例如“XXXXJL”或类似的组合。

  1. 检查模板配置:确认在阿里云短信服务控制台中,该短信模板是否允许使用非字母数字字符作为变量或固定文本。如果是模板ID有误,也请检查并更正为正确的模板ID。

  2. 变量值检查:虽然报错没有直接指出变量值的问题,但同样确保传递给模板的所有变量值也遵循相同的规则,即只包含字母和数字。

综上所述,您需要登录阿里云控制台,对短信签名进行修改以满足要求,并相应地调整您的代码中涉及签名的部分。如果问题依然存在,建议详细检查与短信服务相关的所有配置,包括模板设置、签名管理等,或联系阿里云技术支持获取进一步帮助。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答地址: