十、软件设计&架构-微服务-短信服务


前言

短信服务--SMS


一、短信服务介绍

  短信服务(Short Message Service)是云服务商为用户提供的一种通信服务的能力。下面以阿里云为例进行介绍。

  • 产品优势:覆盖全面、高并发处理、消息堆积处理、开发管理简单、智能监控调度

  • 产品功能:短信通知、短信验证码、推广短信、异步通知、数据统计

  • 应用场景:短信验证码、系统信息推送、推广短信等

短信服务架构

二、短信服务使用

  接下来,我们使用短信验证码功能来演示短信服务的使用。流程如下:

短信服务流程

1. 准备工作

  1. 实名认证操作

实名认证

  1. 开通短信服务

开通短信服务
3. 申请认证秘钥

申请认证秘钥
4. 申请短信签名

申请短信签名
5. 申请短信模板

申请短信模板

2. 短信服务API介绍

  1. 短信发送(SendSms)

调用SendSms发送短信。

请求参数

名称 类型 是否必选 示例值 描述
PhoneNumbers String 15900000000 接收短信的手机号码。
SignName String 阿里云 短信签名名称。
TemplateCode String SMS_153055065 短信模板ID。
TemplateParam String {“code”:“1111”} 短信模板变量的值,JSON格式

返回数据

名称 类型 示例值 描述
BizId String 900619746936498440^0 发送回执ID,可根据它查询具体的发送状态。
Code String OK 请求状态码。返回OK代表请求成功。
Message String OK 状态码的描述。
RequestId String F655A8D5-B967-440B-8683 请求ID。
  1. 短信查询(QuerySendDetails)

调用QuerySendDetails接口查看短信发送记录和发送状态。

请求参数

名称 类型 是否必选 示例值 描述
CurrentPage Long 1 分页查看,指定发送记录的的当前页码。
PageSize Long 10 分页查看,指定每页显示的短信记录数量。
PhoneNumber String 15900000000 接收短信的手机号码。
SendDate String 20181228 短信发送日期,支持查询最近30天的记录。
BizId String 134523^4351232 发送回执ID,即发送流水号。

返回数据

名称 类型 示例值 描述
Code String OK 请求状态码。返回OK代表请求成功。
Message String OK 状态码的描述。
RequestId String 819BE656-D2E0 请求ID。
SmsSendDetailDTOs Array 短信发送明细。
TotalCount String 1 短信发送总条数。
  1. 功能测试

第1步: 引入阿里云服务依赖

<!--短信发送-->
<dependency>
	<groupId>com.alibaba.cloud</groupId>
	<artifactId>spring-cloud-alicloud-sms</artifactId>
</dependency>

第2步: 使用阿里云提供的Demo测试短信发送

<!--短信发送-->
public class SmsDemo {
   
	//产品名称:云通信短信API产品,开发者无需替换
	static final String product = "Dysmsapi";
	//产品域名,开发者无需替换
	static final String domain = "dysmsapi.aliyuncs.com";
	// TODO 此处需要替换成开发者自己的AK(在阿里云访问控制台寻找)
	static final String accessKeyId = "yourAccessKeyId";
	static final String accessKeySecret = "yourAccessKeySecret";
	//短信发送
	public static SendSmsResponse sendSms() throws ClientException {
   
		//可自助调整超时时间
		System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
		System.setProperty("sun.net.client.defaultReadTimeout", "10000");
		
		//初始化acsClient,暂不支持region化
		IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
		DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值