本文為您介紹如何通過阿里雲OpenAPI開發人員門戶或阿里雲SDK調用簡訊服務,實現簡訊發送、查詢等核心功能。
準備工作
在開始接入前,請確保您已完成以下準備工作:
註冊帳號並完成企業實名認證:阿里雲簡訊服務目前僅支援企業認證帳號使用,如果您未註冊阿里雲帳號,請先完成註冊帳號和企業實名認證。
開通簡訊服務:登入簡訊服務控制台,根據提示開通簡訊服務。
購買簡訊服務資源套件:阿里雲國際站簡訊服務預設採用簡訊資源套件付費模式,您需要先購買資源套件再繼續後續步驟。
配置編譯運行環境:主要分為建立RAM使用者並授權和配置阿里雲存取金鑰(AccessKey)兩步,詳細操作步驟請參見配置憑證。
由於不同國家或地區當地的供應商報備及合規要求各不相同,請在簡訊發送前進行相關合規操作:
發往國際地區的簡訊,需要確認簡訊發送目標地是否需要報備SenderID。確認步驟及報備流程請參見SenderID報備流程。
OpenAPI開發人員門戶
如果您習慣互動式操作介面,或作為初次使用阿里雲產品的開發人員,推薦使用OpenAPI開發人員門戶進行介面調試。它提供可視化介面、即時響應預覽和參數校正,助您快速上手。您也可以在調試頁面擷取多語言SDK調用樣本,便於後續整合。

可通過單擊API文檔頁調試按鈕進入OpenAPI開發人員門戶調試頁
發往國際地區和中國香港、中國澳門和中國台灣地區
調用SendMessageToGlobe介面,傳送簡訊到國際地區和中國香港、中國澳門和中國台灣地區。
調用BatchSendMessageToGlobe介面,批量傳送簡訊到國際地區和中國香港、中國澳門和中國台灣地區。
調用QueryMessage介面,查詢簡訊發送狀態。
發往中國大陸
調用SendMessageWithTemplate介面,傳送簡訊到中國內地。
調用QueryMessage介面,查詢簡訊發送狀態。
整合簡訊SDK
SDK是最易於整合,且支援度最好的OpenAPI調用方式。本文將以Java語言為例,調用SendMessageToGlobe介面。其他程式設計語言SDK,請參見SDK參考。
檢查Java環境:您的Java版本需高於Java 8。Java環境配置的方法,請參見在Windows搭建Java開發環境。
安裝SDK:通過配置Maven依賴,完成SDK的安裝。
請在您的Maven專案的
pom.xml檔案中,在<dependencies>標籤內添加以下資訊並將the-latest-version替換為最新版本號碼。儲存後請重新載入Maven依賴。<dependency> <groupId>com.aliyun</groupId> <artifactId>dysmsapi20180501</artifactId> <!-- 請將 'the-latest-version' 替換為最新版本號碼:https://mvnrepository.com/artifact/com.aliyun/dysmsapi20180501 --> <version>the-latest-version</version> </dependency>程式碼範例:使用SDK調用傳送簡訊API的程式碼範例如下,請根據注釋完成參數填寫。
package com.aliyun.sample; import com.aliyun.teaopenapi.models.Config; import com.aliyun.dysmsapi20180501.Client; import com.aliyun.dysmsapi20180501.models.SendMessageToGlobeRequest; import com.aliyun.dysmsapi20180501.models.SendMessageToGlobeResponse; import static com.aliyun.teautil.Common.toJSONString; public class Sample { public static Client createClient() throws Exception { Config config = new Config() // 配置 AccessKey ID,請確保代碼運行環境設定了環境變數 ALIBABA_CLOUD_ACCESS_KEY_ID。 .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")) // 配置 AccessKey Secret,請確保代碼運行環境設定了環境變數 ALIBABA_CLOUD_ACCESS_KEY_SECRET。 .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")); // 配置 Endpoint config.endpoint = "dysmsapi.ap-southeast-1.aliyuncs.com"; return new Client(config); } public static void main(String[] args) throws Exception { // 初始化請求用戶端 Client client = Sample.createClient(); // 構造請求對象,請填入請求參數值 SendMessageToGlobeRequest sendSmsRequest = new SendMessageToGlobeRequest() .setTo("<YOUR_VALUE>") .setMessage("<YOUR_VALUE>"); // 擷取響應對象 SendMessageToGlobeResponse sendSmsResponse = client.sendMessageToGlobe(sendSmsRequest); // 響應包含服務端響應的 body 和 headers System.out.println(toJSONString(sendSmsResponse)); } }您也可以下載範例程式碼,直接運行。
在左側的參數配置頁簽,填寫需要的參數資訊。
在右側的SDK樣本頁簽,SDK版本選擇v2.0,語言選擇Java語言,單擊下載完整工程按鈕,下載範例程式碼包。
解壓後使用IDE附加元件目,待相關依賴載入完畢後,開啟
src/main/java/com/aliyun/sample/Sample.java。
返回樣本:專案運行後可查看到輸出,本樣本中的返回內容如下。
{ "headers": { "date": "Tue, 24 Oct 2023 07:47:17 GMT", "content-type": "application/json;charset=utf-8", "content-length": "263", "connection": "keep-alive", "keep-alive": "timeout=25", "access-control-allow-origin": "*", "access-control-expose-headers": "*", "x-acs-request-id": "97B1D7B6-F2F6-3A50-97BC-A90B43EC962F", "x-acs-trace-id": "29c11fe4c778b74774d5f5602f0e7975", "etag": "2a+mcDRTDkXqx9VF7b6U57Q3" }, "statusCode": 200, "body": { "ResponseCode": "OK", "NumberDetail": { "Region": "Taiwan", "Country": "Taiwan, Province of China", "Carrier": "FarEasTone" }, "RequestId": "97B1D7B6-F2F6-3A50-97BC-A90B43EC962F", "Segments": "1", "ResponseDescription": "OK", "To": "88691567****", "MessageId": "191921698133637273" } }
回執訊息
簡訊發送後,通過配置MNS訊息佇列消費模式和HTTP批量推送模式,可以接收簡訊發送狀態的結果和使用者回複的簡訊內容,協助您掌握簡訊的發送成功率,為其他業務提供支援。
更多資訊,請參見回執訊息簡介與配置流程。
相關文檔
視頻教程
國際簡訊服務開通視頻教程