/// <summary> /// 构建发送验证码短信的请求参数:指明由易盾生成验证码 /// </summary> private static Dictionary <String, String> CreateSendParam( String businessId, String templateId, IDictionary <string, string> variables, String to, String countryCallingCode) { var paramDict = new Dictionary <string, string> { ["nonce"] = ParamUtils.CreateNonce(), ["timestamp"] = DateTimeOffset.Now.ToUnixTimeMilliseconds().ToString(), ["version"] = "v2", ["secretId"] = SECRET_ID, ["businessId"] = businessId, ["templateId"] = templateId, ["mobile"] = to, ["paramType"] = "json", ["params"] = ParamUtils.SerializeVariables(variables), // 指明由易盾生成验证码: // codeName 表示目标模板内容中,验证码的占位符变量名。如,模板内容为 “您的验证码为${code},5分钟内有效,请勿泄露。”,则 codeName 的值应为 code ["codeName"] = "code", // codeLen 表示验证码的数字个数 ["codeLen"] = "6", // codeValidSec 表示验证码的有效期。单位:秒 ["codeValidSec"] = "300" }; // 如果要发送国际短信,则需要指明国际电话区号。如果不是国际短信,则不要指定此参数 if (!string.IsNullOrWhiteSpace(countryCallingCode)) { paramDict["internationalCode"] = countryCallingCode; } // 在最后一步生成此次请求的签名 paramDict["signature"] = ParamUtils.GenSignature(SECRET_KEY, paramDict); return(paramDict); }