分享方式:


快速入門:傳送 SMS 訊息

重要

SMS 功能取決於您使用的電話號碼,以及您執行所在的國家/地區,依您的 Azure 帳單地址決定。 如需更多資訊,請參閱 訂用帳戶資格

注意

請完成這份簡短問卷,與我們分享您對 Azure 通訊服務的想法和意見反應。


藉由在 Azure CLI 使用通訊模組來傳送 SMS 訊息,以開始使用 Azure 通訊服務。

完成本快速入門後,您的 Azure 帳戶中會產生幾美分或更少的少許費用。

必要條件

先決條件檢查

  • 在終端機或命令視窗中執行 az --version,確認已安裝 Azure CLI。

設定

安裝通訊模組

在終端機或命令視窗中執行以下命令來安裝通訊模組。

az extension add --name communication

登入 Azure CLI

您必須登入 Azure CLI。 您可以從終端機登入執行 az login 命令,並提供您的認證。

請確定您是使用正確的訂用帳戶

如果您的帳戶有多個訂用帳戶,請確定您是使用此教學課程所需的正確訂用帳戶。

在終端機或命令視窗中,執行以下命令來檢查目前訂用帳戶。

az account show

若要變更訂用帳戶,您可以執行下列命令。

az account set --subscription "<yourSubcriptionId>"

您需要將 <yourSubscriptionId> 取代為實際訂用帳戶識別碼,此資訊可以在 Azure 入口網站的 [訂用帳戶] 區段找到。

(選擇性) 使用 Azure CLI sms 作業而不傳入連接字串

您可以將 AZURE_COMMUNICATION_CONNECTION_STRING 環境變數設定為使用 Azure CLI sms 作業,而不需要使用 --connection_string 傳入連接字串。 若要設定環境變數,請開啟主控台視窗,然後從下列索引標籤選取您的作業系統。 將 <yourConnectionString> 用實際的連接字串取代。

開啟主控台視窗並輸入下列命令:

setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"

新增環境變數之後,您可能需要重新啟動任何需要讀取環境變數的執行中程式,包括主控台視窗。 例如,如果您使用 Visual Studio 作為編輯器,請在執行範例前重新啟動 Visual Studio。

Operations

傳送 1 對 1 的 SMS 訊息

若要將 SMS 訊息傳送給單一收件人,請從 SMS 模組呼叫 send 方法並使用單一收件人電話號碼。

az communication sms send --sender "<fromPhoneNumber>" --recipient "<toPhoneNumber>" --message "Hello world via SMS for Azure CLI!" --connection-string "<yourConnectionString>"

取代程式碼的以下項目:

  • <fromPhoneNumber> 取代為您通訊服務資源所關聯的支援 SMS 電話號碼。
  • <toPhoneNumber> 取代為您要傳送訊息的電話號碼。
  • <yourConnectionString> 取代為實際的連接字串。

警告

提供 E.164 國際標準格式的電話號碼,例如 +14255550123。 <fromPhoneNumber> 的值也可以是簡短的代碼 (例如 23456) 或英數位元傳送者識別碼 (例如 CONTOSO)。

傳送 1 對 N 的 SMS 訊息

若要將 SMS 訊息傳送給一個清單的收件者,請從 sms 模組呼叫 send 方法並搭配多個收件者電話號碼。

az communication sms send --sender "<fromPhoneNumber>" --recipient "<toPhoneNumber1>" "<toPhoneNumber2>" "<toPhoneNumber3>" --message "Hello world via SMS for Azure CLI!" --connection-string "<yourConnectionString>"

取代程式碼的以下項目:

  • <fromPhoneNumber> 取代為您通訊服務資源所關聯的支援 SMS 電話號碼。
  • <toPhoneNumberN> 取代為您要傳送訊息的第 N 個電話號碼。
  • <yourConnectionString> 取代為實際的連接字串。

警告

提供 E.164 國際標準格式的電話號碼,例如 +14255550123。 <fromPhoneNumber> 的值也可以是簡短的代碼 (例如 23456) 或英數位元傳送者識別碼 (例如 CONTOSO)。

藉由使用通訊服務 C# SMS SDK 來傳送 SMS 訊息,以開始使用 Azure 通訊服務。

完成本快速入門後,您的 Azure 帳戶中會產生幾美分或更少的少許費用。

注意

GitHub 上找到此快速入門的完成程式碼。

必要條件

先決條件檢查

  • 在終端機或命令視窗中執行 dotnet 命令,確認 .NET SDK 是否已安裝。
  • 若要檢視與您通訊服務資源相關聯的電話號碼,請登入 Azure 入口網站,並找到您的通訊服務資源。 在左側瀏覽窗格中,選取 [電話號碼]

設定應用程式環境

若要設定傳送訊息的環境,請執行下列各節中的步驟。

建立新的 C# 應用程式

  1. 在主控台視窗中 (例如 cmd、PowerShell 或 Bash),使用 dotnet new 命令建立名為 SmsQuickstart 的新主控台應用程式。 此命令會建立簡單的 "Hello World" C# 專案,內含單一原始程式檔:Program.cs

    dotnet new console -o SmsQuickstart
    
  2. 將您的目錄變更為新建立的應用程式資料夾,然後使用 dotnet build 命令來編譯您的應用程式。

    cd SmsQuickstart
    dotnet build
    

Install the package

  1. 仍在應用程式目錄時,請使用下列命令安裝適用於 .NET 的 Azure 通訊服務 SMS SDK 套件。

    dotnet add package Azure.Communication.Sms --version 1.0.0
    
  2. using 指示詞新增至 Program.cs 的頂端,以包含 Azure.Communication 命名空間。

    
    using System;
    using System.Collections.Generic;
    
    using Azure;
    using Azure.Communication;
    using Azure.Communication.Sms;
    
    

物件模型

下列類別和介面會處理適用於 C# 的 Azure 通訊服務 SMS SDK 的一些主要功能。

名稱 描述
SmsClient 這是所有 SMS 功能所需的類別。 您可以使用您的訂用帳戶資訊將其具現化,並用來傳送 SMS 訊息。
SmsSendOptions 這個類別提供設定傳遞報告的選項。 如果 enable_delivery_report 設定為 True,則事件會在傳遞成功時發出。
SmsSendResult 此類別包含來自 SMS 服務的結果。

驗證用戶端

在文字編輯器中開啟 Program.cs,並將 Main 方法的本文取代為程式碼,以使用您的連接字串來初始化 SmsClient。 以下程式碼會從名為 COMMUNICATION_SERVICES_CONNECTION_STRING 的環境變數中,擷取資源的連接字串。 了解如何管理您資源的連接字串

// This code retrieves your connection string
// from an environment variable.
string connectionString = Environment.GetEnvironmentVariable("COMMUNICATION_SERVICES_CONNECTION_STRING");

SmsClient smsClient = new SmsClient(connectionString);

傳送 1 對 1 的 SMS 訊息

若要將 SMS 訊息傳送給單一收件者,請從 SmsClient 呼叫 SendSendAsync 函式。 將此程式碼加入到 Program.csMain 方法的結尾處:

SmsSendResult sendResult = smsClient.Send(
    from: "<from-phone-number>",
    to: "<to-phone-number>",
    message: "Hello World via SMS"
);

Console.WriteLine($"Sms id: {sendResult.MessageId}");

取代程式碼的以下項目:

  • <from-phone-number> 取代為您通訊服務資源所關聯的支援 SMS 電話號碼。
  • <to-phone-number> 取代為您要傳送訊息的電話號碼。

警告

提供 E.164 國際標準格式的電話號碼,例如 +14255550123。 <from-phone-number> 的值也可以是簡短的代碼 (例如 23456) 或英數位元傳送者識別碼 (例如 CONTOSO)。

使用選項傳送 1 對 N 的 SMS 訊息

若要將 SMS 訊息傳送給一個清單的收件者,請從 SmsClient 呼叫 SendSendAsync 函式並搭配收件者電話號碼清單。 您也可以提供選擇性參數,指定是否應該啟用傳遞報告,以及設定自訂標籤。

Response<IReadOnlyList<SmsSendResult>> response = smsClient.Send(
    from: "<from-phone-number>",
    to: new string[] { "<to-phone-number-1>", "<to-phone-number-2>" },
    message: "Weekly Promotion!",
    options: new SmsSendOptions(enableDeliveryReport: true) // OPTIONAL
    {
        Tag = "marketing", // custom tags
    });

IEnumerable<SmsSendResult> results = response.Value;
foreach (SmsSendResult result in results)
{
    Console.WriteLine($"Sms id: {result.MessageId}");
    Console.WriteLine($"Send Result Successful: {result.Successful}");
}

取代程式碼的以下項目:

  • <from-phone-number> 取代為您通訊服務資源所關聯的支援 SMS 電話號碼。
  • <to-phone-number-1><to-phone-number-2> 取代為您要傳送訊息的電話號碼。

警告

提供 E.164 國際標準格式的電話號碼,例如 +14255550123。 <from-phone-number> 的值也可以是簡短的代碼 (例如 23456) 或英數位元傳送者識別碼 (例如 CONTOSO)。

enableDeliveryReport 參數是選擇性參數,可用來設定傳遞報告。 當您想要在傳遞 SMS 訊息時發出事件時,這項功能很有用。 請參閱處理 SMS 事件快速入門,以設定 SMS 訊息的傳遞報告。

您可以使用 Tag 參數將標籤套用至傳遞報告。

執行程式碼

使用 dotnet run 命令從您的應用程式目錄執行應用程式。

dotnet run

範例指令碼

您可以從 GitHub 下載應用程式範例。

藉由使用通訊服務 JavaScript SMS SDK 來傳送 SMS 訊息,以開始使用 Azure 通訊服務。

完成本快速入門後,您的 Azure 帳戶中會產生幾美分或更少的少許費用。

注意

GitHub 上找到此快速入門的完成程式碼。

必要條件

先決條件檢查

  • 在終端機或命令視窗中執行 node --version,確認已安裝 Node.js。
  • 若要檢視與您通訊服務資源相關聯的電話號碼,請登入 Azure 入口網站,並找到您的通訊服務資源。 在左側瀏覽窗格中,選取 [電話號碼]

設定應用程式環境

若要設定傳送訊息的環境,請執行下列各節中的步驟。

建立新的 Node.js 應用程式

  1. 開啟您的終端機或命令視窗,接著執行下列命令為您的應用程式建立新的目錄,並瀏覽至該目錄。

    mkdir sms-quickstart && cd sms-quickstart
    
  2. 執行下列命令,以使用預設設定建立 package.json 檔案。

    npm init -y
    
  3. 使用文字編輯器,在專案根目錄中建立名為 send-sms.js 的檔案。

在下列各節中,您會將本快速入門的所有原始程式碼新增至您剛才建立的 send-sms.js 檔案中。

Install the package

使用 npm install 命令,以安裝適用於 JavaScript 的 Azure 通訊服務簡訊 (功能) SDK。

npm install @azure/communication-sms --save

--save 選項會在您的 package.json 檔案中,將程式庫列為相依性。

物件模型

下列類別和介面會處理適用於 Node.js 的 Azure 通訊服務 SMS SDK 的一些主要功能。

名稱 描述
SmsClient 這是所有 SMS 功能所需的類別。 您可以使用您的訂用帳戶資訊將其具現化,並用來傳送 SMS 訊息。
SmsSendRequest 此介面是用來建立 SMS 要求的模型。 您可以用於設定往返電話號碼以及 SMS 內容。
SmsSendOptions 此介面提供設定傳遞報告的選項。 如果將 enableDeliveryReport 設定為 true,則系統會在傳遞成功時發出事件。
SmsSendResult 此類別包含來自 SMS 服務的結果。

驗證用戶端

若要驗證用戶端,您可以從 SDK 匯入 SmsClient,並使用您的連接字串將其具現化。 您可以從環境變數擷取資源的連接字串。 例如,本節中的程式碼會從 COMMUNICATION_SERVICES_CONNECTION_STRING 環境變數擷取連接字串。 了解如何管理您資源的連接字串

若要匯入用戶端並將其具現化:

  1. 建立名為 send-sms.js 的檔案。

  2. send-sms.js 中加入以下程式碼。

const { SmsClient } = require('@azure/communication-sms');

// This code retrieves your connection string
// from an environment variable.
const connectionString = process.env['COMMUNICATION_SERVICES_CONNECTION_STRING'];

// Instantiate the SMS client.
const smsClient = new SmsClient(connectionString);

傳送 1 對 N 的 SMS 訊息

若要將 SMS 訊息傳送給一個清單的收件者,請從 SmsClient 呼叫 send 函式並搭配收件者電話號碼清單。 如果您想要將訊息傳送給單一收件者,請在清單中只包含一個號碼。 將此程式碼加入到 send-sms.js 的結尾處:

async function main() {
  const sendResults = await smsClient.send({
    from: "<from-phone-number>",
    to: ["<to-phone-number-1>", "<to-phone-number-2>"],
    message: "Hello World 👋🏻 via SMS"
  });

  // Individual messages can encounter errors during sending.
  // Use the "successful" property to verify the status.
  for (const sendResult of sendResults) {
    if (sendResult.successful) {
      console.log("Success: ", sendResult);
    } else {
      console.error("Something went wrong when trying to send this message: ", sendResult);
    }
  }
}

main();

取代程式碼的以下項目:

  • <from-phone-number> 取代為您通訊服務資源所關聯的支援 SMS 電話號碼。
  • <to-phone-number-1><to-phone-number-2> 取代為您要傳送訊息的電話號碼。

警告

提供 E.164 國際標準格式的電話號碼,例如 +14255550123。 <from-phone-number> 的值也可以是簡短的代碼 (例如 23456) 或英數位元傳送者識別碼 (例如 CONTOSO)。

使用選項傳送 1 對 N 的 SMS 訊息

您也可以提供選擇性物件,指定是否應該啟用傳遞報告,以及設定自訂標籤。


async function main() {
  const sendResults = await smsClient.send({
    from: "<from-phone-number>",
    to: ["<to-phone-number-1>", "<to-phone-number-2>"],
    message: "Weekly Promotion!"
  }, {
    // Optional parameters
    enableDeliveryReport: true,
    tag: "marketing"
  });

  // Individual messages can encounter errors during sending.
  // Use the "successful" property to verify the status.
  for (const sendResult of sendResults) {
    if (sendResult.successful) {
      console.log("Success: ", sendResult);
    } else {
      console.error("Something went wrong when trying to send this message: ", sendResult);
    }
  }
}

main();

取代程式碼的以下項目:

  • <from-phone-number> 取代為您通訊服務資源所關聯的支援 SMS 電話號碼。
  • <to-phone-number-1><to-phone-number-2> 取代為您要傳送訊息的電話號碼。

警告

提供 E.164 國際標準格式的電話號碼,例如 +14255550123。 <from-phone-number> 的值也可以是簡短的代碼 (例如 23456) 或英數位元傳送者識別碼 (例如 CONTOSO)。

enableDeliveryReport 參數是選擇性參數,可用來設定傳遞報告。 當您想要在傳遞 SMS 訊息時發出事件時,這項功能很有用。 請參閱處理 SMS 事件快速入門,以設定 SMS 訊息的傳遞報告。 tag 是選用參數。 您可以用於將標籤套用至傳遞報告。

執行程式碼

使用 node 命令來執行您新增至 send-sms.js 檔案的程式碼。


node ./send-sms.js

藉由使用通訊服務 Python SMS SDK 來傳送 SMS 訊息,以開始使用 Azure 通訊服務。

完成本快速入門後,您的 Azure 帳戶中會產生幾美分或更少的少許費用。

注意

GitHub 上找到此快速入門的完成程式碼。

必要條件

先決條件檢查

  • 在終端機或命令視窗中執行 python --version 命令,確認已安裝 Python。
  • 若要檢視與您通訊服務資源相關聯的電話號碼,請登入 Azure 入口網站,並找到您的通訊服務資源。 在左側瀏覽窗格中,選取 [電話號碼]

設定應用程式環境

若要設定傳送訊息的環境,請執行下列各節中的步驟。

建立新的 Python 應用程式

  1. 開啟您的終端機或命令視窗。 接著使用下列命令為您的應用程式建立新的目錄,並瀏覽至該目錄。

    mkdir sms-quickstart && cd sms-quickstart
    
  2. 使用文字編輯器,在專案根目錄中建立名為 send-sms.py 的檔案,然後新增程式的結構,包括基本例外狀況處理。

    import os
    from azure.communication.sms import SmsClient
    
    try:
        # Quickstart code goes here.
    except Exception as ex:
        print('Exception:')
        print(ex)
    

在下列各節中,您會將本快速入門的所有原始程式碼新增至您剛才建立的 send-sms.py 檔案中。

Install the package

仍在應用程式目錄時,請使用下列命令安裝適用於 Python 的 Azure 通訊服務簡訊 (功能) SDK 套件。

pip install azure-communication-sms

物件模型

下列類別和介面會處理適用於 Python 的 Azure 通訊服務 SMS SDK 的一些主要功能。

名稱 描述
SmsClient 這是所有 SMS 功能所需的類別。 您可以使用您的訂用帳戶資訊將其具現化,並用來傳送 SMS 訊息。
SmsSendResult 此類別包含來自 SMS 服務的結果。

驗證用戶端

使用連接字串具現化 SmsClient。 了解如何管理您資源的連接字串

# Create the SmsClient object that you use to send SMS messages.
sms_client = SmsClient.from_connection_string(<connection_string>)

為了簡單起見,本快速入門會使用連接字串,但在實際執行環境中,我們建議使用服務主體

傳送 1 對 1 的 SMS 訊息

若要將 SMS 訊息傳送給單一收件人,請從 SmsClient 呼叫 send 方法並使用單一收件人電話號碼。 您也可以提供選擇性參數,指定是否應該啟用傳遞報告,以及設定自訂標籤。 將此程式碼加入到 send-sms.pytry 區塊的結尾處:


# Call send() with SMS values.
sms_responses = sms_client.send(
    from_="<from-phone-number>",
    to="<to-phone-number>",
    message="Hello World via SMS",
    enable_delivery_report=True, # optional property
    tag="custom-tag") # optional property

取代程式碼的以下項目:

  • <from-phone-number> 取代為您通訊服務所關聯的支援 SMS 電話號碼。
  • <to-phone-number> 取代為您要傳送訊息的電話號碼。

警告

提供 E.164 國際標準格式的電話號碼,例如 +14255550123。 <from-phone-number> 的值也可以是簡短的代碼 (例如 23456) 或英數位元傳送者識別碼 (例如 CONTOSO)。

傳送 1 對 N 的 SMS 訊息

若要將 SMS 訊息傳送給一個清單的收件者,請從 SmsClient 呼叫 send 方法並搭配收件者電話號碼清單。 您也可以提供選擇性參數,指定是否應該啟用傳遞報告,以及設定自訂標籤。 將此程式碼加入到 send-sms.pytry 區塊的結尾處:


# Call send() with SMS values.
sms_responses = sms_client.send(
    from_="<from-phone-number>",
    to=["<to-phone-number-1>", "<to-phone-number-2>"],
    message="Hello World via SMS",
    enable_delivery_report=True, # optional property
    tag="custom-tag") # optional property

取代程式碼的以下項目:

  • <from-phone-number> 取代為您通訊服務所關聯的支援 SMS 電話號碼。
  • <to-phone-number-1><to-phone-number-2> 取代為您要傳送訊息的電話號碼。

警告

提供 E.164 國際標準格式的電話號碼,例如 +14255550123。 <from-phone-number> 的值也可以是簡短的代碼 (例如 23456) 或英數位元傳送者識別碼 (例如 CONTOSO)。

選擇性參數

enable_delivery_report 參數是選擇性參數,可用來設定傳遞報告。 當您想要在傳遞 SMS 訊息時發出事件時,這項功能很有用。 請參閱處理 SMS 事件快速入門,以設定 SMS 訊息的傳遞報告。

tag 參數是選擇性參數,可讓您用來將標籤套用至傳遞報告。

執行程式碼

使用 python 命令從您的應用程式目錄執行應用程式。

python send-sms.py

完整的 Python 指令碼應該類似於下列程式碼:


import os
from azure.communication.sms import SmsClient

try:
    # Create the SmsClient object that you use to send SMS messages.
    sms_client = SmsClient.from_connection_string("<connection string>")
    # Call send() with SMS values.
    sms_responses = sms_client.send(
       from_="<from-phone-number>",
       to="<to-phone-number>",
       message="Hello World via SMS",
       enable_delivery_report=True, # optional property
       tag="custom-tag") # optional property

except Exception as ex:
    print('Exception:')
    print(ex)

藉由使用通訊服務 Java SMS SDK 來傳送 SMS 訊息,以開始使用 Azure 通訊服務。

完成本快速入門後,您的 Azure 帳戶中會產生幾美分或更少的少許費用。

注意

GitHub 上找到此快速入門的完成程式碼。

必要條件

先決條件檢查

  • 在終端機或命令視窗中執行 mvn -v,確認已安裝 Maven。
  • 若要檢視與您通訊服務資源相關聯的電話號碼,請登入 Azure 入口網站,並找到您的通訊服務資源。 在左側瀏覽窗格中,選取 [電話號碼]

設定應用程式環境

若要設定傳送訊息的環境,請執行下列各節中的步驟。

建立新的 Java 應用程式

開啟您的終端機或命令視窗,然後瀏覽至您想要在其中建立 Java 應用程式的目錄。 執行下列命令以從 maven-archetype-quickstart 範本產生 JAVA 專案。

  • 命令提示字元
mvn archetype:generate -DgroupId=com.communication.quickstart -DartifactId=communication-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
  • PowerShell
mvn archetype:generate "-DgroupId=com.communication.quickstart" "-DartifactId=communication-quickstart" "-DarchetypeArtifactId=maven-archetype-quickstart" "-DarchetypeVersion=1.4" "-DinteractiveMode=false"

generate 目標會建立具有與 artifactId 值相同名稱的目錄。 在此目錄下,src/main/java 目錄包含專案原始程式碼,src/test/java 目錄 包含測試來源,而 pom.xml 檔案是專案的「專案物件模型」(POM)。

Install the package

在文字編輯器中開啟 pom.xml 檔案。 將下列相依性元素加入至相依性群組。

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-communication-sms</artifactId>
    <version>1.0.1</version>
</dependency>

設定應用程式架構

在文字編輯器中開啟 /src/main/java/com/communication/quickstart/App.java、新增匯入指示詞,並移除 System.out.println("Hello world!"); 陳述式:

package com.communication.quickstart;

import com.azure.communication.sms.models.*;
import com.azure.core.credential.AzureKeyCredential;
import com.azure.communication.sms.*;
import com.azure.core.util.Context;
import java.util.Arrays;

public class App
{
    public static void main( String[] args )
    {
        // Quickstart code goes here.
    }
}

物件模型

下列類別和介面會處理適用於 Java 的 Azure 通訊服務 SMS SDK 的一些主要功能。

名稱 描述
SmsClientBuilder 這個類別會建立 SmsClient。 您可以為其提供端點、認證和 HTTP 用戶端。
SmsClient 這是所有 SMS 功能所需的類別。 您可以使用此類別來傳送 SMS 訊息。
SmsSendOptions 這個類別提供新增自訂標籤及設定傳遞報告的選項。 如果 deliveryReportEnabled 設定為 true,則會在傳遞成功時發出事件。
SmsSendResult 此類別包含來自 SMS 服務的結果。

驗證用戶端

若要驗證用戶端,您可以使用連接字串具現化 SmsClient。 針對認證,請使用 Azure 入口網站中的 Key。 了解如何管理您資源的連接字串。 您也可以使用會實作 com.azure.core.http.HttpClient 介面的任何自訂 HTTP 用戶端來初始化用戶端。

若要具現化用戶端,請將下列程式碼新增至 main 方法:

// You can get your endpoint and access key from your resource in the Azure portal.
String endpoint = "https://<resource-name>.communication.azure.com/";
AzureKeyCredential azureKeyCredential = new AzureKeyCredential("<access-key-credential>");

SmsClient smsClient = new SmsClientBuilder()
                .endpoint(endpoint)
                .credential(azureKeyCredential)
                .buildClient();

您也可以使用 connectionString 函式來提供整個連接字串,而不提供端點和存取金鑰。

// You can get your connection string from your resource in the Azure portal.
String connectionString = "endpoint=https://<resource-name>.communication.azure.com/;accesskey=<access-key>";

SmsClient smsClient = new SmsClientBuilder()
            .connectionString(connectionString)
            .buildClient();

傳送 1 對 1 的 SMS 訊息

若要將 SMS 訊息傳送給單一收件人,請從 SmsClient 呼叫 send 方法並使用單一收件人電話號碼。 您也可以提供選擇性參數,指定是否應該啟用傳遞報告,以及設定自訂標籤。

SmsSendResult sendResult = smsClient.send(
                "<from-phone-number>",
                "<to-phone-number>",
                "Weekly Promotion");

System.out.println("Message Id: " + sendResult.getMessageId());
System.out.println("Recipient Number: " + sendResult.getTo());
System.out.println("Send Result Successful:" + sendResult.isSuccessful());

取代程式碼的以下項目:

  • <from-phone-number> 取代為您通訊服務資源所關聯的支援 SMS 電話號碼。
  • <to-phone-number> 取代為您要傳送訊息的電話號碼。

警告

提供 E.164 國際標準格式的電話號碼,例如 +14255550123。 <from-phone-number> 的值也可以是簡短的代碼 (例如 23456) 或英數位元傳送者識別碼 (例如 CONTOSO)。

使用選項傳送 1 對 N 的 SMS 訊息

若要將 SMS 訊息傳送給一個清單的收件者,請呼叫 send 方法並搭配收件者電話號碼清單。 您也可以提供選擇性參數,指定是否應該啟用傳遞報告,以及設定自訂標籤。

SmsSendOptions options = new SmsSendOptions();
options.setDeliveryReportEnabled(true);
options.setTag("Marketing");

Iterable<SmsSendResult> sendResults = smsClient.sendWithResponse(
    "<from-phone-number>",
    Arrays.asList("<to-phone-number1>", "<to-phone-number2>"),
    "Weekly Promotion",
    options /* Optional */,
    Context.NONE).getValue();

for (SmsSendResult result : sendResults) {
    System.out.println("Message Id: " + result.getMessageId());
    System.out.println("Recipient Number: " + result.getTo());
    System.out.println("Send Result Successful:" + result.isSuccessful());
}

取代程式碼的以下項目:

  • <from-phone-number> 取代為您通訊服務資源所關聯的支援 SMS 電話號碼
  • <to-phone-number-1><to-phone-number-2> 取代為您要傳送訊息的電話號碼。

警告

提供 E.164 國際標準格式的電話號碼,例如 +14255550123。 <from-phone-number> 的值也可以是簡短的代碼 (例如 23456) 或英數位元傳送者識別碼 (例如 CONTOSO)。

setDeliveryReportEnabled 方法可用來設定傳遞報告。 當您想要在傳遞 SMS 訊息時發出事件時,這項功能很有用。 請參閱處理 SMS 事件快速入門,以設定 SMS 訊息的傳遞報告。

您可以使用 setTag 方法將標籤套用至傳遞報告。

執行程式碼

  1. 瀏覽至包含 pom.xml 檔案的目錄,然後使用 mvn 命令來編譯專案。

    
    mvn compile
    
    
  2. 建置套件。

    
    mvn package
    
    
  3. 執行下列 mvn 命令以執行應用程式。

    • 命令提示字元
    
    mvn exec:java -Dexec.mainClass="com.communication.quickstart.App" -Dexec.cleanupDaemonThreads=false
    
    
    • PowerShell
    mvn exec:java "-Dexec.mainClass=com.communication.quickstart.App" "-Dexec.cleanupDaemonThreads=false"
    

藉由使用 Azure 通訊服務簡訊 (功能) 連接器和 Azure Logic Apps,您可以建立能傳送 SMS 訊息的自動化工作流程。 本快速入門示範如何自動傳送文字訊息以回應觸發事件,這是邏輯應用程式工作流程中的第一個步驟。 觸發事件可以是內送的電子郵件訊息、週期排程、Azure Event Grid 資源事件,或是 Azure Logic Apps 所支援的任何其他觸發程序

顯示已開放給邏輯應用程式設計工具的 Azure 入口網站,並顯示使用適用於 Azure 通訊服務連接器的 [傳送簡訊] 動作的範例邏輯應用程式的螢幕擷取畫面。

雖然本快速入門著重於使用連接器來回應觸發程序,但您也可以使用連接器來回應其他動作,也就是在工作流程中遵循觸發程序的步驟。 如果您不熟悉邏輯應用程式,請在開始之前檢閱什麼是 Azure Logic Apps

注意

完成本快速入門後,您的 Azure 帳戶中會產生幾美分或更少的少許費用。

必要條件

重要

SMS 和 PSTN 功能取決於您使用的電話號碼,以及執行此功能的所在國家/地區,這些項目皆是根據您的 Azure 帳單地址所決定。 如需詳細資訊,請參閱訂用帳戶資格文件。

新增 SMS 動作

若要在工作流程中使用 Azure 通訊服務 SMS 連接器,新增 [傳送 SMS] 動作做為新步驟,請在邏輯應用程式設計工具中開啟邏輯應用程式工作流程時,在 Azure 入口網站 中遵循下列步驟:

  1. 在設計工具上,於您要新增動作的步驟底下,選取 [新增步驟]。 或者,若要在步驟之間新增動作,請將指標移到這些步驟之間的箭號上、選取加號 (+),然後選取 [新增動作]

  2. 在 [選擇作業] 搜尋方塊中,輸入 Azure Communication Services。 從動作清單中,選取 [傳送 SMS]

    顯示邏輯應用程式設計工具,以及已選取 [傳送簡訊] 動作的 Azure 通訊服務連接器的螢幕擷取畫面。

  3. 現在,建立與通訊服務資源的連線。

    1. 在相同的訂用帳戶內:

      1. 提供連線的名稱。

      2. 選取 Azure 通訊服務資源。

      3. 選取 建立

      顯示 [傳送簡訊] 動作設定與範例資訊的螢幕擷取畫面。

    2. 使用您通訊服務資源的連接字串:

      1. 提供連線的名稱。

      2. 從下拉式選項中選取 [ConnectionString 驗證]。

      3. 輸入您通訊服務資源的連接字串。

      4. 選取 建立

      顯示 [連接字串驗證] 設定的螢幕擷取畫面。

    3. 使用服務主體 (請參閱服務主體建立):

      1. 提供連線的名稱。

      2. 從下拉式選項中選取服務主體 (Microsoft Entra 應用程式) 驗證。

      3. 輸入服務主體的租用戶識別碼、用戶端識別碼與用戶端密碼。

      4. 輸入通訊服務資源的通訊服務端點 URL 值。

      5. 選取 建立

      顯示 [服務主體驗證] 設定的螢幕擷取畫面。

  4. 在 [傳送 SMS] 動作中,提供下列資訊:

    • 來源和目的地電話號碼。 基於測試目的,您可以使用自己的電話號碼做為目的地電話號碼。

    • 您想要傳送的訊息內容,例如 "Hello from Logic Apps1"。

    以下是 [傳送 SMS] 動作與範例資訊:

    顯示 [傳送簡訊] 動作與範例資訊的螢幕擷取畫面。

  5. 當完成設計師工具列時,請選取儲存

接下來,執行工作流程以進行測試。

測試工作流程

若要手動啟動工作流程,請在設計工具的工具列上,選取 [執行]。 或者,您可以等候觸發程序引發。 在這兩種情況下,工作流程都應該將 SMS 訊息傳送至您指定的目的地電話號碼。 如需詳細資訊,請檢閱如何執行工作流程

清除工作流程資源

若要清除邏輯應用程式工作流程和相關資源,請檢閱如何清除 Logic Apps 資源

疑難排解

若要對 SMS 傳遞的相關問題進行疑難排解,您可以使用事件方格啟用傳遞報告以擷取傳遞詳細資料。

清除資源

如果您想要清除並移除通訊服務訂用帳戶,您可以刪除資源或資源群組。 刪除資源群組也會刪除與其相關聯的任何其他資源。 深入了解如何清除資源

免付費電話驗證

若要使用新的免付費電話號碼來傳送簡訊,必須進行免付費驗證流程。 如需如何完成免付費電話號碼驗證的指引,請參閱 提交免付費驗證的快速入門。 請注意,只有已完整驗證的免付費電話號碼有權發送簡訊流量。 任何從未驗證的免付費電話號碼傳送到美國和加拿大電話號碼的簡訊流量都會遭到封鎖。

下一步

在本快速入門中,您已了解如何使用 Azure 通訊服務來傳送 SMS 訊息。