AWS End User Messaging SMS で AWS CLI を使用して登録を作成する
次のセクションでは、AWS CLI を使用して登録を作成、入力、送信する方法の例を示します。Python またはシェルスクリプトを使用して通話料無料の電話番号登録を作成して送信する方法の例については、「AWS End User Messaging の米国の無料通話番号登録を自動化する
背景
一部の国では、発信元 ID を購入し、その国の受信者に送信するメッセージを審査するために、自社の企業情報を登録する必要があります。
-
提供された登録情報は、第三者によって確認される場合があります。第三者は国によって異なりますが、審査を実行する政府機関またはモバイルキャリアである可能性があります。
-
第三者企業が登録を確認するのにかかる時間は、登録タイプによって異なります。
前提条件
開始するには、以下が必要です。
-
AWS CLI をインストールして設定します。「AWS Command Line Interface ユーザーガイド」の「AWS CLI の設定」を参照してください。
-
ターゲットリージョンで AWS End User Messaging SMS を使用するための権限を持つ AWS アカウント。
-
登録の AssociationBehavior は、登録情報を発信元 ID に関連付けたり、発信元 ID から関連解除したりする際の順序を指定します。詳細は「SupportedAssociation」を参照してください。
ASSOCIATE_BEFORE_SUBMIT登録を送信するときは、発信元 ID を指定する必要があります。ASSOCIATE_ON_APPROVALこれはすべての送信者 ID 登録に適用されます。送信者 ID は、登録が承認されると自動的にプロビジョニングされます。ASSOCIATE_AFTER_COMPLETEこれは、最初に登録を完了し、後で 1 つ以上の電話番号を関連付ける必要がある電話番号の登録に適用されます。
重要
登録ステータスに関係なく、発信元 ID を購入したら、「AWS End User Messaging の料金
」を参照してください。 登録を送信すると、第三者によって審査され、返送されるまで、登録を変更したり、リソースと登録の関連付けを解除したりすることはできません。
以下は、登録用の追加のリソースです。
create-registration コマンドを使用して、新しい空の登録を作成します。RegistrationType パラメータによって、作成する登録のタイプが決まります。作成する登録タイプの値がわからない場合は、describe-registration-type-definitions コマンドを使用して、すべての登録タイプのリストを取得します。
次の例は、通話料無料番号の登録フォームを作成する方法を示しています。
$aws pinpoint-sms-voice-v2 create-registration --registration-type US_TOLL_FREE_REGISTRATION --tags "Key=Name,Value=MyTFNRegistration"
正常に完了したら、他のコマンドに必要な RegistrationId の値を保存します。
注記
登録にフレンドリ名を追加するには、[キー] を「Name」に設定し、[値] をフレンドリ名に設定してタグを追加する必要があります。
請求目的でリソースにタグを追加することもできます。「請求用のリソースのタグ付け」を参照してください。
以下は、describe-registration-type-definitions コマンドの部分的出力の例です。AssociationBehavior が ASSOCIATE_BEFORE_SUBMITに設定されているため、登録を承認の用に送信する前に、通話料無料番号を購入して登録と関連付ける必要があります。AssociationBehavior と DisassociationBehavior の詳細については、「SupportedAssociation」を参照してください。
{ "RegistrationTypeDefinitions": [ { "RegistrationType": "US_TOLL_FREE_REGISTRATION", "SupportedAssociations": [ { "ResourceType": "TOLL_FREE", "IsoCountryCode": "US", "AssociationBehavior": "ASSOCIATE_BEFORE_SUBMIT", "DisassociationBehavior": "DISASSOCIATE_ALL_CLOSES_REGISTRATION" } ], "DisplayHints": { "Title": "US toll-free number registration" } }, ...
次に、各フィールドの定義を取得して、フィールドの最大文字数など、要件を把握する必要があります。
各登録はセクションに分割され、各セクションには 1 つ以上のフィールドがあります。describe-registration-field-definitions コマンドを使用して、登録のすべてのセクション定義とフィールド定義を取得します。値を設定できるようにするには、後で各フィールドの FieldPath が必要になります。また、FieldRequirement は、フィールドが必須か任意かを判断するために使用されます。
次の例は、通話料無料登録フォームのフィールド定義を取得する方法を示しています。
$aws pinpoint-sms-voice-v2 describe-registration-field-definitions --registration-type US_TOLL_FREE_REGISTRATION
以下は、コマンドからの出力例です。
{ "RegistrationFieldDefinitions": [ { "SectionPath": "companyInfo", "FieldPath": "companyInfo.companyName", "FieldType": "TEXT", "FieldRequirement": "REQUIRED", "TextValidation": { "MinLength": 1, "MaxLength": 100, "Pattern": "^(?=\\s*\\S)[\\s\\S]+$" }, "DisplayHints": { "Title": "Company name", "ShortDescription": "Legal name which your company is registered under.", "ExampleTextValue": "Example Corp" } }, ...
登録によっては、承認書 (LOA)、オプトインワークフロー、または別のタイプの必須ドキュメントを完了してアタッチする必要がある場合があります。個々の登録で詳細を確認し、フォームをダウンロードします。
create-registration-attachment コマンドを使用して、登録アタッチメントを作成します。ファイルを Amazon S3 バケットにアップロードし、URL を使用するか、コマンドの一部としてドキュメントをアタッチできます。AttachmentUrl または AttachmentBody のいずれかを使用します。両方が指定されている場合、例外が返されます。最大ファイルサイズは 500 KB で、有効なファイル拡張子は PDF、JPEG、PNG です。
次の例は、登録アタッチメントを作成し、AttachmentUrl パラメータを使用する方法を示しています。
$aws pinpoint-sms-voice-v2 create-registration-attachment --attachment-url s3://BucketName/FileName
正常に完了すると、他のコマンドに必要な RegistrationAttachmentID が返されます。
バケットの作成やファイルのアップロードなどの Amazon S3 コマンドの詳細については、「Use high-level (s3) commands with the AWS CLI」を参照してください。
次に、「フィールド定義を取得する」ステップで返されるすべての必須フィールドの値を追加する必要があります。これには、作成したアタッチメントが含まれます。ユースケースに該当する任意フィールドもすべて入力することをお勧めします。フィールドは、FieldRequirement 値に応じて必須またはオプションです。put-registration-field-value コマンドを使用して、フィールド値を設定します。
次の例は、会社名またはテキスト値の値を追加する方法を示しています。
$aws pinpoint-sms-voice-v2 put-registration-field-value --registration-idRegID--field-pathcompanyInfo.companyName--text-valueAnyCompany前述のコマンドで、以下を置き換えます。
-
RegIDを、「登録を作成する」ステップで返された登録 ID に置き換えます。 -
AnyCompanyを会社名に置き換えます。
-
次の例は、選択フィールドの値を追加する方法を示しています。
$aws pinpoint-sms-voice-v2 put-registration-field-value --registration-idRegID--field-pathmessagingUseCase.monthlyMessageVolume--text-choicesSelectValue前述のコマンドで、以下を置き換えます。
-
RegIDを、「登録を作成する」ステップで返された登録 ID に置き換えます。 -
SelectValueを、フィールドのオプション値の 1 つに置き換えます。describe-registration-field-definitions コマンドを使用して、1 つのフィールドのみのオプションを取得します。
aws pinpoint-sms-voice-v2 describe-registration-field-definitions --registration-type US_TOLL_FREE_REGISTRATION --field-pathsmessagingUseCase.monthlyMessageVolume{ "RegistrationFieldDefinitions": [ { "SectionPath": "messagingUseCase", "FieldPath": "messagingUseCase.monthlyMessageVolume", "FieldType": "SELECT", "FieldRequirement": "REQUIRED", "SelectValidation": { "MinChoices": 1, "MaxChoices": 1, "Options": [ "10", "100", "1,000", "10,000", "100,000", "250,000", "500,000", "750,000", "1,000,000", "5,000,000", "10,000,000+" ] }, "DisplayHints": { "Title": "Monthly SMS volume", "ShortDescription": "Estimated number of SMS messages which will be sent from this toll-free number each month." } } ], "RegistrationType": "US_TOLL_FREE_REGISTRATION" }
-
-
次のコード例は、アタッチメントを追加する方法を示しています。
$aws pinpoint-sms-voice-v2 put-registration-field-value --registration-idRegID--field-pathmessagingUseCase.optInImage--registration-attachment-idRegistrationAttachmentID前述のコマンドで、以下を置き換えます。
-
RegIDを、「登録を作成する」ステップで返された登録 ID に置き換えます。 -
RegistrationAttachmentIDを、アタッチメントの作成ステップから返されたアタッチメント ID に置き換えます。
-
注記
登録ステータスに関係なく、発信元 ID を購入したら、「AWS End User Messaging の料金
登録の AssociationBehavior が ASSOCIATE_AFTER_COMPLETE の場合、登録が送信および承認されるまで、発信元 ID を購入または関連付ける必要はありません。
次に、後で登録に関連付けられる発信元 ID をリクエストする必要があります。この例では、request-phone-number コマンドを使用して、AWS CLI を通じて通話料無料の電話番号をリクエストする方法を示します。request-sender-id を使用して送信者 ID をリクエストします。
$aws pinpoint-sms-voice-v2 request-phone-number --iso-country-code US --message-type TRANSACTIONAL --number-capabilities SMS --number-type TOLL_FREE
正常に完了すると、電話番号を登録に関連付けるために必要な電話番号の一意の識別子が返されます。
注記
登録の AssociationBehavior が ASSOCIATE_AFTER_COMPLETE の場合、登録が送信および承認されるまで、発信元 ID を購入または関連付ける必要はありません。
発信元 ID を登録に関連付けるには、create-registration-association AWS CLI コマンドを使用します。
$aws pinpoint-sms-voice-v2 create-registration-association --registration-idRegID--resource-idPhoneNumberID
前述のコマンドで、以下を置き換えます。
-
RegIDを、「登録を作成する」ステップで返された登録 ID に置き換えます。 -
PhoneNumberIDを、発信元 ID のリクエストステップから返された電話番号 ID に置き換えます。
注記
このコマンドは、該当するリソースを登録に関連付けるために使用します。例えば、10DLC キャンペーン登録を 10DLC ブランド登録に関連付けるために使用できます。
登録を送信すると、登録を変更できなくなります。登録を確認して、送信する前にすべてのデータが正しいことを確認してください。
重要
登録を送信すると、第三者によって審査され、返送されるまで、登録を変更したり、リソースと登録の関連付けを解除したりすることはできません。
AWS CLI を使用して登録を送信するには、submit-registration-version コマンドを使用します。
$aws pinpoint-sms-voice-v2 submit-registration-version --registration-idRegID
前述のコマンドで、以下を置き換えます。
-
RegIDを、「登録を作成する」ステップで返された登録 ID に置き換えます。
登録が送信されたら、describe-registrations コマンドまたはコンソールを使用してステータスを確認できます。
登録の AssociationBehavior が ASSOCIATE_AFTER_COMPLETE の場合、登録のステータスが COMPLETE に設定されると、発信元 ID を購入して登録に関連付けることができます。
登録のステータスが REQUIRES_UPDATES に変更されると、フラグ付きフィールドを見つけて編集し、登録を再送信できます。登録拒否の理由のリストについては、「登録拒否に関するヘルプ」を参照してください。登録拒否について サポート のサポートが必要な場合は、チケットを開くことができます。