阿里短信调用

示例代码

String telephone = formData.get("phone");
		JSONObject json = null;
		// 生成6位验证码
		String verifyCode = String.valueOf(new Random().nextInt(899999) + 100000);
		json = new JSONObject();
		json.put("verifyCode", verifyCode);
		json.put("createTime", System.currentTimeMillis());
		json.put("phone", telephone);
		WxSessionUtil.setCodeKey(token, json.toString());

		System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
		System.setProperty("sun.net.client.defaultReadTimeout", "10000");
		//**阿里用户ak  aks**
		String accessKeyId = PropertiesUtils.getInstance().getProperty(Constants.ALI_AK);
		String ali_accessKeySecret = PropertiesUtils.getInstance().getProperty(Constants.ALI_AKS);

		IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, ali_accessKeySecret);
		DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", "Dysmsapi", "dysmsapi.aliyuncs.com");

				IAcsClient acsClient = new DefaultAcsClient(profile);
				// 组装请求对象-具体描述见控制台-文档部分内容
				SendSmsRequest requestSms = new SendSmsRequest();
				// 必填:待发送手机号
				requestSms.setPhoneNumbers(telephone);
				String signName = PropertiesUtils.getInstance().getProperty(Constants.ALI_SIGNNAME);
				String templateCode = PropertiesUtils.getInstance().getProperty(Constants.ALI_TEMPLATECODE);
				// 必填:短信签名-可在短信控制台中找到
				requestSms.setSignName(signName);
				// 必填:短信模板-可在短信控制台中找到
				requestSms.setTemplateCode(templateCode);
				// 可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
				requestSms.setTemplateParam("{\"code\":\"" + verifyCode + "\"}");
				SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(requestSms);
				if(sendSmsResponse.getCode() != null) {
					WxAlisms wxAlisms = new WxAlisms();
					wxAlisms.setIdUser(userId);
					wxAlisms.setTelephone(telephone);
					wxAlisms.setCode(sendSmsResponse.getCode());
					wxAlisms.setBizid(sendSmsResponse.getBizId());
					wxAlisms.setMessage(sendSmsResponse.getMessage());
					wxAlisms.setRequestid(sendSmsResponse.getRequestId());
					String ipAddrJee = IpUtils.getRemoteAddr(request);
					wxAlisms.setIpaddr(ipAddrJee);
					wxAlismsService.save(wxAlisms);
				}

sendSmsResponse 返回参数

名称 类型 示例值 描述
BizId String 900619746936498440^0

发送回执ID,可根据该ID在接口QuerySendDetails中查询具体的发送状态。

Code String OK

请求状态码。

  • 返回OK代表请求成功。
  • 其他错误码详见错误码列表。
Message String OK

状态码的描述。

RequestId String F655A8D5-B967-440B-8683-DAD6FF8DE990

请求ID。

短信服务(Short Message Service)是阿里云为用户提供的一种通信服务的能力。
支持向国内和国际快速发送验证码、短信通知和推广短信,服务范围覆盖全球200多个国家和地区。国内短信支持三网合一专属通道,与工信部携号转网平台实时互联。电信级运维保障,实时监控自动切换,到达率高达99%。完美支撑双11期间20亿短信发送,6亿用户触达。

限制项 限制说明 备注
短信验证码 使用同一个签名,默认情况下对同一个手机号码发送短信验证码,1条/分钟,5条/小时,10条/天。您可以在系统设置>国内消息设置中修改发送频率。一个手机号码通过阿里云短信服务平台只能收到40条/天。 若在发送验证码时提示业务限流,建议根据以上业务调整接口调用时间。
短信通知 使用同一个签名和同一个短信模版ID,对同一个手机号码发送短信通知,最多支持50条/日。 若在发送验证码时提示业务限流,建议根据以上业务调整接口调用时间。
推广短信 使用同一个签名和同一个短信模版ID,对同一个手机号码发送推广短信,最多支持50条/日。 若在发送验证码时提示业务限流,建议根据以上业务调整接口调用时间。

短信内容长度计算规则
短信字数=短信模版内容字数 + 签名字数
短信字数≤70个字数,按照70个字数一条短信计算
短信字数>70个字数,即为长短信,按照67个字数记为一条短信计算
注意:在统计短信字数时,小数点、字母、汉字以及其他符号均按照一个字符位进行统计。最终按照实际发送成功的短信条数计费。

名词 说明
短信服务 短信服务(Short Message Service)是阿里云为用户提供的一种通信服务的能力。
支持国内和国际快速发送验证码、短信通知和推广短信,服务范围覆盖全球200多个国家和地区。国内短信支持三网合一专属通道,与工信部携号转网平台实时互联。电信级运维保障,实时监控自动切换,到达率高达99%。
国内短信 是阿里云为国内个人和企业用户提供的短信发送服务,通过API/SDK、群发助手方式调用短信发送能力,将指定信息发送至国内手机号码,用于个人和企业向手机号码发送验证码、短信通知、推广短信等短信。
国际/港澳台短信 是阿里云为全球企业用户提供的短信发送服务,通过API/SDK、群发助手方式调用短信发送能力,将指定信息发送至境外手机号码,用于企业向注册用户发送验证码、短信通知、推广短信等短信。
支持从中国境内向港澳台及其他境外手机号码发送短信、以及在境外地区之间向境外手机号码发送短信。
文本短信 是阿里云为个人和企业用户提供的纯文本短信发送服务,通过API/SDK、群发助手方式调用短信发送能力,将指定信息发送至全球手机号码,用于个人和企业向用户发送验证码、短信通知、推广短信等短信。
验证码 是阿里云为全球个人和企业用户提供的验证码发送服务,国内短信验证码支持三网合一专属通道,秒级可达。
阿里云短信支持发送国际短信验证码,支持全球语言,适用于APP/网站注册、安全登陆、支付认证、身份认证、密码找回、账号绑定等应用场景。
短信通知 是阿里云为全球个人和企业用户提供的短信通知发送服务,支持国际通知短信,快速触达全球用户,助力企业海外拓展,适用于订单通知、支付通知、物流通知、会议通知、政府通知、生活服务类通知、跨境订单通知、跨境物流通知等应用场景。
推广短信 是阿里云为全球企业用户提供的短信通知发送服务,国内推广短信支持回复,双向连接,帮助企业与客户建立有效即时互动。
阿里云短信服务支持全球多种场景的短信发送服务,适用于新品宣传、会员关怀、商品促销、活动邀请、跨境营销等应用场景。
短信模板 即具体发送的短信内容模板。
短信模版支持验证码、短信通知、推广短信三种模式;验证码和短信通知支持通过变量替换实现个性短信定制,推广短信不支持在模版中添加变量;短信模版需要审核通过后才可以使用。
短信签名 是一种快捷、方便的个性化签名方式。当发送短信时,短信平台会根据设置,在短信内容里附加个性化签名,再发送给被叫手机手机号码。申请签名企业用户需要上传相关企业资质证明,个人用户需要上传个人身份的证明。
群发助手 群发助手是一种SaaS工具,您可以手动选择签名和模版对批量手机号发送,适用于初次接触短信服务的新手。
国内文本短信、数字短信、国际/港澳台短信均支持群发助手,群发助手支持发送验证码、短信通知、推广短信类模版。

国内短信月消费金额=月累计短信成功发送量所在的档位*月累计短信发送成功量。例如:1-10万单价是0.045元/条,10-30万单价是0.04元/条,若您当月累计用了15万,则消费金额为15万*0.04元/条。

你可能感兴趣的:(工作之余回顾整理)