接入阿里短信平台

1.需求场景

我们公司的售后系统需要在接收到客户的售后产品时需要给用户推送一条短信消息,告知用户他的快递我们已经收到会尽快处理客户的售后问题。

2.解决方案

2.1 使用阿里的短信平台服务

参考阿里云短信平台:https://help.aliyun.com/product/44282.html?spm=5176.12226203.0.0.f17a1cbeXRbQ9i

2.2 申请短信模板

参考阿里云短信凭条的短信模板说明和申请流程:https://dysms.console.aliyun.com/dysms.htm?spm=5176.2020520169.nav-right.2.2ae375bd55tlb0#/domestic/text/sign

2.2.1 无参数模板

简单的理解就是用户收的短信内容不能定制。在阿里云申请模板是什么样子的那么用户收到的信息也就是什么样子的。

2.2.2 有参数模板

简单的理解就是用户收到的信息是我们可以一定程度上定制。我们在阿里云平台上申请短信模板时会设置一些我们预先设置好占位符,在真正的使用模板发送短信时我们用我肯需要的字符来替换我们预先设置的占位符达到短信定制效果。
举个例就是我们经常受到一些短信验证码的信息,那么发短息的平台就是使用的有参数的短信模板来给用户发信息的。

2.3 申请短信签名

短信签名是调用api时必填的参数。短信签名会出现在用户收到的短信的最前面,简单的理解可以认为是让用户知道是那个公司给他发送的短信。

2.4 accessKeyId和accessSecret

accessKeyId和accessSecret是我们在调用api时必填的参数。另外accessKeyId和accessSecret拥有该账号的所有权限,一定要做好保密措施。

2.5 调试
2.5.1 阿里在先调试平台

阿里提供了一个在线调试工具,参考地址:https://api.aliyun.com/new?spm=a2c4g.11186623.2.13.5b0119d9PGJKeD#/?product=Dysmsapi&version=2017-05-25&api=SendSms&tab=DEMO&lang=JAVA
在这里插入图片描述

2.5.1 调用阿里的sdk本地调试
2.5.1.1 maven的pom文件引入阿里的sdk:
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <version>4.0.3</version>
        </dependency>

2.5.1.2 代码实现

这里有点小问题:阿里提供的的Demo里面的对应的方法没有点进实现类里面才发现方法写错了。CommonRequest类里面的setSysXXX的时候应该是setXXX。已经提工单给到阿里。

  DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "Gvi5XXXXXXXbMeos", "EBsOb3m98pXXXXXXXx0DajvwSsTIJVF");
            IAcsClient client = new DefaultAcsClient(profile);
            CommonRequest request = new CommonRequest();
            request.setMethod(MethodType.POST);
            request.setDomain("dysmsapi.aliyuncs.com");
            request.setVersion("2017-05-25");
            request.setAction("SendSms");
            request.putQueryParameter("RegionId", "cn-hangzhou");
            request.putQueryParameter("PhoneNumbers", PhoneNumbers);
            request.putQueryParameter("SignName", "火火兔售后");
            request.putQueryParameter("TemplateCode", "SMS_18794XXXXX");
            request.putQueryParameter("TemplateParam", "{\"maintenanceCosts\":" + maintenanceCosts + "}");
            try {
                CommonResponse response = client.getCommonResponse(request);
            } catch (ServerException e) {
                e.printStackTrace();
            } catch (ClientException e) {
                e.printStackTrace();
            }
2.6 最终效果

在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值