翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Notify を使用したメッセージの送信
Notify には、メッセージを送信するための 2 つの APIs。
SendNotifyTextMessage– 事前承認されたテンプレートを使用して SMS メッセージを送信します。SendNotifyVoiceMessage– text-to-speech を使用してテンプレートコンテンツを読み取る音声通話を送信します。
SMS メッセージの送信
音声メッセージの送信
音声メッセージでは、Notify 設定でVOICEチャネルを有効にする必要があります。
ヒント
音声メッセージの場合、text-to-speechエンジンが 1 つの数字ではなく各数字を個別に読み取るように、数字をピリオドまたはスペース ( など"1. 2. 3. 4. 5. 6.") で区切ります。
DryRun モードの使用
DryRun を に設定trueして、メッセージを実際に配信せずに送信リクエストを検証します。DryRun モードは、テンプレート変数の検証、国の制限、および使用制限をチェックしますが、メッセージを送信したり、使用制限から差し引いたりすることはありません。
aws pinpoint-sms-voice-v2 send-notify-text-message \ --notify-configuration-idnc-1234567890abcdef0\ --destination-phone-number+12065550100\ --template-idnotify-code-verification-english-001\ --template-variables '{"code":"123456"}' \ --dry-run
リクエストパラメータの送信
SendNotifyTextMessage と の両方が、次のパラメータSendNotifyVoiceMessageを受け入れます。
- NotifyConfigurationId (必須)
Notify 設定の ID または ARN。
- DestinationPhoneNumber (必須)
E.164 形式の受信者の電話番号。
- TemplateVariables (必須)
変数名の値へのマップ。整数変数またはブール変数であっても、すべての値は文字列です。
- TemplateId
使用するテンプレート。省略すると、設定のデフォルトテンプレートが使用されます。
- ConfigurationSetName
イベントルーティングの設定セット。
- Context
イベントレコードに含まれるキーと値のペア。
- DryRun
送信せずにリクエストを検証します。
- TimeToLive
メッセージが有効である時間、秒単位。デフォルトは 72 時間です。
- MessageFeedbackEnabled
PutMessageFeedbackAPI を介したメッセージフィードバックの追跡を有効にします。- VoiceId (音声のみ)
使用する Amazon Polly 音声 (例:
JOANNA、MATTHEW)。
メッセージルーティングの仕組み
AWS は、送信先の国に基づいて、各メッセージに最適な送信元 ID を自動的に選択します。電話プールを通知設定に関連付けると、プール内の顧客所有の ID が最初に試行されます。適切な顧客所有の ID がない場合は、 AWS管理された ID がフォールバックとして使用されます。
メッセージフィードバック
メッセージの送信MessageFeedbackEnabled時に を有効にすると、エンドユーザーがコードを正常に受信して使用したかどうかを報告できます。
client.put_message_feedback( MessageId='msg-1234567890abcdef', MessageFeedbackStatus='RECEIVED' # or 'FAILED' )
配信イベント
通知は、設定されたイベント送信先 (CloudWatch、Amazon Data Firehose、または Amazon SNS) に配信イベントを送信します。イベント送信先の設定については、「」を参照してくださいAWS End User Messaging SMS の設定セット。
| [Event] (イベント) | 説明 |
|---|---|
PENDING |
メッセージは配信のためにキューに入れられます。 |
DELIVERED |
メッセージが受信者のデバイスに配信されました。 |
FAILED |
メッセージ配信に失敗しました。詳細については、失敗の理由を確認してください。 |
BLOCKED |
メッセージは Protect 設定ルールによってブロックされました。 |
エラー処理
- ValidationException
設定でテンプレート変数がないか無効、電話番号形式が無効、または送信先の国が有効になっていません。
- ResourceNotFoundException
通知設定またはテンプレートが見つかりませんでした。
- ServiceQuotaExceededException
日次メッセージ制限 (基本階層) または月額使用制限に達しました。
- ConflictException
通知設定が
ACTIVEステータスではありません。
重要な注意事項
双方向メッセージング – AWSマネージド型発信元 ID を使用する場合、双方向メッセージングはサポートされていません。双方向メッセージングが必要な場合は、独自の電話プールを関連付けます。「Notify での専用番号の使用」を参照してください。
オプトアウト動作 – AWSマネージド ID を持つ OTP ユースケースの場合、STOP キーワードレスポンスは情報提供のみを目的としています。各 OTP リクエストは暗黙的なオプトインであるため、永続的なオプトアウトリストは維持されません。独自の電話プールを関連付ける場合、プールのオプトアウトリストが優先されます。
トラブルシューティング
配信されないメッセージ
メッセージが配信されていない場合は、以下を確認します。
送信先の電話番号が E.164 形式であることを確認します (
+と国コードで始まります)。送信先の国が
EnabledCountriesリストに含まれていることを確認します。設定ステータスが であることを確認します
ACTIVE。支出制限を超えていないことを確認します。
BLOCKED ステータス
メッセージは Protect 設定によってブロックされました。一般的な理由には、有効な国リストにない送信先国や、潜在的な AIT (人工的に拡張されたトラフィック) としてフラグ付けされているメッセージなどがあります。
検証エラー
必要なすべての が指定されTemplateVariablesていることを確認します。変数値が宣言された型と一致することを確認します (整数は有効な数値など)。テンプレート ID が存在し、アクティブであることを確認します。