.NET 用 Azure Communication SMS クライアント ライブラリ - バージョン 1.0.1
このパッケージには、SMS とテレフォニーのAzure Communication Services用の C# SDK が含まれています。
ソースコード | パッケージ (NuGet) | 製品ドキュメント
作業の開始
パッケージをインストールする
NuGet を使用して .NET 用の Azure Communication SMS クライアント ライブラリをインストールします。
dotnet add package Azure.Communication.Sms --version 1.0.0
前提条件
このパッケージを使用するには、 Azure サブスクリプション と Communication Service リソース が必要です。
新しい Communication Service を作成するには、Azure Portal、Azure PowerShell、または .NET 管理クライアント ライブラリを使用できます。
主要な概念
SmsClient
は、電話番号間でメッセージを送信する機能を提供します。
ステートメントの使用
using System;
using Azure.Communication.Sms;
クライアントを認証する
SMS クライアントは、 Azure Portal の Azure Communication Resource から取得した接続文字列を使用して認証できます。
var connectionString = "<connection_string>"; // Find your Communication Services resource in the Azure portal
SmsClient client = new SmsClient(connectionString);
または、有効なトークン資格情報を使用して SMS クライアントを認証することもできます。 この認証方法を使用する場合、AZURE_CLIENT_SECRET
、AZURE_CLIENT_ID
、AZURE_TENANT_ID
の各環境変数が設定されている必要があります。
string endpoint = "<endpoint_url>";
TokenCredential tokenCredential = new DefaultAzureCredential();
SmsClient client = new SmsClient(new Uri(endpoint), tokenCredential);
例
1:1 の SMS メッセージを送信する
SMS メッセージを送信するには、 から または SendAsync
関数を呼び出します。Send
SmsClient
SmsSendResult sendResult = await smsClient.SendAsync(
from: "<from-phone-number>", // Your E.164 formatted from phone number used to send SMS
to: "<to-phone-number>", // E.164 formatted recipient phone number
message: "Hi");
Console.WriteLine($"Sms id: {sendResult.MessageId}");
1:N の SMS メッセージを送信する
SMS メッセージを受信者の一覧に送信するには、 の SmsClient
または SendAsync
関数を、受信者の電話番号の一覧と共に呼び出Send
します。
また、オプション オブジェクトにパスを追加して、配信レポートを有効にするかどうかを指定し、カスタム タグを設定することもできます。
var response = await smsClient.SendAsync(
from: "<from-phone-number>", // Your E.164 formatted from phone number used to send SMS
to: new string[] { "<to-phone-number-1>", "<to-phone-number-2>" }, // E.164 formatted recipient phone numbers
message: "Weekly Promotion!",
options: new SmsSendOptions(enableDeliveryReport: true) // OPTIONAL
{
Tag = "marketing", // custom tags
});
foreach (SmsSendResult result in response.Value)
{
Console.WriteLine($"Sms id: {result.MessageId}");
Console.WriteLine($"Send Result Successful: {result.Successful}");
}
トラブルシューティング
SMS 操作は、サーバーへの要求が失敗した場合に例外をスローします。
エラーが個々のメッセージによって発生した場合、要求全体で何かが失敗した場合にのみ、例外はスローされません。
フラグを使用して個々の Successful
結果を検証し、メッセージが送信されたかどうかを確認してください。
try
{
var response = await smsClient.SendAsync(
from: "<from-phone-number>" // Your E.164 formatted phone number used to send SMS
to: new string [] {"<to-phone-number-1>", "<to-phone-number-2>"}, // E.164 formatted recipient phone number
message: "Weekly Promotion!",
options: new SmsSendOptions(enableDeliveryReport: true) // OPTIONAL
{
Tag = "marketing", // custom tags
});
foreach (SmsSendResult result in response.Value)
{
if (result.Successful)
{
Console.WriteLine($"Successfully sent this message: {result.MessageId} to {result.To}.");
}
else
{
Console.WriteLine($"Something went wrong when trying to send this message {result.MessageId} to {result.To}.");
Console.WriteLine($"Status code {result.HttpStatusCode} and error message {result.ErrorMessage}.");
}
}
}
catch (RequestFailedException ex)
{
Console.WriteLine(ex.Message);
}
次の手順
- SMS の詳細については、「Azure Communication Services」を参照してください
- SMS メッセージの配信レポートを構成する方法の基本的なガイドについては、 SMS イベントの処理に関するクイックスタートを参照してください。
共同作成
このプロジェクトでは、共同作成と提案を歓迎しています。 ほとんどの共同作成では、共同作成者使用許諾契約書 (CLA) にご同意いただき、ご自身の共同作成内容を使用する権利を Microsoft に供与する権利をお持ちであり、かつ実際に供与することを宣言していただく必要があります。 詳細については、「 cla.microsoft.com」を参照してください。
このプロジェクトでは、Microsoft オープン ソースの倫理規定を採用しています。 詳しくは、「Code of Conduct FAQ (倫理規定についてよくある質問)」を参照するか、opencode@microsoft.com 宛てに質問またはコメントをお送りください。
Azure SDK for .NET