您可以通过SDK快速集成,调用API从而使用短信服务。
本文以发送短信(SendMessageToGlobe)接口为例,引导您完成短信服务API调用。您将了解到:
如何创建RAM用户并授权。
如何配置开发环境。
如何调用短信服务API。
如果您已经熟悉如何调用API,可直接查阅API目录,调用所需接口。
推荐使用SDK集成的方法对API进行调用。如果您希望自定义封装请求对API进行调用,请参见V3版本请求体&签名机制。
准备工作
准备事项 | 说明 | 相关文档 |
短信签名 | 完成签名申请并审核通过后,获取签名名称。 | |
短信模板 | 完成模板申请并审核通过后,获取模板Code。 | |
用户权限 | 说明 阿里云主账号拥有较高权限,建议您通过RAM用户进行API调用和日常运维。 请确保您所调用API的RAM用户已有短信服务相关权限:
如果您需要新建自定义权限,请参见授权信息。 | |
AccessKey ID | 您可以通过RAM控制台,单击RAM用户名称查看。 | |
AccessKey Secret | 创建后不支持查看,若本地无备份,建议重新创建一对AccessKey使用。 |
创建RAM用户并授权
配置开发环境
本文以Java语言为例,进行后续操作。如果您需要使用其他编程语言,请参见SDK参考。
配置Java环境
初始化请求客户端
阿里云SDK支持多种访问凭据用于初始化客户端,例如AccessKey和STS Token等,更多方式请参见管理访问凭据。本文以AccessKey初始化客户端为例,进行后续操作。
配置AccessKey
为避免在代码中硬编码AccessKey而造成泄露,请通过配置环境变量的方式获取AccessKey。环境变量配置方法,请参见在Linux、macOS和Windows系统配置环境变量。
本文以环境变量名ALIBABA_CLOUD_ACCESS_KEY_ID
和ALIBABA_CLOUD_ACCESS_KEY_SECRET
为例,进行后续操作。通过环境变量获取AccessKey的代码示例如下:
Config config = new Config()
// 请确保代码运行环境配置了相应环境变量
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
System.getenv()
方法表示获取系统环境变量,请配置环境变量后,在此填入环境变量名称。请不要直接填入AccessKey信息。
配置服务接入点
配置服务接入点代码示例如下,请根据您的地域填入相应地址,参见服务接入点。
config.endpoint = "dysmsapi.ap-southeast-1.aliyuncs.com";
调用API
构建API请求
构造API请求并根据您的业务需要传入参数。
API请求对象命名规则为{API名称}Request
,例如SendSms
接口的请求对象为SendSmsRequest
。
SendMessageToGlobeRequest sendSmsRequest = new SendMessageToGlobeRequest()
.setTo("<YOUR_VALUE>")
.setMessage("<YOUR_VALUE>");
发送API请求
使用SendMessageToGlobe接口完成API请求。
API返回对象命名规则为{API名称}Response
,例如SendSms
接口的返回对象为SendSmsResponse
。
SendMessageToGlobeResponse sendSmsResponse = client.sendMessageToGlobe(sendSmsRequest);
常见问题
如何查看AccessKey ID和AccessKey Secret?
AccessKey Secret创建后不支持查看,若本地无备份,建议重新创建一对AccessKey ID和AccessKey Secret使用。
如何自定义封装HTTP请求,然后使用curl
命令或Postman等工具进行API调用?
阿里云SDK已经封装了签名、超时、重试等机制,我们建议您使用SDK进行集成,降低开发成本。如果您需要自行封装请求来进行API测试,请参见V3版本请求体&签名机制。
下一步
通过OpenAPI门户进行在线调试,请访问短信服务在线调试入口。
批量发送短信,请使用BatchSendMessageToGlobe接口。
了解短信服务其他应用场景,请参见SDK示例。
获取短信发送量等统计数据,请访问业务统计。