向指定的手機號碼發送短信。
接口說明
本接口主要用于向單個手機號發送短信,也支持向多個手機號(單次最多支持 1000 個手機號)發送相同簽名、相同模板變量的短信,群發存在一定延遲。如果您需要向多個手機號發送不同簽名、不同模板變量的短信,請使用 SendBatchSms 接口(單次最多支持 100 個手機號)。
注意事項
- 國內短信服務超時時間建議設置為≥1S;發生超時失敗的情況時,建議查看回執狀態后再判斷是否重試。超時和重試的相關設置,請參見超時機制、重試機制。
- 國內短信、國際短信及多媒體短信目前均不支持冪等的能力,請您做好冪等控制,防止因多次重試而導致的重復操作問題。
- 發送短信會根據發送量計費,計費詳情請參見計費概述。
QPS 限制
本接口的單用戶 QPS 限制為 5000/秒。超過限制,API 調用將會被限流,請合理使用。
調試
您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。
授權信息
下表是API對應的授權信息,可以在RAM權限策略語句的Action
元素中使用,用來給RAM用戶或RAM角色授予調用此API的權限。具體說明如下:
- 操作:是指具體的權限點。
- 訪問級別:是指每個操作的訪問級別,取值為寫入(Write)、讀取(Read)或列出(List)。
- 資源類型:是指操作中支持授權的資源類型。具體說明如下:
- 對于必選的資源類型,用背景高亮的方式表示。
- 對于不支持資源級授權的操作,用
全部資源
表示。
- 條件關鍵字:是指云產品自身定義的條件關鍵字。
- 關聯操作:是指成功執行操作所需要的其他權限。操作者必須同時具備關聯操作的權限,操作才能成功。
操作 | 訪問級別 | 資源類型 | 條件關鍵字 | 關聯操作 |
---|---|---|---|---|
dysms:SendSms | get | *全部資源 * |
| 無 |
請求參數
名稱 | 類型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
PhoneNumbers | string | 是 | 接收短信的手機號碼。手機號碼格式:
說明
支持向不同的手機號碼發送短信,手機號碼之間以半角逗號(,)分隔。上限為 1000 個手機號碼。批量發送相對于單條發送,及時性稍有延遲。驗證碼類型的短信,建議單條發送。
| 1390000**** |
SignName | string | 是 | 阿里云 | |
TemplateCode | string | 是 | 短信模板 Code。 您可以通過 CreateSmsTemplate 接口添加模板或在短信服務控制臺添加模板,模板通過審核后,才可使用模板 Code。 | SMS_15305**** |
TemplateParam | string | 否 | 短信模板變量對應的實際值。支持傳入多個參數。 說明
| {"name":"張三","number":"1390000****"} |
SmsUpExtendCode | string | 否 | 上行短信擴展碼。上行短信指發送給通信服務提供商的短信,用于定制某種服務、完成查詢,或是辦理某種業務等,需要收費,按運營商普通短信資費進行扣費。 說明
擴展碼是生成簽名時系統自動默認生成的,不支持自行傳入。無特殊需要可忽略此字段。
| 90999 |
OutId | string | 否 | 外部流水擴展字段。 說明
無特殊需要可忽略此字段。
| abcdefgh |
請求示例
- 服務地址 URL:dysmsapi.aliyuncs.com(中國站)
- 請求風格:RPC
- 請求方式:POST/GET (推薦使用 POST)
- 公共請求頭: V3 版本請求體公共請求頭
- 請求參數:見上方請求參數表格
SDK 示例
如果您需要了解如何使用 SDK,請參見首次調用 API。
// 構造請求對象
SendSmsRequest sendSmsRequest = new SendSmsRequest()
.setPhoneNumbers("<YOUR_VALUE>")
.setSignName("<YOUR_VALUE>")
.setTemplateCode("<YOUR_VALUE>")
.setTemplateParam("<YOUR_VALUE>");
// 發送 API 請求
SendSmsResponse sendSmsResponse = client.sendSms(sendSmsRequest);
您可以訪問 OpenAPI 門戶,查看各語言 SDK 請求完整示例。
自簽名請求示例
推薦您通過 SDK 調用 API,SDK 已經封裝了簽名等機制。
POST /?PhoneNumbers=123****4567&SignName=阿里云短信測試&TemplateCode=SMS_154950909&TemplateParam={"code":"1234"} HTTP/1.1
Host: dysmsapi.aliyuncs.com
Authorization: ACS3-HMAC-SHA256 Credential=YourAccessKeyId,SignedHeaders=host;x-acs-action;x-acs-content-sha256;x-acs-date;x-acs-signature-nonce;x-acs-version,Signature=06563a9e1b43f5dfe96b81********ceab24a1d853912eee15083a6f0f3283c0
x-acs-action: SendSms
x-acs-version: 2017-05-25
x-acs-signature-nonce: d410180a5abf7f********74aca91fc0
x-acs-date: 2024-12-02T06:53:09Z
x-acs-content-sha256: e3b0c44298fc1c149afb********b92427ae41e4649b934ca495991b7852b855
自定義封裝 API 調用簽名機制,請參見 V3 版本簽名機制示例。
返回參數
示例
正常返回示例
JSON
格式
{
"Code": "OK",
"Message": "OK",
"BizId": "9006197469364984****",
"RequestId": "F655A8D5-B967-440B-8683-DAD6FF8DE990"
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。
變更歷史
變更時間 | 變更內容概要 | 操作 |
---|---|---|
2024-09-03 | OpenAPI 描述信息更新、OpenAPI 去除了 deprecated 標記 | 查看變更詳情 |