携帯電話に発行する - Amazon Simple Notification Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

携帯電話に発行する

Amazon SNS を使用すると、Amazon SNS トピックに電話番号を登録せずに、SMS メッセージを携帯電話に直接送信できます。

注記

1 つのメッセージを同時に複数の電話番号に送信する場合、電話番号をトピックにサブスクライブすると便利です。SMS メッセージをトピックに発行する方法については、」を参照してください。トピックへの発行

メッセージを送信すると、メッセージがコストまたは信頼性の高い配信用に最適化されているかどうかを制御できます。指定することもできます送信者 ID または発信番号。Amazon SNS API またはAWSSDK では、メッセージ配信の上限価格を指定できます。

各 SMS メッセージは最大 140 バイトまで含めることができ、文字限度はエンコーディングスキームによって異なります。たとえば、SMS メッセージは以下を含めることができます。

  • 160 GSM 文字

  • 140 ASCII 文字

  • 70 UCS-2 文字

サイズクォータを超えるメッセージを発行する場合は、Amazon SNS により、複数のメッセージとして送信され、それぞれが文字数のクォータ以内に収められます。メッセージは、単語の途中ではなく、全単語の境界で切り離されます。1 回の SMS 発行アクションの合計サイズ限度は、1,600 バイトです。

SMS メッセージを送信するときは、E.164 形式を使用して電話番号を指定します。E.164 形式は、国際通信に使用される標準の電話番号番号構造です。この形式に従う電話番号には、プラス記号 (+) のプレフィックスおよび国コードのほかに、最大 15 桁を設定することもできます。たとえば、E.164 形式の米国の電話番号は +1XXX5550100 と表示されます。

メッセージの送信 (コンソール)

  1. Amazon SNS コンソールにサインインします。

  2. コンソールメニューで、[]、[] の順に選択します。AWSSMS メッセージングをサポートしているリージョン

  3. ナビゲーションペインで、[Text messaging (SMS)] を選択します。

  4. リポジトリの []モバイルテキストメッセージング (SMS)ページで [] を選択します。テキストメッセージの公開

  5. リポジトリの []SMS メッセージの公開ページで、メッセージの種類で、次のいずれかを選択します。

    • プロモーション情報— マーケティングメッセージなどの非クリティカルなメッセージ。

    • トランザクション— Multi-Factor Authentication のワンタイムパスコードなど、顧客のトランザクションをサポートするクリティカルメッセージ。

    注記

    このメッセージレベルの設定は、アカウントレベルのデフォルトメッセージタイプを上書きします。アカウントレベルのデフォルトのメッセージタイプは、[テキストメッセージングの設定]の セクションモバイルテキストメッセージング (SMS)ページで.

    プロモーションおよびトランザクションメッセージの料金表の詳細については、ワールドワイドSMS料金表

  6. を使用する場合送信先の電話番号メッセージを送信する電話番号を入力します。

  7. を使用する場合Messageで、送信するメッセージを入力します。

  8. (オプション)送信元アイデンティティで、受信者を識別する方法を指定します。

    • を指定するには送信者 IDで、少なくとも 1 つの文字を含み、スペースは含まない、3~11 文字の英数字のカスタム ID を入力します。送信者 ID は、受信デバイスにメッセージ送信者として表示されます。たとえば、メッセージ ソースを識別しやすいように、ビジネスブランドを使用できます。

      送信者 ID のサポートについては、国、リージョン、またはその両方によって異なります。たとえば、米国の電話番号へ配信されるメッセージは、送信者 ID を表示しません。送信者 ID をサポートする国およびリージョンについては、「サポートされているリージョンおよび国」を参照してください。

      送信者 ID を指定しない場合、次のいずれかが発信者 ID として表示されます。

      • 長いコードをサポートしている国では、長いコードが表示されます。

      • 送信者 ID のみがサポートされている国では、NOTICE「」を参照してください。

      このメッセージレベルの送信者 ID は、[テキストメッセージプリファレンス] ページで設定するデフォルトの送信者 ID を上書きします。

    • を指定するには発信元番号に、受信機のデバイス上で送信者の電話番号として表示する5~14の数字の文字列を入力します。この文字列は、 AWS アカウント 宛先の国です。発信番号には、10DLC 番号、フリーダイヤル番号、個人間のロングコード、またはショートコードを指定できます。詳細については、「SMS メッセージの送信元アイデンティティ」を参照してください。

      発信番号を指定しない場合、Amazon SNS は SMS テキストメッセージに使用する発信番号を選択します。これは、 AWS アカウント の設定

  9. インドの受取人に SMS メッセージを送信する場合は、国固有の属性をクリックし、次の属性を指定します。

    • エンティティ ID— インドの受取人に SMS メッセージを送信するためのエンティティ ID またはプリンシパルエンティティ (PE) ID。この ID は、1 ~ 50 文字の一意の文字列で、TRAI に登録したエンティティを識別するためにインド電気通信規制局 (TRAI) が提供します。

    • テンプレートID— インドの受取人に SMS メッセージを送信するためのテンプレート ID です。この ID は、TRAI に登録したテンプレートを識別する 1 ~ 50 文字の一意の文字列です。テンプレート ID は、メッセージに対して指定した送信者 ID に関連付ける必要があります。

    インドの受取人に SMS メッセージを送信する方法の詳細については、」を参照してください。インドの受取人に SMS メッセージを送信するための特別な要件

  10. [メッセージの発行] を選択します。

ヒント

発信番号から SMS メッセージを送信するには、発信元番号Amazon SNS コンソールのナビゲーションパネルで、[] を選択します。次を含む発信番号を選択します。SMS()機能列を選択し、テキストメッセージの公開

メッセージの送信 (AWSSDK)

SMS メッセージを送信するには、[] の 1 つを使用します。AWSSDK の場合は、その SDK で API 操作を使用します。これは、Publishリクエストを Amazon SNS API で送信します。このリクエストでは、電話番号に SMS メッセージを直接送信できます。以下の属性名の値を設定する場合、MessageAttributes パラメーターも使用できます。

AWS.SNS.SMS.SenderID

少なくとも 1 つの文字を含み、スペースは含まない、3~11 文字の英数字のカスタム ID。送信者 ID は、受信デバイスにメッセージ送信者として表示されます。たとえば、メッセージソースを識別しやすいように、ビジネスブランドを使用できます。

送信者 ID のサポートについては、国またはリージョンによって異なります。たとえば、米国の電話番号へ配信されるメッセージは、送信者 ID を表示しません。送信者 ID をサポートしている国またはリージョンの一覧は、サポートされているリージョンおよび国

送信者 ID を指定しない場合、ロングコードは、サポートされている国、リージョン、またはそのいずれかに送信者 ID として表示されます。アルファベットの送信者 ID を必要とする国またはリージョンでは、NOTICE送信者 ID として表示されます。

このメッセージレベルの属性は、アカウントレベルの属性を上書きしますDefaultSenderIDを使用して設定することができます。SetSMSAttributesリクエスト.

AWS.MM.SMS.OriginationNumber

5 ~ 14 個の数値のカスタム文字列で、オプションの先頭にプラス記号 (+). この番号文字列は、受信側デバイスの送信者の電話番号として表示されます。文字列は、AWS宛先の国のアカウント。発信番号には、10DLC 番号、フリーダイヤル番号、個人対人 (P2P) ロングコード、またはショートコードを指定できます。詳細については、「発信元番号」を参照してください。

発信番号を指定しない場合、Amazon SNS はAWSアカウント設定。

AWS.SNS.SMS.MaxPrice

SMS メッセージの送信に費やすことができる最大価格 (USD)。Amazon SNS は、メッセージを送信すると最大価格を超えるコストが発生すると判断した場合、メッセージを送信しません。

過去 1 か月の SMS コストが既にMonthlySpendLimit属性。次の設定を行うことができます。MonthlySpendLimitを使用して属性をSetSMSAttributesリクエスト.

Amazon SNS トピックにメッセージを送信する場合、トピックにサブスクライブされている各電話番号への各メッセージの配信に上限価格が適用されます。

AWS.SNS.SMS.SMSType

送信するメッセージのタイプ。

  • Promotional(デフォルト) — マーケティングメッセージなどの非クリティカルなメッセージ。

  • Transactional— Multi-Factor Authentication のワンタイムパスコードなど、顧客のトランザクションをサポートするクリティカルメッセージ。

このメッセージレベルの属性は、アカウントレベルの属性を上書きしますDefaultSMSTypeを使用して設定することができます。SetSMSAttributesリクエスト.

AWS.MM.SMS.EntityId

この属性は、インドの受取人に SMS メッセージを送信するためだけ必要です。

これは、インドの受信者に SMS メッセージを送信するためのエンティティ ID またはプリンシパルエンティティ (PE) ID です。この ID は、1 ~ 50 文字の一意の文字列で、TRAI に登録したエンティティを識別するためにインド電気通信規制局 (TRAI) が提供します。

AWS.MM.SMS.TemplateId

この属性は、インドの受取人に SMS メッセージを送信するためだけ必要です。

インドの受取人に SMS メッセージを送信するためのテンプレートです。この ID は、TRAI に登録したテンプレートを識別する 1 ~ 50 文字の一意の文字列です。テンプレート ID は、メッセージに対して指定した送信者 ID に関連付ける必要があります。

(オプション) メッセージ属性設定

以下の例では、Amazon SNS クライアントを使用してメッセージ属性を設定する方法について説明します。AWSSDK は提供します。

注記

SDK を使用する前に、必ず AWS の認証情報を設定してください。詳細については、「」を参照してください。の設定AWS認証情報()AWS SDK for .NET開発者ガイド。「」を参照してください。認証情報の使用()AWS SDK for Java開発者ガイド

AWS SDK for Java

AWS SDK for Java では、属性キーを MessageAttributeValue オブジェクトと関連付けるマップを構築することで、メッセージ属性値を設定します。各 MessageAttributeValue オブジェクトは属性値で初期化され、各オブジェクトは値のデータ型を宣言します。次の例では、上限価格を「0.50 USD」、SMS 型を「プロモーション」として、「mySenderID」に送信者 ID を設定します。

Map<String, MessageAttributeValue> smsAttributes = new HashMap<String, MessageAttributeValue>(); smsAttributes.put("AWS.SNS.SMS.SenderID", new MessageAttributeValue() .withStringValue("mySenderID") //The sender ID shown on the device. .withDataType("String")); smsAttributes.put("AWS.SNS.SMS.MaxPrice", new MessageAttributeValue() .withStringValue("0.50") //Sets the max price to 0.50 USD. .withDataType("Number")); smsAttributes.put("AWS.SNS.SMS.SMSType", new MessageAttributeValue() .withStringValue("Promotional") //Sets the type to promotional. .withDataType("String"));

SMS メッセージを送信する場合、属性を適用するPublishRequestオブジェクト。

AWS SDK for .NET

AWS SDK for .NET では、属性キーを MessageAttributeValue オブジェクトと関連付けるマップを構築することで、メッセージ属性値を設定します。各 MessageAttributeValue オブジェクトは属性値で初期化され、各オブジェクトは値のデータ型を宣言します。次の例では、上限価格を「0.50 USD」、SMS 型を「プロモーション」として、「mySenderID」に送信者 ID を設定します。

PublishRequest pubRequest = new PublishRequest(); // add optional MessageAttributes... pubRequest.MessageAttributes["AWS.SNS.SMS.SenderID"] = new MessageAttributeValue{ StringValue = "mySenderId", DataType = "String"}; pubRequest.MessageAttributes["AWS.SNS.SMS.MaxPrice"] = new MessageAttributeValue { StringValue = "0.50", DataType = "Number" }; pubRequest.MessageAttributes["AWS.SNS.SMS.SMSType"] = new MessageAttributeValue { StringValue = "Promotional", DataType = "String" };

メッセージの送信

以下の例では、Amazon SNS クライアントを使用してメッセージを送信する方法について説明します。AWSSDK は提供します。

注記

SDK を使用する前に、必ず AWS の認証情報を設定してください。詳細については、「」を参照してください。の設定AWS認証情報()AWS SDK for .NET開発者ガイド。「」を参照してください。認証情報の使用()AWS SDK for Java開発者ガイド

AWS SDK for Java

次の例では、を使用します。publishオペレーションはAmazonSNSClientクラスでAWS SDK for Java。この例では、メッセージを電話番号に直接送信します。

public static void main(String[] args) { AmazonSNSClient snsClient = new AmazonSNSClient(); String message = "My SMS message"; String phoneNumber = "+1XXX5550100"; Map<String, MessageAttributeValue> smsAttributes = new HashMap<String, MessageAttributeValue>(); //<set SMS attributes> sendSMSMessage(snsClient, message, phoneNumber, smsAttributes); } public static void sendSMSMessage(AmazonSNSClient snsClient, String message, String phoneNumber, Map<String, MessageAttributeValue> smsAttributes) { PublishResult result = snsClient.publish(new PublishRequest() .withMessage(message) .withPhoneNumber(phoneNumber) .withMessageAttributes(smsAttributes)); System.out.println(result); // Prints the message ID. }

この例を実行すると、IDE のコンソール出力ウィンドウにメッセージ ID が表示されます。

{MessageId: 9b888f80-15f7-5c30-81a2-c4511a3f5229}
AWS SDK for .NET

次の例では、を使用します。PublishオペレーションはAmazonSimpleNotificationServiceClientクラスでAWS SDK for .NET。この例では、メッセージを電話番号に直接送信します。

static void Main(string[] args) { AmazonSimpleNotificationServiceClient snsClient = new AmazonSimpleNotificationServiceClient(Amazon.RegionEndpoint.USWest2); PublishRequest pubRequest = new PublishRequest(); pubRequest.Message = "My SMS message"; pubRequest.PhoneNumber = "+1XXX5550100"; // add optional MessageAttributes, for example: // pubRequest.MessageAttributes.Add("AWS.SNS.SMS.SenderID", new MessageAttributeValue // { StringValue = "SenderId", DataType = "String" }); PublishResponse pubResponse = snsClient.Publish(pubRequest); Console.WriteLine(pubResponse.MessageId); }

この例を実行すると、IDE のコンソール出力ウィンドウにメッセージ ID が表示されます。

9b888f80-15f7-5c30-81a2-c4511a3f5229