

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

# Notify を使用したメッセージの送信
<a name="notify-send-messages"></a>

Notify には、メッセージを送信するための 2 つの APIs。
+ `SendNotifyTextMessage` – 事前承認されたテンプレートを使用して SMS メッセージを送信します。
+ `SendNotifyVoiceMessage` – text-to-speech を使用してテンプレートコンテンツを読み取る音声通話を送信します。

## SMS メッセージの送信
<a name="notify-send-text"></a>

------
#### [ Console ]

1. [https://console.aws.amazon.com/sms-voice/](https://console.aws.amazon.com/sms-voice/) で AWS エンドユーザーメッセージング SMS コンソールを開きます。

1. 通知設定に移動し、**テスト**タブを選択します。

1. チャネルで、**テキスト**を選択します。

1. テンプレートテーブルからテンプレートを選択します。

1. E.164 形式で送信先の電話番号を入力します。

1. テンプレート変数を入力します。

1. **[送信]** を選択します。

------
#### [ AWS CLI ]

```
aws pinpoint-sms-voice-v2 send-notify-text-message \
  --notify-configuration-id nc-1234567890abcdef0 \
  --destination-phone-number +12065550100 \
  --template-id notify-code-verification-english-001 \
  --template-variables '{"code":"123456"}'
```

------
#### [ Python (boto3) ]

```
import boto3

client = boto3.client('pinpoint-sms-voice-v2')

response = client.send_notify_text_message(
    NotifyConfigurationId='nc-1234567890abcdef0',
    DestinationPhoneNumber='+12065550100',
    TemplateId='notify-code-verification-english-001',
    TemplateVariables={
        'code': '123456'
    }
)

print(f"Message sent. MessageId: {response['MessageId']}")
print(f"Resolved body: {response.get('ResolvedMessageBody')}")
```

------

## 音声メッセージの送信
<a name="notify-send-voice"></a>

音声メッセージでは、Notify 設定で`VOICE`チャネルを有効にする必要があります。

**ヒント**  
音声メッセージの場合、text-to-speechエンジンが 1 つの数字ではなく各数字を個別に読み取るように、数字をピリオドまたはスペース ( など`"1. 2. 3. 4. 5. 6."`) で区切ります。

------
#### [ Console ]

1. [https://console.aws.amazon.com/sms-voice/](https://console.aws.amazon.com/sms-voice/) で AWS エンドユーザーメッセージング SMS コンソールを開きます。

1. 通知設定に移動し、**テスト**タブを選択します。

1. チャネルで、**Voice** を選択します。

1. テンプレートテーブルから音声テンプレートを選択します。

1. 送信先の電話番号を入力し、テンプレート変数を入力します。

1. **[送信]** を選択します。

------
#### [ AWS CLI ]

```
aws pinpoint-sms-voice-v2 send-notify-voice-message \
  --notify-configuration-id nc-1234567890abcdef0 \
  --destination-phone-number +12065550100 \
  --template-id notify-code-verification-english-001 \
  --template-variables '{"code":"123456"}' \
  --voice-id JOANNA
```

------

## DryRun モードの使用
<a name="notify-send-dryrun"></a>

`DryRun` を に設定`true`して、メッセージを実際に配信せずに送信リクエストを検証します。DryRun モードは、テンプレート変数の検証、国の制限、および使用制限をチェックしますが、メッセージを送信したり、使用制限から差し引いたりすることはありません。

```
aws pinpoint-sms-voice-v2 send-notify-text-message \
  --notify-configuration-id nc-1234567890abcdef0 \
  --destination-phone-number +12065550100 \
  --template-id notify-code-verification-english-001 \
  --template-variables '{"code":"123456"}' \
  --dry-run
```

## リクエストパラメータの送信
<a name="notify-send-parameters"></a>

`SendNotifyTextMessage` と の両方が、次のパラメータ`SendNotifyVoiceMessage`を受け入れます。

NotifyConfigurationId (必須)  
Notify 設定の ID または ARN。

DestinationPhoneNumber (必須)  
E.164 形式の受信者の電話番号。

TemplateVariables (必須)  
変数名の値へのマップ。整数変数またはブール変数であっても、すべての値は文字列です。

TemplateId  
使用するテンプレート。省略すると、設定のデフォルトテンプレートが使用されます。

ConfigurationSetName  
イベントルーティングの設定セット。

Context  
イベントレコードに含まれるキーと値のペア。

DryRun  
送信せずにリクエストを検証します。

TimeToLive  
メッセージが有効である時間、秒単位。デフォルトは 72 時間です。

MessageFeedbackEnabled  
`PutMessageFeedback` API を介したメッセージフィードバックの追跡を有効にします。

VoiceId (音声のみ)  
使用する Amazon Polly 音声 (例: `JOANNA`、`MATTHEW`)。

## メッセージルーティングの仕組み
<a name="notify-send-routing"></a>

AWS は、送信先の国に基づいて、各メッセージに最適な送信元 ID を自動的に選択します。電話プールを通知設定に関連付けると、プール内の顧客所有の ID が最初に試行されます。適切な顧客所有の ID がない場合は、 AWS管理された ID がフォールバックとして使用されます。

## メッセージフィードバック
<a name="notify-send-feedback"></a>

メッセージの送信`MessageFeedbackEnabled`時に を有効にすると、エンドユーザーがコードを正常に受信して使用したかどうかを報告できます。

```
client.put_message_feedback(
    MessageId='msg-1234567890abcdef',
    MessageFeedbackStatus='RECEIVED'  # or 'FAILED'
)
```

## 配信イベント
<a name="notify-send-delivery-events"></a>

通知は、設定されたイベント送信先 (CloudWatch、Amazon Data Firehose、または Amazon SNS) に配信イベントを送信します。イベント送信先の設定については、「」を参照してください[AWS End User Messaging SMS の設定セット](configuration-sets.md)。


**配信イベントタイプ**  

| [Event] (イベント) | 説明 | 
| --- | --- | 
| PENDING | メッセージは配信のためにキューに入れられます。 | 
| DELIVERED | メッセージが受信者のデバイスに配信されました。 | 
| FAILED | メッセージ配信に失敗しました。詳細については、失敗の理由を確認してください。 | 
| BLOCKED | メッセージは Protect 設定ルールによってブロックされました。 | 

## エラー処理
<a name="notify-send-errors"></a>

ValidationException  
設定でテンプレート変数がないか無効、電話番号形式が無効、または送信先の国が有効になっていません。

ResourceNotFoundException  
通知設定またはテンプレートが見つかりませんでした。

ServiceQuotaExceededException  
日次メッセージ制限 (基本階層) または月額使用制限に達しました。

ConflictException  
通知設定が `ACTIVE`ステータスではありません。

## 重要な注意事項
<a name="notify-send-important-notes"></a>
+ **双方向メッセージング** – AWSマネージド型発信元 ID を使用する場合、双方向メッセージングはサポートされていません。双方向メッセージングが必要な場合は、独自の電話プールを関連付けます。「[Notify での専用番号の使用](notify-dedicated-numbers.md)」を参照してください。
+ **オプトアウト動作** – AWSマネージド ID を持つ OTP ユースケースの場合、STOP キーワードレスポンスは情報提供のみを目的としています。各 OTP リクエストは暗黙的なオプトインであるため、永続的なオプトアウトリストは維持されません。独自の電話プールを関連付ける場合、プールのオプトアウトリストが優先されます。

## トラブルシューティング
<a name="notify-send-troubleshooting"></a>

**配信されないメッセージ**  
メッセージが配信されていない場合は、以下を確認します。

1. 送信先の電話番号が E.164 形式であることを確認します ( `+`と国コードで始まります）。

1. 送信先の国が`EnabledCountries`リストに含まれていることを確認します。

1. 設定ステータスが であることを確認します`ACTIVE`。

1. 支出制限を超えていないことを確認します。

**BLOCKED ステータス**  
メッセージは Protect 設定によってブロックされました。一般的な理由には、有効な国リストにない送信先国や、潜在的な AIT (人工的に拡張されたトラフィック) としてフラグ付けされているメッセージなどがあります。

**検証エラー**  
必要なすべての が指定され`TemplateVariables`ていることを確認します。変数値が宣言された型と一致することを確認します (整数は有効な数値など）。テンプレート ID が存在し、アクティブであることを確認します。