次の方法で共有


クイック スタート:SMS メッセージを送信する

重要

SMS 機能は、使用する電話番号と、Azure の請求先住所によって決まる、運用している国およびリージョンによって異なります。 詳細については、サブスクリプションの資格を参照してください。


Azure CLI で Communication モジュールを使用して SMS メッセージを送信することによって、Azure Communication Services の使用を開始します。

このクイックスタートを完了すると、ご利用の Azure アカウントでわずかな (数セント未満の) コストが発生します。

前提条件

前提条件のチェック

  • ターミナルまたはコマンド ウィンドウで az --version を実行して、Azure CLI がインストールされていることを確認します。

設定

Communication モジュールをインストールする

ターミナルまたはコマンド ウィンドウで次のコマンドを実行して、Communication モジュールをインストールします。

az extension add --name communication

Azure CLI へのサインイン

Azure CLI にサインインする必要があります。 ターミナルから az login コマンドを実行し、資格情報を入力してサインインできます。

正しいサブスクリプションを使用していることを確認する

アカウントに複数のサブスクリプションがある場合は、このチュートリアルに適切なものを使用していることを確認してください。

ターミナルまたはコマンド ウィンドウで次のコマンドを実行して、現在のサブスクリプションを確認します。

az account show

サブスクリプションを変更する必要がある場合は、次のコマンドを実行して行うことができます。

az account set --subscription "<yourSubscriptionId>"

<yourSubscriptionId> は、実際のサブスクリプション ID に置き換える必要があります。これは、Azure portal の [サブスクリプション] セクションで確認できます。

(省略可能) 接続文字列を渡さずに Azure CLI の SMS 操作を使用する

--connection_string を使用して接続文字列を渡さずに、Azure CLI の SMS 操作を使用するように AZURE_COMMUNICATION_CONNECTION_STRING 環境変数を構成できます。 環境変数を構成するには、コンソール ウィンドウを開き、以下のタブからお使いのオペレーティン グシステムを選択します。 <yourConnectionString> は、実際の接続文字列に置き換えてください。

コンソール ウィンドウを開き、次のコマンドを入力します。

setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"

実行中のプログラムのうち、環境変数の読み取りを必要とするプログラム (コンソール ウィンドウを含む) については、環境変数を追加した後で再起動が必要となる場合があります。 たとえば、Visual Studio をエディターとして使用している場合、サンプルを実行する前に Visual Studio を再起動します。

操作

1:1 の SMS メッセージを送信する

1 人の受信者に SMS メッセージを送信するには、1 人の受信者の電話番号を使用して SMS モジュールから send メソッドを呼び出します。

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

コードを次のように置き換えます。

  • <fromPhoneNumber> を Communication Services リソースに関連付けられている、SMS が有効になっている電話番号で置き換えます。
  • <toPhoneNumber> をメッセージを送信する電話番号に置き換えます。
  • <yourConnectionString> を対象の接続文字列に置き換えてください。

警告

電話番号は、E.164 国際標準形式 (例: +14255550123) で指定します。 <fromPhoneNumber> の値は、短いコード (23456 など) または英数字送信者 ID (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> を Communication Services リソースに関連付けられている、SMS が有効になっている電話番号で置き換えます。
  • <toPhoneNumberN> を、メッセージを送信する N 番目の電話番号に置き換えます。
  • <yourConnectionString> を対象の接続文字列に置き換えてください。

警告

電話番号は、E.164 国際標準形式 (例: +14255550123) で指定します。 <fromPhoneNumber> の値は、短いコード (23456 など) または英数字送信者 ID (CONTOSO など) にすることもできます。

Communication Services C# SMS SDK を使用して SMS メッセージを送信することによって、Azure Communication Services の使用を開始します。

このクイックスタートを完了すると、ご利用の Azure アカウントでわずかな (数セント未満の) コストが発生します。

Note

このクイックスタートの最終的なコードは GitHub にあります。

前提条件

前提条件のチェック

  • ターミナルまたはコマンド ウィンドウで dotnet コマンドを実行して、.NET SDK がインストールされていることを確認します。
  • Communication Services リソースに関連付けられている電話番号を表示するには、Azure portal にサインインし、Communication Services リソースを見つけます。 左側のナビゲーション ウィンドウで、[電話番号] を選択します。

アプリケーション環境の設定

メッセージを送信するための環境を設定するには、次のセクションの手順を実行します。

新しい C# アプリケーションを作成する

  1. cmd、PowerShell、Bash などのコンソール ウィンドウで dotnet new コマンドを使用して、新しいコンソール アプリを SmsQuickstart という名前で作成します。 このコマンドにより、1 つのソース ファイル (Program.cs) を含む単純な "Hello World" C# プロジェクトが作成されます。

    dotnet new console -o SmsQuickstart
    
  2. 新しく作成したアプリ フォルダーにディレクトリを変更し、dotnet build コマンドを使用してアプリケーションをコンパイルします。

    cd SmsQuickstart
    dotnet build
    

パッケージをインストールする

  1. まだアプリケーション ディレクトリにいる間に、次のコマンドを使用して、.NET 用の Azure Communication Services SMS SDK パッケージをインストールします。

    dotnet add package Azure.Communication.Sms --version 1.0.0
    
  2. Program.cs の先頭に using ディレクティブを追加して、Azure.Communication 名前空間を含めます。

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

オブジェクト モデル

C# 用 Azure Communication Services 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 メッセージを送信する

1 人の受信者に SMS メッセージを送信するには、SmsClient からSend または SendAsync 関数を呼び出します。 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> を Communication Services リソースに関連付けられている、SMS が有効になっている電話番号で置き換えます。
  • <to-phone-number> をメッセージを送信する電話番号に置き換えます。

警告

電話番号は、E.164 国際標準形式 (例: +14255550123) で指定します。 <from-phone-number> の値は、短いコード (23456 など) または英数字送信者 ID (CONTOSO など) にすることもできます。

オプションを使用して 1:N の SMS メッセージを送信する

受信者の一覧に SMS メッセージを送信するには、受信者の電話番号の一覧を使用して SmsClient から Send または SendAsync 関数を呼び出します。 また、オプションのパラメーターを渡して、配信レポートを有効にするかどうか、およびカスタム タグを設定するかどうかを指定することもできます。

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> を Communication Services リソースに関連付けられている、SMS が有効になっている電話番号で置き換えます。
  • <to-phone-number-1><to-phone-number-2> をメッセージを送信する電話番号に置き換えます。

警告

電話番号は、E.164 国際標準形式 (例: +14255550123) で指定します。 <from-phone-number> の値は、短いコード (23456 など) または英数字送信者 ID (CONTOSO など) にすることもできます。

enableDeliveryReport パラメーターは、配信レポートを構成するために使用できる省略可能なパラメーターです。 この機能は、SMS メッセージが配信されたときにイベントを生成する場合に便利です。 SMS メッセージの配信レポートを構成するには、SMS イベントの処理に関するクイックスタートを参照してください。

Tag パラメーターを使用して、配信レポートにタグを適用できます。

コードの実行

アプリケーション ディレクトリから dotnet run コマンドを使用してアプリケーションを実行します。

dotnet run

サンプル コード

サンプル アプリは GitHub からダウンロードできます。

Communication Services JavaScript SMS SDK を使用して SMS メッセージを送信することによって、Azure Communication Services の使用を開始します。

このクイックスタートを完了すると、ご利用の Azure アカウントでわずかな (数セント未満の) コストが発生します。

Note

このクイックスタートの最終的なコードは GitHub にあります。

前提条件

前提条件のチェック

  • ターミナルまたはコマンド ウィンドウで node --version を実行して、Node.js がインストールされていることを確認します。
  • Communication Services リソースに関連付けられている電話番号を表示するには、Azure portal にサインインし、Communication Services リソースを見つけます。 左側のナビゲーション ウィンドウで、[電話番号] を選択します。

アプリケーション環境の設定

メッセージを送信するための環境を設定するには、次のセクションの手順を実行します。

新しい Node.js アプリケーションを作成する

  1. まず、ターミナルまたはコマンド ウィンドウを開き、次のコマンドを実行して自分のアプリ用に新しいディレクトリを作成し、そこに移動します。

    mkdir sms-quickstart && cd sms-quickstart
    
  2. 既定の設定で次のコマンドを実行して、package.json ファイルを作成します。

    npm init -y
    
  3. テキスト エディターを使用して、プロジェクトのルート ディレクトリに send-sms.js というファイルを作成します。

以降のセクションで、このクイックスタートのすべてのソース コードを、先ほど作成した send-sms.js ファイルに追加していきます。

パッケージをインストールする

JavaScript 用の Azure Communication Services SMS SDK をインストールするには、npm install コマンドを使用します。

npm install @azure/communication-sms --save

--save オプションを使用すると、package.json ファイル内の依存関係としてライブラリが表示されます。

オブジェクト モデル

Node.js 用 Azure Communication Services SMS SDK が備える主な機能のいくつかは、以下のクラスとインターフェイスにより処理されます。

名前 説明
SmsClient このクラスは、すべての SMS 機能に必要となります。 サブスクリプション情報を使用してこれをインスタンス化し、そのインスタンスを使用して SMS を送信します。
SmsSendRequest このインターフェイスは、SMS 要求を作成するためのモデルです。 これを使用して、発信および着信電話番号と SMS コンテンツを構成します。
SmsSendOptions このインターフェイスには、配信レポートを構成するためのオプションが用意されています。 enableDeliveryReporttrue に設定されている場合、配信が成功したときにイベントが生成されます。
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 関数を呼び出します。 1 人の受信者にメッセージを送信する場合は、リストに 1 つの番号のみを含めます。 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> を Communication Services リソースに関連付けられている、SMS が有効になっている電話番号で置き換えます。
  • <to-phone-number-1><to-phone-number-2> をメッセージを送信する電話番号に置き換えます。

警告

電話番号は、E.164 国際標準形式 (例: +14255550123) で指定します。 <from-phone-number> の値は、短いコード (23456 など) または英数字送信者 ID (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> を Communication Services リソースに関連付けられている、SMS が有効になっている電話番号で置き換えます。
  • <to-phone-number-1><to-phone-number-2> をメッセージを送信する電話番号に置き換えます。

警告

電話番号は、E.164 国際標準形式 (例: +14255550123) で指定します。 <from-phone-number> の値は、短いコード (23456 など) または英数字送信者 ID (CONTOSO など) にすることもできます。

enableDeliveryReport パラメーターは、配信レポートを構成するために使用できる省略可能なパラメーターです。 この機能は、SMS メッセージが配信されたときにイベントを生成する場合に便利です。 SMS メッセージの配信レポートを構成するには、SMS イベントの処理に関するクイックスタートを参照してください。 tag パラメーターは省略可能です。 これを使用して、配信レポートにタグを適用できます。

コードの実行

node コマンドを使用して、send-sms.js ファイルに追加したコードを実行します。


node ./send-sms.js

Communication Services Python SMS SDK を使用して SMS メッセージを送信することによって、Azure Communication Services の使用を開始します。

このクイックスタートを完了すると、ご利用の Azure アカウントでわずかな (数セント未満の) コストが発生します。

Note

このクイックスタートの最終的なコードは GitHub にあります。

前提条件

前提条件のチェック

  • ターミナルまたはコマンド ウィンドウで python --version コマンドを実行して、Python がインストールされていることを確認します。
  • Communication Services リソースに関連付けられている電話番号を表示するには、Azure portal にサインインし、Communication Services リソースを見つけます。 左側のナビゲーション ウィンドウで、[電話番号] を選択します。

アプリケーション環境の設定

メッセージを送信するための環境を設定するには、次のセクションの手順を実行します。

新しい 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 ファイルに追加していきます。

パッケージをインストールする

まだアプリケーション ディレクトリにいる間に、次のコマンドを使用して、Python 用の Azure Communication Services SMS SDK パッケージをインストールします。

pip install azure-communication-sms

オブジェクト モデル

Python 用 Azure Communication Services 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 メッセージを送信する

1 人の受信者に SMS メッセージを送信するには、1 人の受信者の電話番号を使用して 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 など) または英数字送信者 ID (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 など) または英数字送信者 ID (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)

Communication Services Java SMS SDK を使用して SMS メッセージを送信することによって、Azure Communication Services の使用を開始します。

このクイックスタートを完了すると、ご利用の Azure アカウントでわずかな (数セント未満の) コストが発生します。

Note

このクイックスタートの最終的なコードは GitHub にあります。

前提条件

前提条件のチェック

  • ターミナルまたはコマンド ウィンドウで mvn -v を実行して、Maven がインストールされていることを確認します。
  • Communication Services リソースに関連付けられている電話番号を表示するには、Azure portal にサインインし、Communication Services リソースを見つけます。 左側のナビゲーション ウィンドウで、[電話番号] を選択します。

アプリケーション環境の設定

メッセージを送信するための環境を設定するには、次のセクションの手順を実行します。

新しい 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) です。

パッケージをインストールする

テキスト エディターで pom.xml ファイルを開きます。 依存関係のグループに、次の dependency 要素を追加します。

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

アプリのフレームワークを設定する

テキスト エディターで /src/main/java/com/communication/quickstart/App.java を開き、import ディレクティブを追加して、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 Communication Services SMS SDK が備える主な機能のいくつかは、以下のクラスとインターフェイスにより処理されます。

名前 説明
SmsClientBuilder このクラスによって、SmsClient が作成されます。 これには、エンドポイント、資格情報、および HTTP クライアントを指定します。
SmsClient このクラスは、すべての SMS 機能に必要となります。 これを使用して、SMS メッセージを送信します。
SmsSendOptions このクラスには、カスタム タグを追加し、配信レポートを構成するためのオプションが用意されています。 deliveryReportEnabled が true に設定されている場合、配信が成功したときにイベントが生成されます。
SmsSendResult このクラスには、SMS サービスからの結果が含まれます。

クライアントを認証する

クライアントを認証するには、接続文字列を使用して SmsClient をインスタンス化します。 認証情報には、Azure portal の 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 メッセージを送信する

1 人の受信者に SMS メッセージを送信するには、1 人の受信者の電話番号を使用して 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> を Communication Services リソースに関連付けられている、SMS が有効になっている電話番号で置き換えます。
  • <to-phone-number> をメッセージを送信する電話番号に置き換えます。

警告

電話番号は、E.164 国際標準形式 (例: +14255550123) で指定します。 <from-phone-number> の値は、短いコード (23456 など) または英数字送信者 ID (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> を Communication Services リソースに関連付けられている、SMS が有効になっている電話番号で置き換えます。
  • <to-phone-number-1><to-phone-number-2> をメッセージを送信する電話番号に置き換えます。

警告

電話番号は、E.164 国際標準形式 (例: +14255550123) で指定します。 <from-phone-number> の値は、短いコード (23456 など) または英数字送信者 ID (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 Communication Services SMS コネクタと Azure Logic Apps を使用すると、携帯ショートメール (SMS) メッセージを送信できる自動化されたワークフローを作成できます。 このクイックスタートでは、ロジック アプリ ワークフローの最初のステップであるトリガー イベントに反応する形で自動的に携帯ショートメール (SMS) を送信する方法を説明します。 トリガー イベントは、受信電子メール メッセージ、定期実行スケジュール、Azure Event Grid リソース イベントなど、Azure Logic Apps でサポートされるトリガーであれば何でもかまいません。

Azure portal をロジック アプリ デザイナーから開いた画面のスクリーンショット。Azure Communication Services コネクタの携帯ショートメール (SMS) 送信アクションを使用するロジック アプリの例。

このクイックスタートでは、コネクタを使用してトリガーに応答する方法を中心に説明していますが、コネクタを使用して他のアクション (ワークフローの中でトリガーに続くステップ) に応答することもできます。 Logic Apps を初めて使用する方は、最初に Azure Logic Apps の概要に関するページをご覧ください。

Note

このクイックスタートを完了すると、ご利用の Azure アカウントでわずかな (数セント未満の) コストが発生します。

前提条件

重要

SMS と PSTN 機能は、使用する電話番号と、Azure の請求先住所によって決まる、運用している国およびリージョンによって異なります。 詳細については、サブスクリプションの資格に関するページを参照してください。

SMS アクションを追加する

Azure Communication Services SMS コネクタを使用して、ワークフローに新しいステップとして携帯ショートメール (SMS) 送信アクションを追加するには、Azure portal で次の手順に従います。その際、ロジック アプリ デザイナーでロジック アプリ ワークフローを開いておいてください。

  1. デザイナーで、新しいアクションの追加先となるステップで [新しいステップ] を選択します。 ステップとステップの間に新しいアクションを追加するには、それらのステップ間の矢印にポインターを合わせて、正符号 ( + ) を選択し、 [アクションの追加] を選択します。

  2. [操作の選択] 検索ボックスに「Azure Communication Services」と入力します。 アクションの一覧から [Send SMS](携帯ショートメール (SMS) 送信) を選択します。

    ロジック アプリ デザイナーと Azure Communication Services コネクタが示されているスクリーンショット。携帯ショートメール (SMS) 送信アクションが選択されている。

  3. Communication Services リソースとの接続を作成します。

    1. 同じサブスクリプション内で次のように実行します。

      1. 接続の名前を入力します。

      2. Azure Communication Services リソースを選択します。

      3. [作成] を選択します

      携帯ショートメール (SMS) 送信アクションの構成が示されているスクリーンショット。サンプル情報が入力されている。

    2. お使いの Azure Communication Services リソースの接続文字列を使用します。

      1. 接続の名前を入力します。

      2. ドロップダウン オプションから [ConnectionString 認証] を選択します。

      3. Azure Communication Services リソースの接続文字列を入力します。

      4. [作成] を選択します。

      Connection String 認証の構成を示すスクリーンショット。

    3. サービス プリンシパルの使用 (「サービス プリンシパルの作成」を参照してください)。

      1. 接続の名前を入力します。

      2. ドロップダウン オプションから [サービス プリンシパル (Microsoft Entra アプリケーション) 認証] を選択します。

      3. サービス プリンシパルの [テナント ID]、[クライアント ID]、[クライアント シークレット] を入力します。

      4. Azure Communication Services リソースの Azure Communication Services エンドポイント URL の値を入力します。

      5. [作成] を選択します。

      サービス プリンシパル認証の構成を示すスクリーンショット。

  4. 携帯ショートメール (SMS) 送信アクションで、次の情報を入力します。

    • 送信元と送信先の電話番号。 テスト用途では、送信先電話番号としてご自身の電話番号を使用してください。

    • 送信するメッセージの内容。たとえば「Hello from Logic Apps!」と入力します。

    携帯ショートメール (SMS) 送信アクションの情報の入力例を次に示します。

    携帯ショートメール (SMS) 送信アクションが示されているスクリーンショット。サンプル情報が入力されている。

  5. 操作が完了したら、デザイナーのツールバーで、 [保存] を選択します。

次に、テストのためにワークフローを実行します。

ワークフローのテスト

ワークフローを手動で開始するには、デザイナーのツール バーの [実行] を選択します。 または、トリガーが起動するまで待つこともできます。 どちらの場合も、ワークフローによって、指定した送信先電話番号に携帯ショートメール (SMS) メッセージが送信されます。 詳細については、ワークフローを実行する方法を確認してください。

ワークフロー リソースをクリーンアップする

ロジック アプリのワークフローおよび関連するリソースのクリーンアップについては、Logic Apps リソースのクリーンアップ方法に関するセクションを参照してください。

トラブルシューティング

SMS 配信に関連する問題のトラブルシューティングを行うために、Event Grid で配信レポートを有効にして配信の詳細を取得できます。

リソースをクリーンアップする

Communication Services サブスクリプションをクリーンアップして解除する場合は、リソースまたはリソース グループを削除できます。 リソース グループを削除すると、それに関連付けられている他のリソースも削除されます。 詳細については、リソースのクリーンアップに関する記事を参照してください。

フリーダイヤル検証

SMS メッセージの送信に新しい無料電話番号を使用するには、無料電話番号の検証プロセスを完了する必要があります。 無料電話番号の確認を完了する方法のガイダンスについては、無料電話番号の検証を申請するためのクイックスタートに関するページを参照してください。 完全に検証されたフリーダイヤル番号のみが、SMS トラフィックの送信を承認されます。 未検証の無料電話番号からの、米国とカナダの電話番号に宛てたすべての SMS トラフィックはブロックされます。

次のステップ

このクイックスタートでは、Azure Communication Services を使用して SMS メッセージを送信する方法について説明しました。