短信服务怎么使用API/SDK发送短信

本文涉及的产品
国际/港澳台短信套餐包,全球plus 100条 6个月
身份二要素核验,500次流量包 3个月
短信服务,200条 3个月
简介: 如何快速使用阿里云OpenAPI开发者门户或阿里云SDK完成常见操作,例如添加短信签名、添加短信模板、发送短信服务和查询短信发送详情等

短信服务是阿里云为用户提供的一种通信服务的能力,分为国内短信和国际/港澳台短信服务。本文介绍如何快速使用阿里云OpenAPI开发者门户或阿里云SDK完成常见操作,例如添加短信签名、添加短信模板、发送短信服务和查询短信发送详情等,将指定信息发送至国内或境外手机号码。

背景信息
调用API时,您可以根据API文档了解使用说明,并查询必选的请求参数。发送请求后报错时,您可以在相应API文档中获取错误码说明。
p350144.jpg

调用方式
OpenAPI开发者门户示例:如果您经常使用交互式操作界面,或者您是初次使用阿里云产品的开发者用户,可选用此方式。您可以在OpenAPI开发者门户中调试和获取SDK请求示例,详情请参见阿里云 OpenAPI 开发者门户是什么。
Java SDK示例:适用于SDK编码场景。使用升级版Java SDK要求您已提前安装Java 8或以上版本,安装详情请参见安装与使用教程。其他编程语言SDK,请参见短信服务SDK。
使用须知
使用短信服务前,请了解以下注意事项:
仅当短信签名的适用场景为通用时,国内短信和国际/港澳台短信可以共用此签名,无需分别添加。
国内短信模板与国际/港澳台短信模板不通用,请根据实际业务情况分别添加、使用。
填写签名、模板申请信息时,请正确选择签名适用场景、模板类型,详细描述已上线业务的使用场景,并提供可以验证这些业务的网站链接、已备案域名地址、应用市场下载链接、公众号或小程序全称等信息。对于登录场景,还需提供测试账号密码。信息完善的申请说明会提高签名、模板的审核效率。
短信签名和短信模板均需审核通过后方可使用。
准备工作
注册账号与实名认证。
说明
实名认证的类型包括个人认证和企业认证。个人认证表示账号持有者是个人、以个人身份使用短信服务;企业认证表示账号持有者是企业或政府部门,以企业身份使用短信服务。个人认证和企业认证可使用的功能不完全相同。更多信息,请参见认证模式。
发送推广短信、国际/港澳台短信必须为企业实名认证用户。
如果您未注册阿里云账号,请先完成账号注册和实名认证。
如果您已有实名认证的阿里云账号,请直接进行下一步操作,开通短信服务。
开通短信服务。
登录短信服务控制台,勾选开通协议,单击开通服务。

获取AccessKey。
阿里云访问密钥(AccessKey)是调用API访问云资源的安全口令,支持阿里云账号和RAM用户方式访问。调用API前,您需要先创建AccessKey。具体操作,请参见创建AccessKey。
OpenAPI开发者门户示例
调用API发送短信的全流程如下所示:API发送短信流程图
通过AddSmsSign添加短信签名。
通过AddSmsTemplate添加短信模板。
分别通过QuerySmsSign、QuerySmsTemplate查看短信签名和短信模板的审核状态。
通过SendSms发送短信,您也可以通过SendBatchSms批量发送短信。
通过QuerySendDetails查询短信发送详情。
短信发送后,通过配置MNS消息队列消费模式和HTTP批量推送模式,可以接收短信发送状态的结果和用户回复的短信内容,帮助您掌握短信的发送成功率,为其他业务提供支持。更多信息,请参见回执消息简介与配置流程。
Java SDK示例
以AddSmsTemplate为例,演示如何通过阿里云SDK调用短信服务API。示例代码中的下列参数需要您根据实际情况自行填写。
AccessKeyId:您的AccessKey ID。
AccessKeySecret:您的AccessKey Secret。
TemplateType:短信模板类型。
TemplateName:短信模板名称。
TemplateContent:短信模板内容。
Remark:短信模板申请说明。
import com.alibaba.fastjson.JSONObject;
import com.aliyun.dysmsapi20170525.models.*;
import com.aliyun.teaopenapi.models.*;

public class AddSmsTemplate {

public static com.aliyun.dysmsapi20170525.Client createClient(String accessKeyId, String accessKeySecret) throws Exception {
    Config config = new Config()
            // 您的AccessKey ID
            .setAccessKeyId(accessKeyId)
            // 您的AccessKey Secret
            .setAccessKeySecret(accessKeySecret);
    // 访问的域名
    config.endpoint = "dysmsapi.aliyuncs.com";
    return new com.aliyun.dysmsapi20170525.Client(config);
}

public static void main(String[] args_) throws Exception {
    java.util.List<String> args = java.util.Arrays.asList(args_);
    com.aliyun.dysmsapi20170525.Client client = Sample.createClient("accessKeyId", "accessKeySecret");
    AddSmsTemplateRequest addSmsTemplateRequest = new AddSmsTemplateRequest()
            .setTemplateType(0)
            .setTemplateName("content3")
            .setTemplateContent("您正在申请手机注册,验证码为:${code},5分钟内有效!")
            .setRemark("用于文件下载时的验证码");
    // 复制代码运行请自行打印API的返回值
    client.addSmsTemplate(addSmsTemplateRequest);
    AddSmsTemplateResponse response=client.addSmsTemplate(addSmsTemplateRequest);
    System.out.println(JSONObject.toJSONString(response));
}

}

相关文章
|
5天前
|
编译器 API 定位技术
API和SDK的区别
API 和 SDK 的区别在于:API 是一组定义了软件组件之间交互规范的接口,用于实现不同软件组件之间的通信;而 SDK 是一个全面的工具集合,包含 API、编译器、调试器、文档等,用于特定平台的应用程序开发。SDK 范围更广,内容更丰富,更具体和具象化,适合复杂的开发需求;API 则更加抽象,侧重于功能的定义和调用方式。
|
4天前
|
编译器 API 定位技术
API和SDK的区别
API(应用程序编程接口)和SDK(软件开发工具包)的主要区别在于范围、内容、抽象程度及使用方式。API定义了软件组件间的交互规则,范围较窄,更抽象;而SDK提供了一整套开发工具,包括API、编译器、调试器等,范围广泛,具体且实用,有助于提高开发效率。
|
2月前
|
API 开发工具 图形学
PicoVR Unity SDK⭐️五、常用API接口函数一览
PicoVR Unity SDK⭐️五、常用API接口函数一览
|
2月前
|
存储 监控 开发工具
Django 后端架构开发:手机与邮箱验证码接入、腾讯云短信SDK和网易邮箱
Django 后端架构开发:手机与邮箱验证码接入、腾讯云短信SDK和网易邮箱
51 0
|
2月前
|
JSON Java API
【Azure API 管理】通过Java APIM SDK创建一个新的API,如何为Reqeust的Representation设置一个内容示例(Sample)?
【Azure API 管理】通过Java APIM SDK创建一个新的API,如何为Reqeust的Representation设置一个内容示例(Sample)?
|
2月前
|
缓存 JavaScript 前端开发
微信 JS-SDK Demo “分享信息设置” API 及数字签名生成方法(NodeJS版本)
微信 JS-SDK Demo “分享信息设置” API 及数字签名生成方法(NodeJS版本)更新时间(2020-10-29)
|
API 开发工具 Android开发
新浪微博Oauth2.0授权认证及SDK、API的使用(Android)
---------------------------------------------------------------------------------------------- [版权申明:本文系作者原创,转载请注明出处] 文章出处:http://blog.csdn.net/sdksdk0/article/details/51939853作者:朱培      ID:sdksdk0
1614 0
|
2月前
|
JavaScript 前端开发 Java
[Android][Framework]系统jar包,sdk的制作及引用
[Android][Framework]系统jar包,sdk的制作及引用
59 0
|
2月前
|
开发工具 Android开发
解决Android运行出现NDK at /Library/Android/sdk/ndk-bundle did not have a source.properties file
解决Android运行出现NDK at /Library/Android/sdk/ndk-bundle did not have a source.properties file
149 4
解决Android运行出现NDK at /Library/Android/sdk/ndk-bundle did not have a source.properties file
|
2月前
|
Dart 开发工具 Android开发
Android Studio导入Flutter项目提示Dart SDK is not configured
Android Studio导入Flutter项目提示Dart SDK is not configured
207 4

热门文章

最新文章